Describe your app in plain language and Namines generates a normalized schema, renders it on an interactive canvas, and produces production‑ready DDL, EF Core models, migrations, mock data, documentation and more — across six database engines.
English · Türkçe
- Overview
- Screenshots
- Features
- Tech stack
- Project structure
- Getting started
- AI token model
- Security
- License
Namines turns an idea into a working data model. Type “an e‑commerce store with users, products, orders and order items” (or dictate it, or drop a screenshot of an existing ERD) and Namines:
- Generates a normalized 3NF schema with primary/foreign keys and relations.
- Renders it on an interactive canvas you can edit collaboratively in real time.
- Compiles it into DDL, EF Core, migrations, mock data, diagrams and docs for the engine of your choice — and can even spin up a throwaway database in Docker.
Everything runs against a .NET 8 API with pluggable AI providers (Groq, Gemini, Ollama, or your own key), while a Next.js front‑end delivers the canvas, panels and live collaboration.
| Interactive canvas | DDL generation |
|---|---|
![]() |
![]() |
| Cloud sign‑in | Landing |
|---|---|
![]() |
![]() |
- Schema generation from natural language, a reference URL, or an image (vision).
- Voice input — dictate your prompt (Whisper).
- AI DBA advisor — a schema health score with prioritized, explained issues.
- Smart Seed — domain‑aware mock/test data.
- Reverse engineering — turn an existing
DbContextback into a visual schema.
- Interactive canvas (React Flow) — drag‑and‑drop tables, columns and relations.
- ⌘K command palette — jump to any action from the keyboard.
- Undo / Redo — Ctrl+Z / Ctrl+Shift+Z with a 50‑snapshot history stack.
- Canvas search — Ctrl+F to find and zoom to any table or column.
- Schema templates — 5 pre‑built starter schemas (e‑commerce, SaaS, CRM, blog, healthcare); merge into or replace the current schema.
- Real‑time collaboration — shareable rooms with live cursors and schema sync (SignalR).
- Version control — branches and a per‑workspace migration baseline.
- Multi‑engine DDL — SQL Server, PostgreSQL, MySQL, MariaDB, SQLite, Oracle.
- EF Core models & a guided migration wizard (diff + preview).
- Prisma schema export — generate a ready‑to‑use
.prismafile with relations and type mapping. - SQL DDL import — paste or upload a
.sqlfile;CREATE TABLE,ALTER TABLE ADD/DROP COLUMN, andALTER TABLE ADD FOREIGN KEYare all parsed. - In‑browser SQL console — run the generated DDL locally via SQLite (WASM).
- Docker sandbox — provision a throwaway DB container and download a backup
(
.bakfor SQL Server,.sqldump for PostgreSQL/MySQL). - Developer package — export a ready‑to‑run Streamlit admin app (ZIP).
- Docs & diagrams — Data Dictionary PDF, README.md, Mermaid ER/class/flow (TR/EN).
- Schema diff (
scripts/namines-diff.mjs) — dependency‑free Markdown diff report between two schema JSON files; detects added/dropped tables, columns, and relations; exits 2 on destructive changes so CI can gate merges.
- Accounts & cloud sync — JWT over an httpOnly cookie; projects saved to the cloud (branches are kept locally, per device).
- Fair AI usage — a shared daily token pool with a per‑user cap; on exhaustion, supported features fall back to a free local engine instead of blocking.
- Pro plan — optional paid tier via Stripe Hosted Checkout (price configured in Stripe).
- Feedback widget — built‑in bug/idea reporting (homepage only, English).
| Layer | Stack |
|---|---|
| Frontend | Next.js 16, React 19, TypeScript, Zustand, React Flow, Tailwind CSS |
| Backend | .NET 8, ASP.NET Core, EF Core (SQLite), SignalR, Serilog |
| AI | Groq (Llama 3.3 70B / GPT‑OSS 120B / Llama 4 Scout), Google Gemini, Ollama, OpenAI (BYOK), Whisper |
| Infra | Docker / docker‑compose, Stripe |
backend/
Namines.API/ ASP.NET Core Web API (controllers, middleware, SignalR hub)
Namines.Core/ Domain models, prompt builders, interfaces
Namines.Infrastructure/ AI services, DDL generators, EF Core, data access
frontend/ Next.js app (canvas, compile, panels, stores, hooks)
docker-compose.yml Backend + frontend containers
- .NET 8 SDK and Node.js 20+
- A free Groq API key
- (Optional) Docker Desktop — only needed for the Docker sandbox feature
All secrets live in a single git‑ignored .env at the repo root:
cp .env.example .envFill in at least Jwt__Key (32+ chars) and Groq__ApiKey. The __ separator maps to .NET config
(Jwt__Key → Jwt:Key); the backend auto‑loads .env on startup.
cd backend/Namines.API
dotnet run
# → http://localhost:5000 (Swagger at /swagger)cd frontend
npm install
npm run dev
# → http://localhost:3000docker compose up --buildProduction uses separate env files — not the local .env:
| Target | Template | Notes |
|---|---|---|
| Backend (Railway / Render / Fly / VPS) | deploy/backend.env.example |
Jwt__Key, Groq__ApiKey, App__FrontendUrl are required |
| Frontend (Vercel) | deploy/frontend.env.example |
Only NEXT_PUBLIC_API_URL — baked in at build time |
Three settings decide whether a deploy works:
App__FrontendUrlmust equal the frontend's exact origin — in Production, localhost is not auto‑allowed, so a wrong value blocks every browser request via CORS.Auth__CrossSiteCookie=truewhen frontend and API are on different sites (e.g. Vercel + Railway). Otherwise the browser drops the auth cookie and login silently never sticks.NEXT_PUBLIC_API_URLmust not end in/api— the client appends it.
Persist /app/data (the SQLite volume) or every account is wiped on redeploy.
Namines meters premium AI usage against a shared daily token pool, so a single user can’t drain it — without pre‑allocating tokens to dormant accounts:
AiPool:DailyTokenPool— shared daily budget (default 100 000, ≈ Groq free‑tier daily tokens).AiPool:PerUserDailyTokens— per‑user daily cap (default 20 000).- Consumption is charged on demand; when the pool or a user’s cap is exhausted, supported features (docs, mock data, dev package, reverse engineering) transparently fall back to the free local engine rather than erroring out.
Raise the pool at any time (e.g. to 1000000) in appsettings.json — no code changes needed.
- Secrets are never committed — a single git‑ignored
.envis the source of truth. - JWT is stored in an httpOnly cookie (not
localStorage), mitigating token theft via XSS. - BYOK API keys are encrypted at rest with AES‑256‑GCM (non‑extractable Web Crypto key).
- SSRF guards on server‑side URL fetching and DB connection targets, rate limiting on sensitive endpoints, and prompt‑injection hardening on AI prompts.
Released under the MIT License.



