Trabajo Fin de Grado
Actualización y mejora de la plataforma web de prescripción de ejercicios físicos MyTraining usando Spring y la integración de la pila ELK
Autor/es | Rufo López, José Antonio |
Director | Ariza Gómez, María Teresa |
Departamento | Universidad de Sevilla. Departamento de Ingeniería Telemática |
Fecha de publicación | 2023 |
Fecha de depósito | 2023-07-20 |
Titulación | Universidad de Sevilla. Grado en Ingeniería de las Tecnologías de Telecomunicación |
Resumen | Este proyecto consiste en una actualización de la aplicación web de creación de rutinas de ejercicios de entrenamiento personalizado llamada MyTraining. El objetivo principal del proyecto es proporcionar a los usuarios la ... Este proyecto consiste en una actualización de la aplicación web de creación de rutinas de ejercicios de entrenamiento personalizado llamada MyTraining. El objetivo principal del proyecto es proporcionar a los usuarios la oportunidad de seguir una rutina de ejercicios diseñada por especialistas sin la necesidad de desplazarse a un centro especializado. La aplicación se presenta como una solución práctica y sencilla que fomenta un estilo de vida saludable al permitir a los usuarios acceder a rutinas de ejercicios desde la comodidad de sus hogares. Proporciona toda la información necesaria para llevar a cabo las rutinas, incluyendo vídeos explicativos alojados en YouTube que se pueden ver directamente desde la aplicación. En esta actualización, se han incorporado las siguientes mejoras: 1.Hibernate y JPA para facilitar la persistencia de datos, lo que ha permitido crear la base de datos y lasconsultas SQL de manera automática. Esta mejora simplifica el manejo y almacenamiento de lainformación relacionada con las rutinas de ejercicios. Para realizarlo ha sido necesario crear desde 0toda la lógica del back-end. 2.Uso de la pila ELK (Elasticsearch, Kibana y Logstash) para la recolección, almacenamiento yprocesamiento de logs. Estas herramientas permiten interpretar los registros de forma gráfica yamigable, lo que facilita el análisis y la monitorización de los datos generados por la aplicación. 3.Implementado Swagger para la documentación de la API. 4.Añadido un nuevo tipo de usuario y todas sus funcionalidades. Este será el “admin” del sistema. Elpropio servidor lo creará con valores por defecto al arrancar el servicio si la BBDD estuviera vacía. 5.Por último, se han actualizado partes del código del back-end y el front-end pues estaban obsoletas o sehan visto necesaria mejoras. Entre ellas: a.Actualización del módulo de seguridad Spring Security. El modulo sufrió una actualización importante en 2020, lo que dejó obsoleto todo el módulode seguridad de la aplicación. Hemos corregido ese fallo actualizándolo a la versión actual. b.Se ha añadido JWT (Json Web Token). Para añadir una capa extra de seguridad a la aplicación se ha integrado JWT. Es una tecnologíaque se usa con frecuencia con Spring Security y nos permite auntenticar a los usuarios pormedio de un token cifrado. c.Mejoras de las entidades. Se ha modificado la forma de las entidades de la base de datos. d.Cambios en el front-end. Sobre todo los archivos JavaScript. Para tratar con los cambios hechos ha sido necesario modificar las peticiones Ajax y hacercambios menores al front-end como añadir funcionalidades nuevas. This project involves an update to the web application called MyTraining, which is used for creating personalized exercise routines. The main objective of the project is to provide users with the opportunity to follow an ... This project involves an update to the web application called MyTraining, which is used for creating personalized exercise routines. The main objective of the project is to provide users with the opportunity to follow an exercise routine designed by specialists without the need to go to a specialized center. The application is presented as a practical and simple solution that promotes a healthy lifestyle by allowing users to access exercise routines from the comfort of their homes. It provides all the necessary information to carry out the routines, including explanatory videos hosted on YouTube that can be viewed directly from the application. In this update, the following improvements have been incorporated: 1.Hibernate and JPA have been implemented to facilitate data persistence, which has allowed for theautomatic creation of the database and SQL queries. This improvement simplifies the handling andstorage of information related to exercise routines. To achieve this, the entire back-end logic has beencreated from scratch. 2.The ELK stack (Elasticsearch, Kibana, and Logstash) has been implemented for the collection, storage,and processing of logs. These tools allow for graphical and user-friendly interpretation of logs, makingit easier to analyze and monitor the data generated by the application. 3.Swagger has been implemented for API documentation. 4.A new user type and all its functionalities have been added. This user type is the "admin" of the system.The server itself creates this user with default values when the service starts if the database is empty. 5.Lastly, certain parts of the back-end and front-end code have been updated as they were outdated orrequired improvements. These include: a.Update of the Spring Security module. The module underwent a significant update in 2020, which rendered the application's securitymodule obsolete. We have fixed this issue by updating it to the current version. b.JWT (Json Web Token) has been added. To add an extra layer of security to the application, JWT has been integrated. It is a technologycommonly used with Spring Security and allows us to authenticate users through an encryptedtoken. c.Entity improvements. The structure of the database entities has been modified. d.Changes in the front-end, especially in JavaScript files. To accommodate the made changes, it was necessary to modify the Ajax requests and take theopportunity to make minor changes to the front-end, such as adding new functionalities. |
Cita | Rufo López, J.A. (2023). Actualización y mejora de la plataforma web de prescripción de ejercicios físicos MyTraining usando Spring y la integración de la pila ELK. (Trabajo Fin de Grado Inédito). Universidad de Sevilla, Sevilla. |
Ficheros | Tamaño | Formato | Ver | Descripción |
---|---|---|---|---|
documento_trabajo_G4537.pdf | 13.35Mb | [PDF] | Ver/ | |