Skip to content

borkdominik/bigER

Repository files navigation

Logo

BIGER Modeling Tool

GitHub Build Visual Studio Marketplace Installs Visual Studio Marketplace Version Visual Studio Marketplace Last Updated GitHub contributors

Open-source ER modeling tool for VS Code supporting hybrid, textual- and graphical editing, multiple notations, and SQL code generation!
➜ Download the VS Code Extension

Demo

Main features:

  • 📝 Textual Language for the specification of ER models in the textual editor. Assistive validation and rich-text editing support, enabled with the Language Server Protocol, allows to quickly get familiar with the available language constructs.
  • 📊 Diagram View that is fully synchronized with the textual model and automatically updates on changes. Also offers an interactive toolbar with graphical editing actions, layout mechanisms, and multi-notation support.
  • 🖨️ Code Generation to generate SQL tables out of the specified ER models and integrate with existing databases.


📖 Table of Contents

  1. About the Project
  2. Usage
  3. Build Instructions
  4. Issues
  5. Contributing
  6. License
  7. Other Tools

About the Project

Entity-Relationship (ER) modeling is the de-facto standard for data modeling, offering powerful concepts to visualize data in (relational) databases. Various tools for ER modeling are available, however, often they are inflexible, proprietary, or constrained to specific platforms.

The bigER tool aims to provide an open-source and modern solution for ER by making use of the Language Server Protocol (LSP). The protocol is used for communicating textual language features to the VS Code client and is further extended to also support graphical editing, making it one of the first hybrid modeling tools based on the LSP.

Built With

The Java-based language server is realized with Xtext and Xtend, while the diagramming capabilities are based on Sprotty. Sprotty enhances the server with graphical language features (using sprotty-server) and integrates with VS Code through Sprotty VS Code Extensions.

Usage

Download and install the extension from the VS Code Marketplace, see the Installation page in the Wiki for instructions.

New ER Model

After installation, ER models can be created in .erd files. Use the New Sample ER Model command in the Command Palette or refer to the example below to get started with a basic model.

erdiagram Model

notation=default

entity A {
   id key
}
entity B {
   id key
}
relationship Rel {
   A -> B
}

Open the Diagram

The corresponding ER Diagram can be opened by using the button in the editor toolbar, the context menu when right-clicking the file, or by pressing Ctrl/ + O.

Learn More

For more information on how to use the tool, see the bigER Wiki.

Build Instructions

Prerequisites

Download or clone the repository and in the root folder of the project execute the following commands:

language-server/gradlew -p language-server/ build 
yarn --cwd webview  
yarn --cwd extension

After building the project, the extension can be run in VS Code by pressing F5 or selecting Run ➜ Start Debugging from the menu.

Issues

Project issues are managed on GitHub, see Open Issues for the currently tracked issues. Do not hesitate to report a bug or request a feature through the offered Issue Templates. For questions, simply use a blank issue.

Contributing

Contributions to the project are always welcome! See the Contribution Guidelines for more information.

Contributors:

See All Contributors.

If you like our work, please feel free to buy us a coffee ☕️

Logo

License

The project is distributed under the MIT License. See License for more details.

Other Tools

Check out our other modeling tools!

bigUML Logo