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,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Sistema de Gestión de Seguridad
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
RMS + CAD (Computer-Aided Dispatch) policial. Monorepo con tres entregables, todos conectados directo a Supabase (Postgres + Auth + Storage + Realtime); no hay servidor API intermedio. Guía de trabajo para contribuir (comandos, arquitectura y convenciones): ver CLAUDE.md. Diseño completo y roadmap: Arquitectura_Sistema_Central_Policial_SaaS.md. Paso 1 — Crear el proyecto Supabase (gratis) 1. Crear cuenta en supabase.com y un proyecto nuevo (plan gratuito). 2. En el dashboard: SQL Editor → pegar y ejecutar, en este orden, el contenido de cada archivo de supabase/migrations/ (`檢視完整 README ↗
RMS + CAD (Computer-Aided Dispatch) policial. Monorepo con tres entregables, todos conectados directo a Supabase (Postgres + Auth + Storage + Realtime); no hay servidor API intermedio.
| Componente | Carpeta | Stack | Despliegue |
|---|---|---|---|
| Web (despacho/registros) | frontend/ | Next.js 14 (App Router, TS) | Vercel (proyecto scp, Root = frontend; push a main = deploy) |
| Móvil (oficial en campo) | mobile/ | Expo SDK 54 / RN 0.81 | EAS (APK Android) |
| Backend | supabase/ | Postgres (migraciones 0001–0041) + Edge Functions (Deno) | Supabase (ref rdyjjfbehjfggpldmmur) |
Guía de trabajo para contribuir (comandos, arquitectura y convenciones): ver
CLAUDE.md. Diseño completo y roadmap:Arquitectura_Sistema_Central_Policial_SaaS.md.
sistema-central-policial/
├── supabase/
│ ├── migrations/ 0001…0041 — se corren MANUALMENTE en orden en el SQL Editor
│ │ (core, bitácora, WORM, RLS, casos, personal, órdenes, fotos,
│ │ evidencias, asuntos internos, CAD/barandilla, foliador, equipo,
│ │ admin, incidentes, tareas, transmisiones, bodycam, cierre/historial CAD…)
│ ├── functions/ Edge Functions (Deno): crear_usuario, copiloto, enviar_push,
│ │ indexar-ia, buscar-ia
│ └── seed.sql Datos de prueba (opcional)
├── frontend/ Next.js 14 (App Router) — web de despacho/registros
│ ├── app/ rutas + components/ (AppShell, ListaMaestra, VinculosPanel…)
│ ├── lib/ supabaseClient, types, config, geo (LocationIQ), turn (WebRTC)
│ └── .env.example
└── mobile/ Expo / React Native — app del oficial en campo
├── src/screens/ · src/lib/ · src/components/ · modules/bodycamhd (módulo nativo Android)
└── app.json · eas.json
supabase/migrations/ (0001 … 0041). Las migraciones se aplican manualmente (no se auto-corren). Al agregar esquema, crear el siguiente archivo numerado y correrlo.trg_crear_perfil_nuevo_usuario le genera automáticamente un perfil con rol oficial en usuarios_perfil. Para hacerlo administrador, editar esa fila manualmente desde Table Editor la primera vez.Project URL y la anon public key.Importante sobre el plan gratuito: el proyecto se pausa automáticamente tras 7 días sin uso — hay que reactivarlo desde el dashboard antes de una demo si estuvo inactivo.
cd frontend
cp .env.example .env.local
# editar .env.local con la URL y anon key del paso 1
npm install
npm run dev # servidor de desarrollo en el puerto 3100
Abrir http://localhost:3100, iniciar sesión con el usuario creado en el paso 1, y
probar cualquier módulo (p. ej. Personas): agregar un registro, cancelarlo (nota que
desaparece de la vista normal pero sigue en la tabla con estatus "cancelado") y crear
un vínculo. Verificación real = npm run build (atrapa errores que tsc no ve,
como useSearchParams sin <Suspense>).
App móvil (
mobile/):npx tsc --noEmitpara typecheck ynpx eas-cli build --profile preview --platform androidpara el APK. Las dependencias nativas (WebRTC, push, bodycam) no funcionan en Expo Go — requieren un build de EAS.
Desde el Table Editor de Supabase, abrir la tabla bitacora después de usar el frontend. Deberías ver un registro por cada alta, modificación, cancelación y consulta, con usuario_id (resuelto automáticamente por Supabase Auth), ip_address y computadora_id.
Sobre computadora_id: en esta demo se genera un identificador provisional en el navegador (ver lib/deviceId.ts), marcado explícitamente como no confiable para fines legales. El reemplazo por un catálogo de dispositivos registrados por TI (la opción recomendada en el documento de arquitectura) es un paso pendiente antes de producción.
Sobre ip_address: la función de bitácora la lee de los headers de la petición HTTP (request.headers expuesto por PostgREST). Esto hay que confirmarlo con el proyecto Supabase real — la disponibilidad exacta de headers puede variar; si ip_address llega vacío en las pruebas, es la primera cosa a ajustar en 0002_bitacora.sql.
Cuando llegue el momento de instalar en el servidor de una agencia (en vez de usar Supabase Cloud), el mismo esquema SQL y el mismo frontend se despliegan contra una instancia de Supabase auto-hospedado (Docker Compose, open source): ver la sección 2 del documento de arquitectura. No hace falta reescribir nada — solo cambia dónde vive la infraestructura.
/incidentes): informe de incidente levantado a partir de un reporte de CAD (hereda su ubicación), con estado, narrativa, mapa, fotos, vínculos y novedades (append-only). Es la base que consumirá la app móvil del policía.mobile/: rediseño "Consola de Operaciones" con Inicio (8 indicadores), Perfil (Mi elemento / Mi unidad / Mi bodycam / accesos / Recordatorios de turno), consulta rápida, Mis incidentes, Tareas asignadas (con respuestas), informe de incidente / accidente / abordamiento con fotos, mapa (Leaflet en WebView), estatus de unidad, Enviar Alerta (pánico) y push de despachos/tareas./bitacora) para supervisor/administrador: consulta con filtros (acción, módulo) de todo el registro de auditoría, con resolución de nombre de usuario./equipo): inventario de armas, radios, bodycams, patrullas y motos, asignable a personal, con fotos.AAAA + II + NNNNNN (año + iniciales del módulo + consecutivo de 6 dígitos, reinicio anual). Se administra en /admin (solo administrador): iniciales por módulo y ajuste de consecutivos./admin): gestión de los foliadores y de usuarios y roles (/admin/usuarios) — el administrador asigna rol (oficial/supervisor/investigador/asuntos_internos/administrador) y activa/desactiva usuarios, con guard anti-autobloqueo.request.headers expone IP y el header de dispositivo; resolver computadora_id con un catálogo de dispositivos registrados por TI.asuntos_internosadministradorapp/components/VinculosPanel.tsx).videos + custodia); señalización por Realtime, TURN Metered; el smartphone se valida/vincula como bodycam tipo Smartphone.enviar_push.indexar-ia / buscar-ia / copiloto.