Custodiam¶
Custodiam es un sistema multiplataforma de gestión para agrupaciones de Protección Civil. Cubre el ciclo operativo completo: voluntarios, servicios, fichaje, inventario y notificaciones de emergencia.
Estado del proyecto
El proyecto está en desarrollo activo durante el curso académico 2025-2026 como Trabajo de Fin de Grado del ciclo DAM (Salesianos Zaragoza). El cliente piloto es Protección Civil Bajo Gállego. Licencia AGPL-3.0.
Qué incluye¶
- App móvil y web (Flutter) para voluntarios y mandos: ver servicios, marcar disponibilidad, fichar entradas y salidas, consultar material asignado, recibir alertas push de emergencia.
- Backend API (FastAPI + PostgreSQL) que orquesta autenticación con Keycloak, RBAC con 12 roles jerárquicos y 40 permisos, y gestión del modelo de datos.
- Infraestructura local y de producción (Docker Compose, Cloudflare Tunnel) reproducible en cualquier máquina con un solo comando.
- Notificaciones redundantes: Firebase Cloud Messaging como canal principal + ntfy como backup.
Por dónde empezar¶
-
:material-rocket-launch: Empezar
Cómo levantar el stack completo en local en minutos.
-
:material-sitemap: Arquitectura
Visión general del polyrepo, stack técnico y decisiones de diseño.
-
:material-history: ADRs
Registro de decisiones arquitectónicas tomadas durante el desarrollo.
-
:material-handshake: Contribuir
Cómo aportar al proyecto, código de conducta y proceso de pull request.
Repositorios del proyecto¶
| Repo | Tecnología | Descripción |
|---|---|---|
| custodiam-app | Flutter (Android + iOS + Web) | App cliente para voluntarios y mandos |
| custodiam-api | FastAPI + SQLModel + PostgreSQL | Backend REST con auth Keycloak + RBAC |
| custodiam-infra | Docker Compose + Keycloak + Cloudflare Tunnel | Orquestación del stack local y de producción |
| custodiam-book | Material for MkDocs | Esta documentación pública |
Equipo¶
- Marcos Val Sanz — PO, UX, DEV-FE
- Rodrigo Mulero García — SM, TL, DEV-BE, OPS
Licencia¶
Custodiam se distribuye bajo licencia GNU Affero General Public License v3.0 (AGPL-3.0). Los cuatro repositorios del proyecto usan la misma licencia.