Petimus - Plataforma Cívica de Incidencias Urbanas
Petimus es una aplicación móvil y plataforma geoespacial de Civic Tech diseñada para empoderar a la ciudadanía en la mejora del entorno urbano.
Permite reportar desperfectos en la vía pública (aceras, alumbrado, mobiliario urbano, limpieza) de forma inmediata, geolocalizada y sin burocracia, exponiendo las incidencias en un mapa público interactivo para garantizar su seguimiento y trazabilidad hasta su resolución.
🎯 El Desafío
Tradicionalmente, comunicar un desperfecto urbano a la administración pública implica trámites lentos, registros con certificados digitales complejos o llamadas telefónicas que terminan en un “agujero negro” sin seguimiento de tiempos ni estado de resolución.
El objetivo de Petimus fue eliminar por completo la fricción:
- Reporte en menos de 10 segundos mediante cámara y geoposicionamiento automático.
- Capa pública y transparente donde cualquier vecino puede consultar qué incidencias están activas en su barrio.
- Validación comunitaria para evitar duplicados y confirmar resoluciones sobre el terreno.
⚙️ Arquitectura y Modelo de Confianza (Trust Model)
[Flutter Mobile App] ──▶ [FastAPI Backend] ──▶ [PostgreSQL + GIS Queries]
│ │
(GPS + Foto) (Evaluación de Umbrales)
- Filtro Espacial de Alto Rendimiento: El backend calcula y sirve únicamente las incidencias visibles dentro del marco geográfico (bounding box) del mapa del usuario en menos de 200 ms.
- Modelo de Confianza Colaborativo: Además del creador, la comunidad puede validar la resolución de una incidencia mediante un sistema de firmas y confirmaciones cruzadas ponderadas por umbral de confianza (Trust Threshold).
- Historial Inmutable (Append-Only): Registro de auditoría completo del ciclo de vida de cada incidencia (creada, verificada, en curso, resuelta por la comunidad o resuelta por la administración).
🛠️ Stack Tecnológico
- Frontend Móvil: Flutter 3.x con arquitectura por capas desacoplada y gestión de estado reactiva mediante Riverpod.
- Backend API: FastAPI (Python 3.12) asíncrono con SQLModel y Pydantic v2.
- Base de Datos: PostgreSQL con índices geoespaciales para consultas por coordenadas y rectángulos de visión (bounds).
- Metodología & Calidad: Spec-Driven Development (SDD) con cobertura estricta de tests unitarios y de integración (TDD con
pytestymocktail). - DevOps: Integración y despliegue continuo (CI/CD) en contenedores Docker a través de Azure DevOps Pipelines.