Resumen:
Este trabajo de fin de grado se ha centrado en el diseño y la implementación de una aplicación web de gestión de información empresarial hospedada en la nube. La aplicación se ha diseñado en el marco de una empresa de mensajería que necesita gestionar la entrega de correos.
El propósito principal y el condicionante tecnológico ha sido el diseño de una aplicación web siguiendo el paradigma de la reutilización y la ventaja del uso de herramientas modernas. Se ha optado por utilizar tecnologías como el lenguaje de programación Python, debido a su simplicidad, su gran cantidad de librerías, extensa documentación y su capacidad de programación orientada a objetos, el framework Flask para el desarrollo de la web app y la extensión SQL-Alchemy para crear y trabajar con un modelo de datos y asegurar la persistencia entre la aplicación web y la base de datos.
Como arquitectura de diseño se ha usado Modelo Vista Controlador (MVC) que divide el sistema en tres componentes principales lo que facilita la modularización, la reutilización del código y el mantenimiento del software. Además, permite la evolución independiente de cada componente, lo que facilita la escalabilidad.
Se ha utilizado una plantilla de diseño basada en Bootstrap5 para el componente de Vista, lo que proporciona un diseño atractivo y una interfaz responsiva. Para el componente del Controlador se ha diseñado una interfaz de tipo API Rest para atender a las peticiones de la aplicación web y para el Modelo, se ha modelado mediante el uso de SQL-Alchemy un conjunto de clases que hacen referencia a los objetos de la aplicación.
Todos los componentes de la aplicación web han sido hospedados en la plataforma Microsoft Azure lo que proporciona una infraestructura confiable y escalable que garantiza un alto nivel de disponibilidad y rendimiento para la aplicación.
La metodología seguida se ha basado en una metodología SCRUM de trabajo real en la que se ha modularizado el trabajo en entornos de prueba y se han realizado entregas de forma secuencial para asegurar el funcionamiento correcto de cada una de las partes del proyecto.
Los resultados obtenidos incluyen un prototipo de aplicación web funcional que cumple con los requisitos establecidos hospedada en Microsoft Azure. Se concluye que la aplicación desarrollada ofrece una solución sólida y segura para la gestión de información empresarial en la nube, destacando la importancia de utilizar tecnologías adecuadas y la facilidad hoy en día de desarrollar este tipo de soluciones.
En conjunto, estos resultados destacan la importancia de utilizar tecnologías adecuadas y metodologías de desarrollo efectivas para ofrecer soluciones sólidas y seguras en el entorno empresarial actual.
Abstract:
This thesis has focused on the design and implementation of a cloud-hosted web application for enterprise information management. The application has been designed within the business framework of a courier company that needs to manage mail delivery.
The main purpose and technological constraint have been the design of a web application following the paradigm of reuse and the advantage of using modern tools. Technologies such as the Python programming language, due to its simplicity, extensive library support, comprehensive documentation, and object-oriented programming capabilities, were chosen. Additionally, the Flask framework was chosen for web app development and the SQL-Alchemy extension for creating and working with a data model to ensure persistence between the web application and the database.
The Model-View-Controller (MVC) design architecture has been used, dividing the system into three main components, which facilitates modularity, code reuse, and software maintenance. Furthermore, it allows independent evolution of each component, facilitating scalability.
A design template based on Bootstrap5 has been used for the View component, providing an attractive design and a responsive interface. For the Controller component, a REST API interface has been designed to handle requests from the web application, and for the Model, a set of classes referencing application objects has been modeled using SQL-Alchemy.
All components of the web application have been hosted on the Microsoft Azure platform, providing a reliable and scalable infrastructure that ensures a high level of availability and performance for the application.
The methodology followed has been based on a real-world SCRUM methodology in which work has been modularized into test environments, and deliveries have been made sequentially to ensure the correct functioning of each part of the project.
In conclusion, this project has demonstrated the feasibility and effectiveness of designing and implementing a cloud-based enterprise information management web application. By leveraging modern tools and following the Model-View-Controller (MVC) design architecture, the application achieves modularity, code reuse, and ease of maintenance. The use of technologies like Python, Flask, and SQL-Alchemy ensures a robust and scalable solution with seamless integration between the web application and the database. Hosting all components on the Microsoft Azure platform provides a reliable infrastructure with high availability and performance. The adoption of SCRUM methodology for real-world development ensures iterative progress and thorough testing, leading to a functional and reliable application.
Overall, this project highlights the importance of leveraging appropriate technologies and methodologies to deliver solid and secure cloud-based solutions for modern business needs.
Resumen:
Este trabajo de fin de grado se ha centrado en el diseño y la implementación de una aplicación web de gestión de información empresarial hospedada en la nube. La aplicación se ha diseñado en el marco de una empresa de mensajería que necesita gestionar la entrega de correos.
El propósito principal y el condicionante tecnológico ha sido el diseño de una aplicación web siguiendo el paradigma de la reutilización y la ventaja del uso de herramientas modernas. Se ha optado por utilizar tecnologías como el lenguaje de programación Python, debido a su simplicidad, su gran cantidad de librerías, extensa documentación y su capacidad de programación orientada a objetos, el framework Flask para el desarrollo de la web app y la extensión SQL-Alchemy para crear y trabajar con un modelo de datos y asegurar la persistencia entre la aplicación web y la base de datos.
Como arquitectura de diseño se ha usado Modelo Vista Controlador (MVC) que divide el sistema en tres componentes principales lo que facilita la modularización, la reutilización del código y el mantenimiento del software. Además, permite la evolución independiente de cada componente, lo que facilita la escalabilidad.
Se ha utilizado una plantilla de diseño basada en Bootstrap5 para el componente de Vista, lo que proporciona un diseño atractivo y una interfaz responsiva. Para el componente del Controlador se ha diseñado una interfaz de tipo API Rest para atender a las peticiones de la aplicación web y para el Modelo, se ha modelado mediante el uso de SQL-Alchemy un conjunto de clases que hacen referencia a los objetos de la aplicación.
Todos los componentes de la aplicación web han sido hospedados en la plataforma Microsoft Azure lo que proporciona una infraestructura confiable y escalable que garantiza un alto nivel de disponibilidad y rendimiento para la aplicación.
La metodología seguida se ha basado en una metodología SCRUM de trabajo real en la que se ha modularizado el trabajo en entornos de prueba y se han realizado entregas de forma secuencial para asegurar el funcionamiento correcto de cada una de las partes del proyecto.
Los resultados obtenidos incluyen un prototipo de aplicación web funcional que cumple con los requisitos establecidos hospedada en Microsoft Azure. Se concluye que la aplicación desarrollada ofrece una solución sólida y segura para la gestión de información empresarial en la nube, destacando la importancia de utilizar tecnologías adecuadas y la facilidad hoy en día de desarrollar este tipo de soluciones.
En conjunto, estos resultados destacan la importancia de utilizar tecnologías adecuadas y metodologías de desarrollo efectivas para ofrecer soluciones sólidas y seguras en el entorno empresarial actual.
Abstract:
This thesis has focused on the design and implementation of a cloud-hosted web application for enterprise information management. The application has been designed within the business framework of a courier company that needs to manage mail delivery.
The main purpose and technological constraint have been the design of a web application following the paradigm of reuse and the advantage of using modern tools. Technologies such as the Python programming language, due to its simplicity, extensive library support, comprehensive documentation, and object-oriented programming capabilities, were chosen. Additionally, the Flask framework was chosen for web app development and the SQL-Alchemy extension for creating and working with a data model to ensure persistence between the web application and the database.
The Model-View-Controller (MVC) design architecture has been used, dividing the system into three main components, which facilitates modularity, code reuse, and software maintenance. Furthermore, it allows independent evolution of each component, facilitating scalability.
A design template based on Bootstrap5 has been used for the View component, providing an attractive design and a responsive interface. For the Controller component, a REST API interface has been designed to handle requests from the web application, and for the Model, a set of classes referencing application objects has been modeled using SQL-Alchemy.
All components of the web application have been hosted on the Microsoft Azure platform, providing a reliable and scalable infrastructure that ensures a high level of availability and performance for the application.
The methodology followed has been based on a real-world SCRUM methodology in which work has been modularized into test environments, and deliveries have been made sequentially to ensure the correct functioning of each part of the project.
In conclusion, this project has demonstrated the feasibility and effectiveness of designing and implementing a cloud-based enterprise information management web application. By leveraging modern tools and following the Model-View-Controller (MVC) design architecture, the application achieves modularity, code reuse, and ease of maintenance. The use of technologies like Python, Flask, and SQL-Alchemy ensures a robust and scalable solution with seamless integration between the web application and the database. Hosting all components on the Microsoft Azure platform provides a reliable infrastructure with high availability and performance. The adoption of SCRUM methodology for real-world development ensures iterative progress and thorough testing, leading to a functional and reliable application.
Overall, this project highlights the importance of leveraging appropriate technologies and methodologies to deliver solid and secure cloud-based solutions for modern business needs. Read More



