El desarrollo de aguamty.com implicó un enfoque integral que abarcó desde la comprensión profunda del problema hasta la implementación de un sistema robusto y confiable. A continuación, se detallan las fases clave del proyecto:
Entendimiento del Problema
El objetivo principal era crear una plataforma que facilitara la gestión y distribución de agua tratada para pipas, optimizando procesos y garantizando transparencia en las operaciones. Se realizaron reuniones con stakeholders y análisis de procesos existentes para identificar ineficiencias y oportunidades de mejora.
Diseño del Sistema
Se diseñó una arquitectura modular utilizando Next.js 14 y React para el frontend, y una API RESTful con Django Rest Framework con python para el backend. La base de datos se implementó en PostgreSQL, aprovechando su robustez y escalabilidad. La infraestructura se desplegó en AWS, utilizando servicios como EC2 y RDS para garantizar alta disponibilidad y rendimiento.
Iteraciones de Desarrollo
Adoptamos una metodología ágil, realizando sprints de dos semanas que permitieron iterar rápidamente sobre el producto. Cada sprint incluía planificación, desarrollo, pruebas y retrospectivas, lo que facilitó la adaptación a cambios y la mejora continua del sistema.
Pruebas de Usabilidad
Se llevaron a cabo pruebas de usabilidad moderadas, donde usuarios representativos completaron tareas específicas mientras se observaba su interacción con el sistema. Esto permitió identificar problemas de navegación y comprensión, los cuales fueron abordados en iteraciones posteriores para mejorar la experiencia del usuario.
Pruebas de Confiabilidad
Para asegurar la confiabilidad del sistema, se implementaron pruebas automatizadas de integración y unitarias. Además, se realizaron pruebas de carga utilizando herramientas como Playwright para evaluar el rendimiento bajo condiciones de alta demanda. Se estableció un monitoreo continuo con PostHog para detectar y resolver problemas proactivamente. Se identicaron analíticas con cloudflare.
Seguridad
Se implementaron medidas de seguridad como autenticación basada en tokens JWT, encriptación de datos sensibles y protección contra ataques comunes como CSRF y XSS. Se realizaron auditorías de seguridad periódicas para identificar y mitigar vulnerabilidades. Se utilizo como partner a cloudflare para agregar protección contra los ataques mas comunes.
Despliegue y Mantenimiento
El despliegue se automatizó utilizando CI/CD pipelines con Github CI, y Vercel permitiendo integraciones y despliegues continuos. Se estableció un plan de mantenimiento que incluye actualizaciones regulares, monitoreo de logs y soporte al usuario.
El proyecto de aguam.com es un ejemplo de cómo una ingeniería de software bien planificada y ejecutada puede resolver problemas complejos, ofreciendo una solución eficiente y confiable que satisface las necesidades del cliente y de los usuarios finales.