Saltar al contenido
Volver a Proyectos
Ayuntamiento de AbanillaEn Producción

Inventario Municipal

769
Documentos migrados
−90%
Tiempo de proceso
0
Vulnerabilidades críticas
Inventario Municipal

Problema

Operaciones basadas en papel causando cuellos de botella institucionales masivos y sin acceso público al fondo documental histórico.

Solución

Plataforma de gestión documental con catálogo público y panel de administración seguro, desplegada en producción para el Archivo Histórico Municipal.

Seguridad

Backend FastAPI sirviendo operaciones CRUD concurrentes con RBAC de 4 roles, sesiones HttpOnly, rate limiting y bloqueo automático de IPs.

Decisiones de Arquitectura

FastAPI sobre Django: rendimiento asíncrono para operaciones CRUD concurrentes y validación tipada con Pydantic. MySQL gestionado en Aiven Cloud (SSL obligatorio) sobre SQLite: concurrencia real para múltiples técnicos y backups automáticos. Autenticación por sesión con token opaco (secrets.token_urlsafe) en cookie HttpOnly en lugar de JWT — permite revocación inmediata de sesiones, imposible con JWT stateless. RBAC de 4 roles con verificación de permiso granular por endpoint. Despliegue desacoplado: frontend estático en Vercel (CDN), backend en Render, BD en Aiven.

Aprendizajes

Realicé una auditoría de seguridad propia con Kali Linux (análisis de endpoints, pruebas de SQLi, rate limiting) que reveló la exposición de la documentación OpenAPI en producción y un endpoint de búsqueda sin bloqueo de IP ante patrones de ataque — ambos corregidos. Confirmé que las consultas parametrizadas con SQLAlchemy resistían la inyección SQL. Aprendizaje clave: la seguridad por capas (WAF de infraestructura + lógica de aplicación) es más robusta que una única blacklist, y el cumplimiento RGPD (purga automática de datos) debe diseñarse desde el inicio, no añadirse después.

Impacto

Reducción del tiempo de procesamiento manual en un 90%, migración de 769 documentos y auditoría de seguridad completa (OWASP, Kali Linux) entregada al cliente.

Stack

FastAPIMySQLHTML/CSS

¿Tienes un problema similar?

Cuéntame el problema. Analizo el flujo, estimo el ROI y propongo la arquitectura adecuada.