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
Data Science Society cabinet portal
Translation pending
BusinessGitHub @imgmdinOnlineOwner 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.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Monorepo with two independently deployable Next.js apps:
| Folder | Purpose | Vercel Root Directory | Local dev port |
|---|---|---|---|
private/ | Internal dashboard | private | 3000 |
public/ | Member-facing page | public | 3001 |
Each app has its own package.json, lockfile and node_modules, so each Vercel
project only installs and builds its own folder.
npm run install:all # install deps for both apps
npm run dev:private # http://localhost:3000
npm run dev:public # http://localhost:3001
Create two Vercel projects from this repository and set Settings → Build and
Deployment → Root Directory to private for one and public for the other.
Framework preset: Next.js (auto-detected).
Certificates are designed in the private dashboard (Certificates page) and downloaded by members from the public site.
private/.env.local and public/.env.local:
DATABASE_URL=postgresql://...
(on Vercel, set DATABASE_URL on both projects; optionally set
NEXT_PUBLIC_PUBLIC_SITE_URL on the private project to the public site's URL).npm --prefix private run db:migrate.Flow: dashboard → pick one of the 12 designs, edit title/wording/signatories,
publish → public / lists published certificates → /c/<slug> lets a visitor
type their name and download a PDF or PNG (rendered in the browser). Each
download increments a counter shown in the dashboard.
private/lib/certificate/ and public/lib/certificate/ are copies of the same
renderer; keep them in sync when changing a template.
Set DASHBOARD_PASSWORD on the private project (Vercel → Settings → Environment
Variables) and redeploy. Every page and /api/* route then requires signing in at
/login. With it unset the dashboard is open, which is fine for local development but
means anyone with the URL can read registrations and change data. Changing the password
signs everyone out.
| Variable | Project | Purpose |
|---|---|---|
DATABASE_URL | both | Neon connection string |
NEXT_PUBLIC_PUBLIC_SITE_URL | private | Public site address, used for dashboard links and the check-in QR code. Build-time: redeploy after changing it. |
DASHBOARD_PASSWORD | private | Enables the sign-in gate |