Mostrar el registro sencillo del ítem

Trabajo Fin de Grado

dc.contributor.advisorAriza Gómez, María Teresaes
dc.creatorNavarro Vázquez, Julioes
dc.date.accessioned2024-05-29T10:35:52Z
dc.date.available2024-05-29T10:35:52Z
dc.date.issued2024
dc.identifier.citationNavarro Vázquez, J. (2024). Aplicación web basada en microservicios para la predicción de Peso en Rutinas de Ejercicios usando Machine Learning. (Trabajo Fin de Grado Inédito). Universidad de Sevilla, Sevilla.
dc.identifier.urihttps://hdl.handle.net/11441/159368
dc.description.abstractEste proyecto consiste en la creación de una aplicación web llamada mytrAIning que proporciona rutinas de ejercicios y predice los pesos que el usuario tiene que ponerle a cada ejercicio según las características de este. Comenzar a ir al gimnasio puede ser complicado para los principiantes. Existen muchas máquinas e infinidad de ejercicios. Uno de los mayores desafíos para quienes quieren ponerse en forma es saber qué ejercicios realizar, cómo realizarlos y cuánto peso usar en cada uno de ellos. MytrAIning aborda estos desafíos proporcionando prescripciones de ejercicios físicos personalizados basados en el análisis de datos y el aprendizaje automático. Los usuarios deben seleccionar una rutina y rellenar información sobre sus características físicas y nivel de experiencia en el gimnasio. Utilizando esta información, la aplicación genera una rutina de ejercicios adaptada específicamente a las necesidades y capacidades del usuario. Los usuarios pueden registrarse, iniciar sesión, realizar predicciones para características físicas determinadas y cerrar sesión. La aplicación se divide en tres partes, una desarrollada en Java usando el framework Spring, que aborda el corazón de la aplicación, manejando las sesiones y la configuración de seguridad, entre otras funcionalidades; una de frontend desarrollada con el framework Bootstrap; y otra desarrollada en Python, en la que se ha creado toda la estructura del microservicio de predicción: desde el entrenamiento del modelo hasta el despliegue de la API Rest para ser accesible por la estructura Spring. En la parte de Java se utilizan las siguientes tecnologías: • Java Spring: Es la base del backend. Se encarga de la configuración y el despliegue de la aplicación. Con Spring Security se maneja toda la configuración de seguridad y la autorización de accesos a rutas determinadas. • Hibernate y JPA: Se emplean para la capa de acceso a datos, permitiendo la integración con la base de datos MySQL y la gestión de la entidad de usuario de la aplicación. • JWT (JSON Web Tokens): Se usan para manejar las sesiones de usuario de manera segura. Al iniciar sesión se crea este token y se mantiene en el navegador hasta expirar o hasta que el usuario decida cerrar sesión. Por otro lado, en la parte de Python las tecnologías principales son: • Docker: Utilizado para meter en un contenedor el microservicio de predicción, facilitando su portabilidad y despliegue. • Flask: Se usa para crear una API en el microservicio de Python que permite la comunicación con Java Spring, enviando y recibiendo datos en formato JSON. • Pandas: Librería utilizada para la creación y manejo del dataset que se utilizó para entrenar el modelo, así como para diferentes operaciones relativas a datos • Scikit-Learn: Librería usada para construir el modelo de Machine Learning Random Forest, el cual predice las cargas en las rutinas de ejercicios.es
dc.description.abstractThis project involves the creation of a web application called mytrAIning, which provides exercise routines and predicts the weights that the user should use for each exercise based on its characteristics. Starting to go to the gym can be complicated for beginners. There are many machines and countless exercises. One of the biggest challenges for those who want to get in shape is knowing which exercises to do, how to do them, and how much weight to use for each one. MytrAIning addresses these challenges by providing personalized exercise prescriptions based on data analysis and machine learning. Users must select a routine and provide information about their physical characteristics and gym experience level. Using this information, the application generates a workout routine tailored specifically to the user's needs and capabilities. Users can register, log in, make predictions for certain physical characteristics, and log out. The application is divided into three parts: one developed in Java using the Spring framework, which addresses the core of the application, managing sessions and security settings, among other functionalities a frontend part developed with the Bootstrap framework; and another developed in Python, where the entire structure of the prediction microservice has been created: from model training to the deployment of the Rest API to be accessible by the Spring structure. In the Java part, the following technologies are used: • Java Spring: It is the backbone of the backend. It is responsible for the configuration and deployment of the application. With Spring Security, all security configuration and access authorization to certain routes are handled. • Hibernate and JPA: They are used for the data access layer, allowing integration with the MySQL database and management of the application's user entity. • JWT (JSON Web Tokens): They are used to securely handle user sessions. When logging in this token is created and kept in the browser until it expires or until the user decides to log out. On the other hand, in the Python part, the main technologies are: • Docker: It is used to containerize the prediction microservice, facilitating its portability and deployment. • Flask: It is used to create an API in the Python microservice that allows communication with Java Spring, sending and receiving data in JSON format. • Pandas: Library used for the creation and handling of the dataset used to train the model, as well as for different data-related operations. • Scikit-Learn: Library used to build the Random Forest Machine Learning model, which predicts the loads in the exercise routines.es
dc.formatapplication/pdfes
dc.format.extent88 p.es
dc.language.isospaes
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 Internacional*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/*
dc.titleAplicación web basada en microservicios para la predicción de Peso en Rutinas de Ejercicios usando Machine Learninges
dc.typeinfo:eu-repo/semantics/bachelorThesises
dc.type.versioninfo:eu-repo/semantics/publishedVersiones
dc.rights.accessRightsinfo:eu-repo/semantics/openAccesses
dc.contributor.affiliationUniversidad de Sevilla. Departamento de Ingeniería Telemáticaes
dc.description.degreeUniversidad de Sevilla. Grado en Ingeniería de las Tecnologías de Telecomunicaciónes

FicherosTamañoFormatoVerDescripción
TFG4976_NavarroVázquez.pdf6.096MbIcon   [PDF] Ver/Abrir  

Este registro aparece en las siguientes colecciones

Mostrar el registro sencillo del ítem

Attribution-NonCommercial-NoDerivatives 4.0 Internacional
Excepto si se señala otra cosa, la licencia del ítem se describe como: Attribution-NonCommercial-NoDerivatives 4.0 Internacional