Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Aplicación web para llevar el kardex de alimentos y la lista de mercado semanal de las casas de Aldeas Infantiles SOS Colombia. Reemplaza el formato en papel «Movimiento Diario de Alimentos» y los libros de Excel que las colaboradoras mandaban por correo, y le da a la nutricionista una vista de todas las comunidades.檢視完整 README ↗
Aplicación web para llevar el kardex de alimentos y la lista de mercado semanal de las casas de Aldeas Infantiles SOS Colombia. Reemplaza el formato en papel «Movimiento Diario de Alimentos» y los libros de Excel que las colaboradoras mandaban por correo, y le da a la nutricionista una vista de todas las comunidades.
Estado (3 de octubre de 2026): en producción con datos reales, como piloto dentro de una propuesta comercial en curso
con la organización. Lo construye y mantiene una sola persona (Lucho); este documento resume dónde está el proyecto, cómo
correrlo y dónde está cada cosa. El detalle de cada decisión vive en planes/.
Para las colaboradoras de cada comunidad (entran con el PIN de 4 dígitos de su casa):
Para la nutricionista (/admin, contraseña propia con cambio obligatorio y código de recuperación de un solo uso):
ver el kardex de cualquier comunidad (solo lectura), campanita de semanas enviadas, resumen semanal consolidado para el
pedido a proveedores, listas de mercado por comunidad y consolidadas, y respuesta a las notas de cambios.
Para el desarrollador (/dev, sin enlace desde ninguna parte): los errores del navegador agrupados y explicados en
lenguaje natural, con botón «resuelto». Además, alertas por correo y Telegram (Edge Function dev-alert) cuando se acumulan
errores. Es la parte de «vigilancia del servicio» de la propuesta. Lo que falta de este panel (estado de comunidades y acciones
remotas) está en el plan 007.
| Pieza | Detalle |
|---|---|
| App | Next.js 16 (App Router) + React 19 + TypeScript. Sitio 100 % estático (output: "export"): no hay servidor propio. |
| Datos | Supabase (Postgres). La app solo llama a funciones RPC security definer; las tablas están cerradas (RLS) y el rol público solo ejecuta funciones. |
| Sesiones | Un token de 12 h por comunidad (PIN con bcrypt, 5 intentos fallidos = 15 minutos de bloqueo), uno aparte para la nutricionista y otro para el desarrollador: ninguno sirve en las otras pantallas. |
| Exportación | ExcelJS y jsPDF, en el navegador. |
| Seguridad web | public/_headers con la política de contenido; sin rutas de API ni acciones de servidor (lo comprueba una prueba). |
| Hosting | Hoy en Vercel; migración a Cloudflare Pages planeada antes del primer cobro (plan 010). |
Estructura del código:
src/app páginas: / (comunidades), /admin (nutricionista), /dev (desarrollador) y sus hojas de estilo
src/components pantallas y piezas (kardex, lista de mercado, admin, dev, diálogos, avisos)
src/hooks estado y carga de datos de cada pantalla
src/lib lógica pura (saldos, calendario, búsqueda), servicios de Supabase y exportadores
supabase todo el SQL (se corre a mano, en orden) y la Edge Function dev-alert
tests unit, integration, db (SQL en Postgres local) y manual
planes un plan por cambio importante: decisiones, estado y qué tocó
Requisitos: Node 22 y un .env.local con NEXT_PUBLIC_SUPABASE_URL y NEXT_PUBLIC_SUPABASE_ANON_KEY. Los secretos nunca van
en el repositorio (.env* está ignorado).
npm ci
npm run dev # http://localhost:3000
npm run build # exporta el sitio estático a out/
| Comando | Qué corre |
|---|---|
npm test | Pruebas unitarias y de pantalla (sin red). |
npx tsc --noEmit y npm run lint | Tipos y lint (lo mismo que el CI). |
npm run test:db | Los scripts SQL en un Postgres local desechable, con mutaciones para comprobar que las pruebas detectan fallos. |
npm run test:integration | Contra el Supabase real, solo con comunidades ZZZ_TEST_BORRAR_AUTO_*. Algunas son opt-in porque usan las cuentas de la nutricionista o del desarrollador. |
tests/manual/checklist.md | Lista de verificación a mano antes de desplegar. |
El CI de GitHub corre tipos, lint, pruebas unitarias, build y las pruebas SQL en cada push a main. Cómo correr cada tipo y
las precauciones están en tests/README.md.
No hay migraciones automáticas ni copia del esquema de producción: cada cambio es un .sql en supabase/
que se corre a mano en el SQL Editor, en el orden de ese README. Los datos de prueba se borran con
supabase/cleanup_test_data.sql.
/dev. La minuta patrón del ICBF (plan 011) es una
función futura, aplazada a propósito para no complicar el trabajo de las colaboradoras. La corrección de meses anteriores
(plan 013) está en pausa hasta que la gerencia apruebe el proyecto: su SQL ya está en
producción pero con los interruptores apagados, así que no cambia nada de lo que ven las colaboradoras.planes/README.md: índice de planes con su estado y los hallazgos abiertos.supabase/README.md: orden y propósito de cada script SQL.tests/README.md: qué prueba cada archivo y cómo correrlas.CLAUDE.md: reglas de trabajo para el asistente de programación (zonas que requieren aprobación, comandos verificados).