A premium, interactive database schema designer built with Vanilla JavaScript, HTML5, and SVG. Drag-and-drop tables, define fields, map relationships visually, and export your diagrams in seconds.
Experience the application live: lighthearted-croquembouche-640a40.netlify.app
- ποΈ Interactive Table Builder: Add database tables, define column names, primary keys, and data types with a simple, clean UI.
- π Visual Relationships: Draw lines between tables with custom SVG-rendered connector lines and directional arrowheads to model primary/foreign key connections.
- πΌοΈ Export to PNG: Render and download your entire relational schema diagram as a high-quality PNG image (powered by
html2canvas). - πΎ Save & Load Workspaces:
- Save your active schema configurations as
.jsonfiles. - Import previously saved workspace
.jsonfiles to instantly resume designing.
- Save your active schema configurations as
- β‘ Lightweight & Offline-First: Built completely using vanilla frontend technologies. No installation or heavy bundle sizesβworks directly in the browser!
- Core: HTML5, CSS3, Vanilla JavaScript (ES6+)
- Graphics: SVG (Scalable Vector Graphics) for dynamic relation line rendering
- Image Generation: html2canvas (loaded via CDN)
relation_schema_maker/
βββ index.html # Main app UI structure and SVG rendering canvas
βββ css/
β βββ style.css # Canvas positioning, table styling, and interactive layout
βββ js/
βββ app.js # Core canvas handling, table creation, relationships, and exports
βββ router.js # Workspace state persistence & internal app logic
Since Relationing Schema Maker is a static web application, there are no build steps or dependencies to install. You can run it directly in your browser.
-
Clone the repository:
git clone git@github.com:Exactly15/relation-schema-maker.git cd relation-schema-maker -
Run it locally:
- Double-click
index.htmlto open it in your browser. - Or, run a simple local server in the folder:
Then navigate to
python3 -m http.server 8000
http://localhost:8000.
- Double-click