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).