Este proyecto de fin de máster se basa en la creación de TripPlanner, una aplicación web diseñada para la organización de viajes en grupo, que facilita desde la elección de destinos y fechas hasta la administración completa de los planes de viaje. Desarrollada con Angular y Spring Boot , la aplicación es completamente responsive, asegurando una experiencia de usuario fluida tanto en dispositivos móviles como en pantallas de mayores dimensiones. Mediante la integración de un sistema de reparto de gastos, gestión de pagos, tickets, mapas y un calendario de eventos, proporciona una herramienta completa para manejar todos los aspectos logísticos y financieros de los viajes grupales. El desarrollo se ha apoyado en las metodologías, tecnologías avanzadas y buenas prácticas de programación adquiridas a lo largo del máster, complementadas con una sólida batería de pruebas que respaldan la robustez del software.
Además, el proyecto ha integrado herramientas profesionales como Liquibase para la gestión de bases de datos, SonarCloud y GitHub Actions para la integración y despliegue continuos (CI/CD), y Docker para la contenerización del backend , lo que agiliza significativamente los despliegues. Asimismo, se han utilizado Swagger-UI para la prueba de interfaces de backend y Orval para la generación automática de modelos en Angular. El uso de estas utilidades ha enriquecido el desarrollo y la gestión del proyecto, optimizando el proceso de desarrollo.
La experiencia laboral previa y los conocimientos adquiridos durante el máster han sido fundamentales para superar diversos desafíos técnicos, como la compatibilidad entre versiones de librerías, la configuración de arquitecturas de software y la gestión de herramientas de desarrollo. La implementación desde cero de GitHub Actions y GitHub Projects ha permitido automatizar y optimizar los procesos de desarrollo continuo.
Este proyecto no solo refleja las competencias técnicas desarrolladas, sino que también destaca la capacidad de aplicar conocimientos prácticos en un contexto real y complejo, demostrando la preparación para enfrentar y resolver problemas técnicos avanzados en el ámbito de la ingeniería web.
Por último, es importante mencionar que realizar este trabajo en parejas nos permitió repartir las diferentes tareas que conforman el proyecto, aprovechando las fortalezas de cada uno para potenciar el proceso de desarrollo. Esta colaboración maximizó la calidad del software producido, al combinar habilidades complementarias y fomentar un entorno de constante aprendizaje y adaptación.
Abstract:
This master’s thesis project is based on the creation of TripPlanner, a web application designed for organizing group travel, facilitating everything from choosing destinations and dates to complete management of travel plans. Developed with Angular and Spring Boot, the application is fully responsive, ensuring a smooth user experience on both mobile devices and larger screens. By integrating a cost-sharing system, payment management, tickets, maps, and an event calendar, it provides a complete tool to handle all logistical and financial aspects of group travel.
The development has been supported by the methodologies, advanced technologies, and best programming practices acquired throughout the master’s program, complemented by a solid set of tests that underpin the robustness of the software.
Additionally, the project has integrated professional tools such as Liquibase for database management, SonarCloud and GitHub Actions for continuous integration and deployment (CI/CD), and Docker for backend containerization, significantly speeding up deployments. Swagger-UI has also been used for backend interface testing and Orval for the automatic generation of models in Angular. The use of these utilities has enriched the development and management of the project, optimizing the development process.
Previous work experience and knowledge gained during the master’s program have been crucial in overcoming various technical challenges, such as compatibility between library versions, configuration of software architectures, and management of development tools. Implementing GitHub Actions and GitHub Projects from scratch has allowed for the automation and optimization of continuous development processes.
This project not only reflects the technical skills developed but also highlights the ability to apply practical knowledge in a real and complex context, demonstrating the preparation to face and solve advanced technical problems in the field of web engineering.
Lastly, it is important to mention that doing this work in pairs allowed us to distribute the different tasks that make up the project, leveraging each other’s strengths to enhance the development process. This collaboration maximized the quality of the software produced by combining complementary skills and fostering an environment of constant learning and adaptation.
Este proyecto de fin de máster se basa en la creación de TripPlanner, una aplicación web diseñada para la organización de viajes en grupo, que facilita desde la elección de destinos y fechas hasta la administración completa de los planes de viaje. Desarrollada con Angular y Spring Boot , la aplicación es completamente responsive, asegurando una experiencia de usuario fluida tanto en dispositivos móviles como en pantallas de mayores dimensiones. Mediante la integración de un sistema de reparto de gastos, gestión de pagos, tickets, mapas y un calendario de eventos, proporciona una herramienta completa para manejar todos los aspectos logísticos y financieros de los viajes grupales. El desarrollo se ha apoyado en las metodologías, tecnologías avanzadas y buenas prácticas de programación adquiridas a lo largo del máster, complementadas con una sólida batería de pruebas que respaldan la robustez del software.
Además, el proyecto ha integrado herramientas profesionales como Liquibase para la gestión de bases de datos, SonarCloud y GitHub Actions para la integración y despliegue continuos (CI/CD), y Docker para la contenerización del backend , lo que agiliza significativamente los despliegues. Asimismo, se han utilizado Swagger-UI para la prueba de interfaces de backend y Orval para la generación automática de modelos en Angular. El uso de estas utilidades ha enriquecido el desarrollo y la gestión del proyecto, optimizando el proceso de desarrollo.
La experiencia laboral previa y los conocimientos adquiridos durante el máster han sido fundamentales para superar diversos desafíos técnicos, como la compatibilidad entre versiones de librerías, la configuración de arquitecturas de software y la gestión de herramientas de desarrollo. La implementación desde cero de GitHub Actions y GitHub Projects ha permitido automatizar y optimizar los procesos de desarrollo continuo.
Este proyecto no solo refleja las competencias técnicas desarrolladas, sino que también destaca la capacidad de aplicar conocimientos prácticos en un contexto real y complejo, demostrando la preparación para enfrentar y resolver problemas técnicos avanzados en el ámbito de la ingeniería web.
Por último, es importante mencionar que realizar este trabajo en parejas nos permitió repartir las diferentes tareas que conforman el proyecto, aprovechando las fortalezas de cada uno para potenciar el proceso de desarrollo. Esta colaboración maximizó la calidad del software producido, al combinar habilidades complementarias y fomentar un entorno de constante aprendizaje y adaptación.
Abstract:
This master’s thesis project is based on the creation of TripPlanner, a web application designed for organizing group travel, facilitating everything from choosing destinations and dates to complete management of travel plans. Developed with Angular and Spring Boot, the application is fully responsive, ensuring a smooth user experience on both mobile devices and larger screens. By integrating a cost-sharing system, payment management, tickets, maps, and an event calendar, it provides a complete tool to handle all logistical and financial aspects of group travel.
The development has been supported by the methodologies, advanced technologies, and best programming practices acquired throughout the master’s program, complemented by a solid set of tests that underpin the robustness of the software.
Additionally, the project has integrated professional tools such as Liquibase for database management, SonarCloud and GitHub Actions for continuous integration and deployment (CI/CD), and Docker for backend containerization, significantly speeding up deployments. Swagger-UI has also been used for backend interface testing and Orval for the automatic generation of models in Angular. The use of these utilities has enriched the development and management of the project, optimizing the development process.
Previous work experience and knowledge gained during the master’s program have been crucial in overcoming various technical challenges, such as compatibility between library versions, configuration of software architectures, and management of development tools. Implementing GitHub Actions and GitHub Projects from scratch has allowed for the automation and optimization of continuous development processes.
This project not only reflects the technical skills developed but also highlights the ability to apply practical knowledge in a real and complex context, demonstrating the preparation to face and solve advanced technical problems in the field of web engineering.
Lastly, it is important to mention that doing this work in pairs allowed us to distribute the different tasks that make up the project, leveraging each other’s strengths to enhance the development process. This collaboration maximized the quality of the software produced by combining complementary skills and fostering an environment of constant learning and adaptation. Read More