Alcalapp: una aplicación web para la gestión de tareas e incidencias en equipos de desarrollo
Información General
Autor/a: Elisa Sofía Alcalá Guerrero
Grado: Grado En Ingeniería Informática
Tutor: Michel Maes Bermejo
Fecha de defensa: Noviembre de 2024
Resumen
Este proyecto se centra en el desarrollo de una aplicacion web robusta y funcional disenada para optimizar la gestion de tareas y mejorar la dinamica de trabajo en equipos de desarrollo tecnologico. La herramienta ofrece funcionalidades que simplifican la visualizacion, asignacion, seguimiento y resolucion de tareas, fomentando la transparencia y la colaboracion entre los miembros del equipo. Para lograr estos objetivos, se implementa un sistema de tickets que centraliza la gestion de releases, proyectos e incidencias, facilitando su organizacion y trazabilidad en todo momento. Se ha implementado una arquitectura de tres capas (Presentacion, Aplicacion y Persistencia) para organizar las responsabilidades del sistema, facilitar su mantenimiento y optimizar su rendimiento. La capa de Presentacion gestiona la interfaz de usuario con tecnologias como JavaScript, HTML y CSS; la de Aplicacion coordina la logica de negocio con tecnologias como Java, Spring Boot, Maven; y la de Persistencia asegura una comunicacion eficiente con la base de datos MySQL mediante Hibernate y Spring Data JPA. Se ha implementado un enfoque de pruebas exhaustivo que incluye pruebas unitarias y de sistema, utilizando herramientas como JUnit 5, Mockito y Selenium. Este enfoque garantiza que la logica de negocio se valide adecuadamente y que las funcionalidades se comporten como se espera. La metodologia Git Flow se ha adoptado para gestionar el flujo de trabajo, permitiendo una organizacion eficiente del desarrollo mediante ramas especificas para cada etapa, como desarrollo, produccion y caracteristicas. Tambien se han adoptado principios de DevOps con la automatizacion del proceso de integracion y despliegue continuo mediante GitHub Actions. Este ejecuta pruebas automaticas, verifica la cobertura de codigo, gestiona el versionado del proyecto y facilita el despliegue en Microsoft Azure, a traves de tecnologias como Docker y Azure Container Instances. Finalmente, se realiza una reflexion sobre los resultados obtenidos en el apartado de conclusiones y se exponen algunas mejoras para posibles trabajos futuros