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
El CRM para conocer mejor a tus clientes, fidelizarlos y hacer que vuelvan. Organizá tu cartera, hacé seguimiento y generá recompra.
Translation pending
BusinessTypeScript · JavaScriptGitHub @gaato96OnlineOwner 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 ↗Plataforma de fidelización post-venta para PYMES. "Vendé más sin conseguir un solo cliente nuevo."
CRM centrado en el cliente existente: base de datos, segmentación automática, recordatorios de cumpleaños y recompra, y campañas por email + WhatsApp manual. Incluye landing pública de conversión.
businessId.env.example a .env y completá DATABASE_URL y DIRECT_URL con la
connection string de tu proyecto Supabase (Connect → ORMs → Prisma).npm install # instala dependencias y genera el cliente Prisma
npm run db:push # crea las tablas en tu base de Supabase
npm run db:seed # carga datos demo (20 clientes)
npm run dev # levanta el servidor en http://localhost:3000
Si el puerto 3000 está ocupado:
PORT=3001 npm run dev.npm run db:resethacedb:push --force-reset+db:seedjuntos (borra y recarga todo).
Cuenta demo (creada por el seed): [email protected] / demo1234.
También podés crear un negocio nuevo desde Registrarse.
| Script | Qué hace |
|---|---|
npm run dev | Servidor de desarrollo |
npm run build | Build de producción (genera Prisma + compila Next) |
npm run db:push | Aplica el esquema Prisma a la base |
npm run db:seed | Carga los datos demo |
npm run db:reset | Reinicia la base y vuelve a sembrar |
app/
page.tsx Landing pública de conversión (CTAs a WhatsApp)
(auth)/ Login y registro (layout con panel de marca, sin sesión)
(app)/ Rutas protegidas (guard de sesión + shell)
dashboard/ Dashboard (KPIs + oportunidades del día)
clientes/ Lista, alta, edición, ficha, importar y exportar CSV
segmentos/ Clientes agrupados automáticamente
recordatorios/ "Hoy tenés que…" (cumpleaños / recompra / reactivar)
campanas/ Generador de envíos + plantillas editables
configuracion/ Datos del negocio y reglas de segmentación
actions.ts Server Actions (crear/editar/compras/config/import)
auth-actions.ts register / login / logout
components/
landing/ Reveal (scroll-in) y tarjeta de fidelidad (signature visual)
... UI reutilizable (shell, tarjetas, formularios)
lib/
auth.ts Hash de contraseña + sesiones en cookie
segmentation.ts Reglas de VIP / frecuente / inactivo / recompra
queries.ts Acceso a datos por negocio (aislado por sesión)
csv.ts Parser CSV + mapeo de columnas + fechas flexibles
build-message.ts Render de plantillas con variables {nombre} {negocio}
messages.ts Links wa.me y mailto (incluye contacto del negocio)
prisma/
schema.prisma Modelo de datos (Business, User, Session, Customer…)
seed.ts Datos demo + usuario demo
next/font/google en app/layout.tsx.app/page.tsx): construida con ui-ux-pro-max
como referencia de sistema de diseño, adaptando la paleta genérica sugerida a
la identidad de marca ya establecida (verde + dorado). Elemento distintivo:
una tarjeta de fidelidad con sellos (components/landing/loyalty-card.tsx).lib/messages.ts → businessWhatsappLink)
para pedir acceso — el alta de negocios es manual/personal, no autoservicio.N) accesible desde
cualquier pantalla: buscá un cliente o cargá uno nuevo y registrá la venta en el
mínimo de clics, sin salir de donde estás. En mobile, un FAB con speed-dial (Nueva
venta / Nuevo cliente / Importar) siempre a mano.wa.me con
mensaje listo) + email (mailto). Plantillas editables por el negocio.La base vive en Supabase (PostgreSQL). La app se conecta con Prisma usando dos
URLs: DATABASE_URL (pooler de transacciones, puerto 6543 — la usa la app en runtime,
ideal para serverless/Vercel) y DIRECT_URL (conexión directa, puerto 5432 — solo para
aplicar el esquema con prisma db push).
El aislamiento entre negocios se aplica hoy a nivel de aplicación (toda consulta
filtra por el businessId de la sesión). Para reforzarlo a nivel de base de datos se
puede activar Row Level Security en las tablas desde el dashboard de Supabase.
Pendiente para siguientes iteraciones:
RESEND_API_KEY).