Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Más que clientes, fanáticos. Programa de fidelización de Ciocolatto: PWA de cliente (puntos, niveles, misiones, premios, QR, referidos), panel de mostrador para empleados, y panel administrativo completo (clientes, niveles, misiones, premios, promociones, canjes, auditoría, configuración). Construido como producto real, no como demo.查看完整 README ↗
Más que clientes, fanáticos.
Programa de fidelización de Ciocolatto: PWA de cliente (puntos, niveles, misiones, premios, QR, referidos), panel de mostrador para empleados, y panel administrativo completo (clientes, niveles, misiones, premios, promociones, canjes, auditoría, configuración). Construido como producto real, no como demo.
npm install
cp .env.example .env # completar valores, especialmente SEED_* y AUTH_SECRET
docker compose up -d # Postgres local en el puerto 5435
npx prisma migrate dev
npm run db:seed
npm run dev
La app queda en http://localhost:3000 (o el próximo puerto libre si el 3000
está ocupado).
Definidas por las variables SEED_* de tu .env — nunca reutilizar estos
valores en producción:
| Rol | Password (definir en .env) | |
|---|---|---|
| Super Admin | SEED_ADMIN_EMAIL | SEED_ADMIN_PASSWORD |
| Empleado | SEED_EMPLOYEE_EMAIL | SEED_EMPLOYEE_PASSWORD |
| Cliente demo (320 pts, nivel Fan) | SEED_CUSTOMER_EMAIL | SEED_CUSTOMER_PASSWORD |
Ver .env.example — están todas documentadas ahí. Las
imprescindibles para levantar el proyecto: DATABASE_URL, AUTH_SECRET,
NEXT_PUBLIC_APP_URL, SEED_*.
npm run dev # servidor de desarrollo (Turbopack)
npm run build # build de producción
npm run start # servir el build
npm run lint # ESLint
npm run typecheck # tsc --noEmit
npm run test # Vitest (requiere Postgres local corriendo — ver nota abajo)
npm run db:seed # ejecuta prisma/seed.ts
npm run testLos tests son de integración: corren contra el mismo Postgres de desarrollo
(docker compose up -d), ejercitando la capa de servicios real (no mocks de
Prisma) porque la lógica crítica (ledger de puntos, canjes, misiones,
referidos) vive en transacciones reales. Cada test crea y borra sus propios
usuarios de prueba. Para un setup más estricto, lo siguiente sería apuntar
DATABASE_URL a una base de datos de test separada — no implementado todavía
por alcance, ver docs/database.md.
npx prisma migrate dev --name <descripcion> # nueva migración en desarrollo
npx prisma migrate deploy # aplicar migraciones en producción
npx prisma studio # explorar la base de datos
prisma/ schema, migraciones, seed
src/
app/ rutas (App Router)
(auth)/ login, registro
(customer)/ inicio, misiones, qr, canjear, perfil — PWA del cliente
admin/ panel administrativo
empleado/ panel de mostrador
api/ route handlers (NextAuth, integración POS, QR)
actions/ Server Actions (capa de entrada — valida y delega a services)
server/
services/ lógica de negocio (el "motor de reglas")
repositories/ (reservado — hoy el acceso a datos vive en services vía Prisma directo)
schemas/ esquemas Zod
components/
ui/ primitivos shadcn/ui
customer/ employee/ admin/ shared/ componentes por área
lib/ Prisma client, auth, RBAC, utilidades
hooks/ hooks de React reutilizables
types/ tipos compartidos
tests/ Vitest — lógica crítica (puntos, canjes, misiones, referidos, niveles)
docs/ arquitectura, base de datos, sistema de fidelización, API
CUSTOMER · EMPLOYEE · ADMIN · SUPER_ADMIN — ver docs/architecture.md.
Pensado para Vercel (frontend + backend) + Postgres administrado
(Neon, Supabase o Railway funcionan sin cambios — el adapter es pg
estándar). Pasos:
DATABASE_URL/DIRECT_URL en Vercel..env.example en Vercel.npx prisma migrate deploy contra la base de producción.npm run db:seed una sola vez, con contraseñas fuertes y propias (no
las de desarrollo) para crear el primer Super Admin.vercel deploy --prod o vía Git)..vercelignore ya excluye .env* para evitar que un .env local termine
subido al deploy (ver incidente documentado en memoria del proyecto).
La arquitectura ya expone /api/integrations/{orders,customers,refunds}
autenticados por API key + idempotencia, listos para que el POS de Ciocolatto
se conecte sin reescribir nada del lado de la app. Ver
docs/api.md.