drawdb/README.md
2025-02-20 13:34:44 -06:00

61 lines
2.3 KiB
Markdown

<div align="center">
<img width="64" alt="drawdb logo" src="./src/assets/icon-dark.png">
<h1>drawDB</h1>
</div>
<h3 align="center">Free, simple, and intuitive database schema editor and SQL generator.</h3>
<div align="center" style="margin-bottom:12px;">
<a href="https://drawdb.app/" style="display: flex; align-items: center;">
<img src="https://img.shields.io/badge/Start%20building-grey" alt="drawDB"/>
</a>
<a href="https://discord.gg/BrjZgNrmR6" style="display: flex; align-items: center;">
<img src="https://img.shields.io/discord/1196658537208758412.svg?label=Join%20the%20Discord&logo=discord" alt="Discord"/>
</a>
<a href="https://x.com/drawDB_" style="display: flex; align-items: center;">
<img src="https://img.shields.io/badge/Follow%20us%20on%20X-blue?logo=X" alt="Follow us on X"/>
</a>
<a href="https://buymeacoffee.com/drawdb" style="display: flex; align-items: center;">
<img src="https://img.shields.io/badge/Support%20us-grey?logo=buymeacoffee" alt="Support us"/>
</a>
</div>
<h3 align="center"><img width="700" style="border-radius:5px;" alt="demo" src="drawdb.png"></h3>
DrawDB is a robust and user-friendly database entity relationship (DBER) editor right in your browser. Build diagrams with a few clicks, export sql scripts, customize your editor, and more without creating an account. See the full set of features [here](https://drawdb.app/).
## Getting Started
### Local Development
```bash
git clone https://github.com/drawdb-io/drawdb
cd drawdb
npm install
npm run dev
```
### Build
```bash
git clone https://github.com/drawdb-io/drawdb
cd drawdb
npm install
npm run build
```
### Docker Build
```bash
docker build -t drawdb .
docker run -p 3000:80 drawdb
```
Set up the [server](https://github.com/drawdb-io/drawdb-server) and environment variables according to `.env.sample` for the survey and bug report forms.
### Issues
The width of the tables is not dynamic, causing the tables to overlap when the atrribute names are too long.
It is not a problem since the configuration allows us to adjust the width of the tables. Therefore, currently
only the width constant was modified. If the user requires the width to be dynamic, it is necessary to implement a
function that calculates the width of the table based on the length of the attribute names.