← Volver a proyectos

Para que un Producto Mínimo Viable (MVP) cumpla su propósito, la velocidad de desarrollo y el coste de mantenimiento son dos factores clave. El reto en este proyecto era construir una aplicación web segura y multiusuario sin incurrir en costes de infraestructura ni en la complejidad de gestionar servidores dedicados.

La Pila Tecnológica (Stack)

Elegí un ecosistema moderno basado en Python, optimizado para el despliegue rápido y con un consumo de recursos muy eficiente:

Esquema de arquitectura del MVP conectando Streamlit Cloud con Neon PostgreSQL

Decisiones Clave de Diseño Técnico

1. Gestión de Zona Horaria Centralizada

Uno de los fallos más habituales en aplicaciones con control de tiempo es el descuadre por el uso de distintas zonas horarias entre el cliente y el servidor. En la capa de consulta de PostgreSQL forcé la conversión explícita a la zona horaria objetivo (AT TIME ZONE 'Europe/Madrid'). De este modo, la hora mostrada siempre coincide con el horario real local, independientemente del servidor en la nube donde se ejecute la app.

2. Separación de Secretos y Variables de Entorno

Para mantener la seguridad del código al publicarlo en GitHub, abstraje la cadena de conexión de Neon mediante la librería python-dotenv en local y st.secrets en la nube. Esto garantiza que las credenciales de la base de datos nunca queden expuestas en el código fuente.


En el próximo capítulo explicaré el Panel de Coordinación, el diseño de los acuerdos por hora con herencia automática y cómo solucioné técnicamente los errores de redondeo en los importes económicos.