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
Carta QR, pedidos, sala, cocina, caja, reservas y métricas para restaurantes, bares, cafeterías y heladerías.
Translation pending
BusinessTypeScript · CSSGitHub @JonathanGraubergOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
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 ↗SaaS multi-tenant para restaurantes, bares y restobares (Argentina y España). Dominio: yatay.app. Carta QR, pedidos, sala, cocina/bar, caja, reservas, compras, métricas y Muro. El nombre viene del yatay, la palmera de Entre Ríos (hecho en Paraná).
Roadmap y arquitectura: docs/ROADMAP.md.
Next.js 16 (App Router) · React 19 · Tailwind CSS 4 · Prisma 7 · PostgreSQL · Zod · Vitest
Requisitos: Node 20.9+ (probado con Node 24).
npm install
npm run db:start # Postgres local aislado (prisma dev), no usa ninguna base existente
npm run db:migrate # aplica migraciones
npm run db:seed # carga el local de demo "La Casona"
npx next dev -p 3100 # http://localhost:3100
El puerto 3000 suele estar ocupado por otro proyecto: usamos el 3100. Si cambiás
prisma/schema.prisma, reiniciá el servidor de desarrollo (el cliente de Prisma queda en memoria entre recargas).
Credenciales de prueba: ver el encabezado de prisma/seed.ts.
| URL | Qué es |
|---|---|
/la-casona | Carta pública |
/la-casona/m/<qr> | Carta desde el QR de una mesa (enlaces en Admin → Mesas) |
/login | Panel (dueño, admin, caja) |
/login/pin/la-casona | Personal con PIN (mozo, cocina, bar) |
/platform | Panel de la plataforma (alta de locales y módulos) |
| Script | |
|---|---|
npm test | Tests (incluye aislamiento entre tenants; requiere la base levantada) |
npm run typecheck / npm run lint | Verificación estática |
npm run db:studio | Explorar la base |
npm run db:reset | Borra y recrea la base local |
tenantDb(tenantId) (src/lib/tenant-db.ts), que fuerza el tenantId. El cliente db crudo solo para auth, plataforma y resolución por slug.src/lib/auth/guards.ts); el proxy.ts es solo un chequeo optimista.useFormAction (src/lib/use-form-action.ts) para no perder lo escrito si falla la validación.MockImage / FadedImage), negro en oscuro y blanco en claro.