San Joaquín.
Talleres, eventos y arriendo de canchas de la Corporación Municipal de Deportes de San Joaquín, con panel para funcionarios, módulo de transparencia y sitio institucional.
Rol
Arquitectura y desarrollo fullstack
Año
2026

El problema
Partía de una plataforma madura de otra municipalidad, con dos APIs que validaban tokens distintos, tres formas del mismo objeto que divergían y cuatro fórmulas para calcular un mismo total.
La solución
Una API, un contrato
Una sola API en TypeScript. Todo lo que cruza HTTP se declara una vez con zod, y el backend es la única calculadora de precios.
Permisos en el servidor
14 módulos con roles. Un test recorre las rutas y hace fallar el build si alguna queda sin guard.
Portal completo
Talleres, eventos, arriendo de canchas, Tarjeta Vecino con revisión de documentos y un repositorio de transparencia con links que expiran.
Stack
Frontend
Backend
Sitio
Calidad
Arquitectura
Cada proveedor externo está detrás de un puerto: identidad, archivos, pagos, boletas y correo. Pasar de local a la nube es cambiar variables de entorno, no código.
Vecino
Portal web
React 19 + Vite; el panel de funcionarios carga aparte.
API
Express única
Contratos zod y roles compartidos con la web.
Puertas de calidad
Tipos, lint, secretos, contraste y tests antes de cada deploy.
Datos
MongoDB
Talleres, cupos, ventas y documentos.
S3
Transparencia con URLs firmadas de 15 minutos.
Puertos
Pagos y boletas
Adaptador intercambiable por proveedor.
Resend
Correos del portal y del sitio.
Pantallas
01 / 04



Siguiente proyecto · 05
Cultura Constitución→