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.