Synaplan
기업을 위한 오픈소스 AI 플랫폼
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
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).