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。 以下为已保存的摘录。
Sistema de Control de Calidad — Arándanos (BH-F-CCA-006) PWA offline-first para la inspección de calidad de producto terminado (P.T.) en clamshell en planta empaquetadora de arándanos. Dos roles: Inspector de campo (captura móvil) y Jefatura de Calidad (dashboard + reportería + sincronización con el Excel maestro). Construido con Next.js 15 (App Router, TypeScript), Tailwind CSS, Supabase (PostgreSQL + RLS + Realtime + Auth), Dexie/IndexedDB (offline), Zustand, Recharts, y export PDF/PNG + Excel.查看完整 README ↗
PWA offline-first para la inspección de calidad de producto terminado (P.T.) en clamshell en planta empaquetadora de arándanos. Dos roles: Inspector de campo (captura móvil) y Jefatura de Calidad (dashboard + reportería + sincronización con el Excel maestro).
Construido con Next.js 15 (App Router, TypeScript), Tailwind CSS, Supabase (PostgreSQL + RLS + Realtime + Auth), Dexie/IndexedDB (offline), Zustand, Recharts, y export PDF/PNG + Excel.
npm install
cp .env.example .env.local # (opcional) completar credenciales de Supabase
npm run dev # http://localhost:3000
Sin credenciales de Supabase la app corre en modo local: todo se guarda en IndexedDB del dispositivo. Ideal para demo y pruebas de campo. Al configurar Supabase, se activa la sincronización en la nube y el tiempo real.
Comandos útiles: npm run build, npm start, npm run typecheck, npm run lint.
supabase/schema.sql.
Crea tablas (muestras, clamshells, profiles, defect_catalog), índices,
políticas RLS, funciones RPC (rendimiento_empacador, rendimiento_semanal)
y activa Realtime.URL y anon key a tu .env.local
(NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY).profiles con
rol = 'inspector' (trigger handle_new_user). Para marcar a alguien como
Jefatura de Calidad:
update public.profiles set rol = 'jefatura'
where id = (select id from auth.users where email = '[email protected]');
NEXT_PUBLIC_SUPABASE_URL/ANON_KEY configurados, /login pasa a ser
obligatorio para entrar (lo aplica src/middleware.ts) y /dashboard queda
restringido a perfiles jefatura — un inspector que intente entrar es
redirigido a /inspector. Sin esas variables, el sistema sigue 100% abierto
y local, como antes.NEXT_PUBLIC_SUPABASE_URL y
NEXT_PUBLIC_SUPABASE_ANON_KEY.Alternativa por CLI:
npm i -g vercel
vercel # primer deploy (preview)
vercel --prod # producción
ME-XXXXX); la cabecera se repite por fila.% = conteo de bayas con defecto / N° de bayas evaluadas
(por clamshell), exactamente como las fórmulas del maestro.Descarte = defectos críticos (cols 39–71) / total bayas;
Aprovechable = defectos leves (cols 27–38) / total bayas;
Cat 1 = 1 − Aprovechable − Descarte.ESTÁNDAR /CLAMSHELL = CUMPLE si NOTA = 15. La app deriva la
NOTA/veredicto desde la hoja Tolerancias (umbrales por categoría + suma ≤ 10%),
y permite que el inspector la ajuste manualmente.src/lib/columns.ts.Base de Datos, ubícate en la primera
celda de datos de una fila nueva y pega con Ctrl+V: cada valor cae en su
columna sin mover encabezados..xlsx con la hoja Base de Datos (124 columnas)
y reproduce las hojas Tolerancias y Control de Cambios.Los porcentajes se exportan como fracción (0–1); las celdas del maestro tienen formato de porcentaje, por lo que se muestran correctamente al pegar.
src/
middleware.ts Protección de rutas (login obligatorio, /dashboard = jefatura)
app/ Rutas (Next App Router)
page.tsx Selector de rol
login/ Login (email + contraseña, Supabase Auth)
inspector/ Lista + captura móvil
reporte/[id]/ Reporte visual + export PDF/PNG
dashboard/ Panel de Jefatura de Calidad
components/
ui/ Primitivos (button, card, input, badge)
inspector/ Captura (contador de defectos, formularios)
report/ Reporte visual 1:1
dashboard/ Gráficos (Recharts)
StatusBar.tsx Estado de conexión/sync + sesión activa (logout)
lib/
defects.ts Catálogo de 45 defectos + tolerancias
columns.ts Mapa exacto de las 124 columnas
calc.ts Motor de cálculo (% , KPIs, CUMPLE/NO CUMPLE)
excel.ts Copiar TSV + export XLSX
db.ts / sync.ts IndexedDB (Dexie) + sincronización Supabase
analytics.ts Agregaciones del dashboard
supabase.ts Cliente de navegador (cookies vía @supabase/ssr)
supabase-middleware.ts Cliente para middleware.ts (Edge)
hooks/
useMuestras.ts Acceso a datos (dexie-react-hooks)
useAuthSync.ts Sincroniza sesión de Supabase Auth → store
supabase/schema.sql Script completo de base de datos
public/ manifest, service worker, íconos PWA
RESIDUOS DE COSECHA, DEFECTOS DE APARIENCIA y OTROS se
fijaron en 5% (inferido del layout de la hoja Tolerancias). Son parametrizables
en src/lib/defects.ts (TOLERANCES)..xlsx original puede sustituirse
xlsx (SheetJS) por exceljs en src/lib/excel.ts; el mapa de columnas ya está
listo para ambos.src/app/providers.tsx).