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
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
The workspace MINT's customers sign in to: organizations, projects, models and
their records, pages, sidebar, dashboard, media, public API, websites, widgets,
payments, webhooks, team and roles.
It started as a copy of the super-admin panel (aiasifistiaque/mint-admin),
which used to serve both panels from one app (NEXT_PUBLIC_PANEL=tenant). Since
2026-10-07 the tenant panel is its own repo:Read the full README ↗The workspace MINT's customers sign in to: organizations, projects, models and their records, pages, sidebar, dashboard, media, public API, websites, widgets, payments, webhooks, team and roles.
It started as a copy of the super-admin panel (aiasifistiaque/mint-admin),
which used to serve both panels from one app (NEXT_PUBLIC_PANEL=tenant). Since
2026-10-07 the tenant panel is its own repo:
IS_TENANT_PANEL is always true (src/components/library/config/lib/constants/panel.ts);aiasifistiaque/mint-website) — see Look below.The plan, decisions and work orders for the tenant platform live in the backend
repo: backend/docs/multi-tenancy/ (WORK_ORDERS.md → WO-45, WO-46).
cp .env.example .env.local # point NEXT_PUBLIC_BACKEND at <backend>/tenant/api
npm install
npm run dev # http://localhost:3500
npm run build must pass before a push (Turbopack scope hoisting stays off —
see next.config.mjs).
| Variable | Value |
|---|---|
NEXT_PUBLIC_BACKEND | https://<api>/tenant/api |
NEXT_PUBLIC_URL | this panel's own address |
NEXT_PUBLIC_SIDEBAR_TYPE | server |
NEXT_PUBLIC_DOCS_URL | https://docs.mintapp.shop (default) |
NEXT_PUBLIC_SITES_URL | the site renderer, for website previews |
/ — the public landing page (src/app/_landing); /auth/* — sign in, sign up, 2FA, invitations./dashboard — the organization's home; /projects, /org/*, /settings — organization and account./<project>/<page> — inside a project (src/proxy.ts rewrites onto the app's pages):
/acme-store → /dashboard, /acme-store/clients → /t/clients,
/acme-store/clients/<id> → /view/clients/<id>. Build links with projectHref() / pagePath().mint-docs); /docs/* links go there through docsPath().The panel wears the marketing website's style (mint-webpage src/app/globals.css,
src/lib/tones.ts). The components are the admin's; only the styling differs:
src/theme/palettes.ts, id default, named MINT) and is painted into the
tokens themselves (colors.theme.ts, index.ts, mapping in roles.ts), so first paint is
right. Accounts can still pick another colour theme (applyTheme.ts).src/app/layout.tsx); h1–h3 uppercase and extra-light; weights 500–800 are tokens one
step lighter (no semibold or bold); field labels and table headers in mono spaced capitals.src/theme/recipes.ts, radius in constants.tsx).src/theme/tones.ts): one per sidebar section (its
icon and the current page's dot), project kinds on glyph tiles, dashboard chart series.
The MINT mark and the organization's name in spaced capitals top the sidebar.Keep it in step with the website: when its palette, tones or type change, change
palettes.ts (default theme), tones.ts and AuthFrame.tsx here too.
Tabs and single quotes (there is no Prettier config — don't run a bare prettier).
Chakra tokens, not hex, outside theme/; the cl Dropdown for selects; PromptDialog
for confirms; ModalFooter in every dialog; no backdrop blur on modals.