Alberto Arena 42e2bcf5e9 test: add round-trip tests and CI workflow
Add the Phase 4 import -> render -> import round-trip: for each of the six
dialects, parse a CREATE TABLE + foreign key schema into a model, render it
back to DDL, parse the rendered DDL again, and assert the two models are
equal. Comparison is on a normalized model (table and column names, resolved
type names, key/constraint flags, relationships), not raw SQL, since
formatting and identifier quoting legitimately differ. A small in-memory
adapter assembles the DatabaseType the renderer consumes from the importer
output, which the app normally reconstructs via the database.

Primary keys are canonicalized to non-nullable in the comparison: SQL Server
emits its primary key as a table-level constraint and the importer only
forces NOT NULL for inline primary keys, so the flag would otherwise differ
on the round trip although the schemas are equivalent.

Add a GitHub Actions workflow running npm ci + npm test on pushes to main
and on pull requests. Typecheck and lint are intentionally left out for now:
the current codebase does not pass a strict project typecheck or a clean
lint, so gating on them would fail CI on pre-existing, unrelated issues.
2026-08-05 08:13:50 +02:00
2026-06-10 18:09:54 +01:00
2025-05-04 19:17:04 +01:00
2025-05-04 19:17:04 +01:00
2025-08-19 20:25:52 +01:00
2025-05-04 19:17:04 +01:00
2025-08-15 17:27:42 +01:00
2025-05-04 19:17:04 +01:00
2026-06-10 21:43:46 +01:00

App Screenshot

Start Building! Discord community channel

Welcome to StackRender

StackRender was born from the need to automate backend development, covering everything from the database to the final API endpoint. Our first step toward this long-term vision is to provide a next-generation, free, open-source database schema diagram generator.

StackRender helps you go from specifications to a fully functional, production-ready database that can be exported in your preferred SQL dialect: MySQL, PostgreSQL, MariaDB, SQLite, Oracle, or SQL Server.

Main features

  • Interactive Diagram UI Visually design and manage your database schemas with an intuitive drag-and-drop interface.
  • In-Depth Tables & Columns Control Fully customize tables, columns, types, and constraints.
  • Index Suggestions Receive recommendations to optimize database performance.
  • Import / Export SQL DDL Easily import existing schemas or export your design as SQL scripts.
  • Foreign Key Cycle Detection Identify and resolve circular dependencies in relationships.
  • AI-Powered Database Assistant (Cloud version) Generate database diagrams from specifications and perform additional operations such as schema enrichment, soft-delete implementation, and automatic documentation generation.

Status

StackRender is currently in Public Beta. Star and watch this repository to get notified of updates.

Supported Databases

  • PostgreSQL
  • MySQL
  • MariaDB
  • SQLite
  • Oracle
  • SQL Server (MSSQL)

Get Started

Use the cloud version or deploy locally to start designing your database schemas in minutes.

How to Use Locally

The easiest way to run StackRender locally is using Docker:

# Build and run using Docker Compose
docker compose up

# Or build and run using Docker directly
docker build -t stackrender .
docker run -p 8080:80 stackrender

Then visit http://localhost:8080 in your browser.

Using Node.js

Install dependencies and start the development server:

npm install
npm run dev

Then visit http://localhost:3000 in your browser.

How to Build

Install dependencies and create a production build:

npm install
npm run build

Try Using It in the Cloud

  1. Visit StackRender.io
  2. Click "Launch the Web App"
  3. Pick your database
  4. Import an existing database or leverage StackRender AI to create an initial database blueprint
  5. Enjoy editing and viewing your database
  6. Export your Database SQL DDL and run it!

🤝 Community

  • Docs Explore the StackRender docs to learn more about its features.
  • Discord Live discussions about upcoming releases and the future of StackRender.
  • GitHub Issues Report bugs and errors to help us improve your experience.
  • X (Twitter) Get the latest StackRender news and updates.

🤲 Contributing

We welcome all contributions, whether small bug fixes or major feature additions.

Every contribution helps make StackRender better, thank you for being part of the journey! ❤️

📜 License

StackRender is licensed under the GNU Affero General Public License v3.0 (AGPLv3).

The next era of database engineering starts now.

   _____ _             _    _____                _           
  / ____| |           | |  |  __ \              | |          
 | (___ | |_ __ _  ___| | _| |__) |___ _ __   __| | ___ _ __ 
  \___ \| __/ _` |/ __| |/ /  _  // _ \ '_ \ / _` |/ _ \ '__|
  ____) | || (_| | (__|   <| | \ \  __/ | | | (_| |  __/ |   
 |_____/ \__\__,_|\___|_|\_\_|  \_\___|_| |_|\__,_|\___|_|                                                         
S
Description
Languages
TypeScript 98.7%
CSS 1%
HTML 0.2%