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