https://github.com/nestorrente/erdiagram
Entity-Relationship diagram code generator library
https://github.com/nestorrente/erdiagram
diagram entity erdiagram generation java javascript js mysql nomnoml oracle oracledb plantuml postgres postgresql relationship sql sqlite sqlserver ts typescript
Last synced: 14 days ago
JSON representation
Entity-Relationship diagram code generator library
- Host: GitHub
- URL: https://github.com/nestorrente/erdiagram
- Owner: nestorrente
- License: mit
- Created: 2021-01-26T17:46:40.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-09-12T09:00:23.000Z (7 months ago)
- Last Synced: 2024-11-15T12:00:37.605Z (5 months ago)
- Topics: diagram, entity, erdiagram, generation, java, javascript, js, mysql, nomnoml, oracle, oracledb, plantuml, postgres, postgresql, relationship, sql, sqlite, sqlserver, ts, typescript
- Language: TypeScript
- Homepage:
- Size: 4.01 MB
- Stars: 49
- Watchers: 5
- Forks: 14
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# ERDiagram
> Define an _entity-relationship diagram_, then generate the database creation script, OOP classes, and much more!
[](https://opensource.org/licenses/MIT)
[](CODE_OF_CONDUCT.md)[comment]: <> ([](https://www.npmjs.com/package/@nestorrente/erdiagram))



## Table of contents
* [Live demo & CLI](#live-demo--cli)
* [Installation](#installation)
+ [Installation steps for users](#installation-steps-for-users)
+ [Installation steps for contributors](#installation-steps-for-contributors)
* [Documentation](#documentation)
* [Contributing](#contributing)
+ [Wish list](#wish-list)## Live demo & CLI
You can try _ERDiagram_ online using the [ERDiagram playground](http://erdiagram.nestorrente.com/) application. There
you will find some code examples that are very useful for learning the _ERDiagram_ language.There is also a _work-in-progress_ [CLI version of _ERDiagram_](https://github.com/nestorrente/erdiagram-cli). Check it
out! 🙂## Installation
### Installation steps for users
You can find the installation steps of the library in the
[Library usage](docs/Library_usage.md#installation) document.### Installation steps for contributors
#### Download the project
1. Clone the repository
```shell
git clone https://github.com/nestorrente/erdiagram.git
```2. Access to the project's directory
```shell
cd erdiagram
```3. Install dependencies
```shell
npm install
```#### Run tests and build
For running the tests and generating the badges for the README file, you can use the following command:
```shell
npm run test
```For building the library, you can use the following command:
```shell
npm run build
```## Documentation
* **[ERDiagram language](docs/ERDiagram_language.md)**: learn how to define entities and relationships.
* **[ERDiagram library](docs/Library_usage.md)**: installation, basic concepts, configuration and examples.* Entity-relationship model conversion:
* **[Database model](docs/Database_model.md)**: learn how entities and relationships are modeled as tables and columns.
* **[Class model](docs/Class_model.md)**: learn how entities and relationships are modeled as OOP classes.* Supported output formats:
* Database creation script (SQL):
* MySQL
* Oracle DB
* PostgreSQL
* SQLite
* SQL Server
* OOP classes/interfaces:
* Java (includes Bean Validation and JPA support)
* TypeScript
* Diagram code:
* PlantUML
* Nomnoml## Contributing
This is a side project I'm working on during my spare time, so I'd be very happy if you want to contribute 😀
bug report, suggestions, pull requests, or any other kind of feedback are really appreciated.Please contribute using [GitHub Flow](https://guides.github.com/introduction/flow). Create a branch from the `develop`
one, add commits, and [open a pull request](https://github.com/nestorrente/erdiagram/compare).Please note we have a [code of conduct](CODE_OF_CONDUCT.md), please follow it in all your interactions with the project.
If you want to get in touch with the author, you can contact me through
[LinkedIn](https://www.linkedin.com/in/nestorpglez/) or [email](mailto:[email protected]).### Wish list
This is a small list of features/tools that I'll be very happy to have:
* More database engines support.
* More OOP languages support.
* ERDiagram language syntax highlight support for popular text editors or IDEs (Sublime Text, Jetbrains, VS Code, ...).
* XSD / JSON schema generation.
* Liquibase files generation.
* Any other cool stuff 😛