Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
Unified ERP + CRM + Engineering + Inventory + Procurement + Projects + Finance
Translation pending
BusinessGitHub @kishore-xOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
Paravalves valve-manufacturing ERP
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Unified ERP + CRM + Engineering + Inventory + Procurement + Projects + Finance for Paravalves. One relational source of truth from website inquiry through to project closure — no parallel Excel.
See BUILD_PLAN.md for the full architecture and phased specification.
| Layer | Technology |
|---|---|
| App | Next.js 15 (App Router) · React 19 · TypeScript (strict) |
| Database | PostgreSQL 16 (hand-written SQL migrations) |
| DB access | pg with a typed query/transaction helper |
| Auth | Custom session auth (scrypt + server-side sessions, HttpOnly cookie) |
| Authorization | Permission codes + roles, enforced server-side, org-scoped |
| Money | decimal.js (never floats); server recomputes all totals |
| Validation | Zod |
| Styling | Tailwind CSS + hand-built component primitives |
| Tests | Vitest |
| Dev DB | Docker Compose Postgres on port 55432 |
npm install
npm run db:up # start Postgres (docker) on :55432
npm run db:migrate # apply schema
npm run db:seed # roles, permissions, orgs, admin user, sample data
npm run dev # http://localhost:3000
Login:
[email protected] / admin123 — Super Admin (India + Spain)[email protected] / sales123 — Sales (India)| Command | Purpose |
|---|---|
npm run dev | Dev server |
npm run build / npm start | Production build / serve |
npm run typecheck | tsc --noEmit |
npm run lint | ESLint |
npm run test | Vitest unit tests |
npm run db:migrate / db:seed / db:reset | Database lifecycle |
POST /api/public/inquiry, hardened (shared secret, rate limit, honeypot, duplicate detection) → lead → assignment → follow-up task → notification.DRAFT→…→RELEASED approval; releasing a drawing clears the order's engineering gate.Concurrency-safe, per-org, per-year: LEAD-2026-000001, SO-2026-000012, INV-2026-000003, etc.
Generated by a single atomic upsert so two users can never receive the same number.
audit_logs and stock_movements are append-only at the database level (triggers / insert-only).version column) prevents silent overwrites → 409 CONFLICT.next.config.mjs; secrets only in .env (gitignored).Copy .env.example to .env. .env is generated with fresh secrets on first setup.
Key vars: DATABASE_URL, SESSION_SECRET, WEBSITE_INQUIRY_API_KEY, MAIL_DRIVER.