Skip to content

samuel-garcia06/tfg_daw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

ANTEPROYECTO TFG

GymAI Manager

Plataforma Web de Gestión de Gimnasio con Asistente de IA


1. Título del proyecto

GymAI Manager: Plataforma web para la gestión integral de un gimnasio (planes, rutinas, progreso y estadísticas) con asistente de Inteligencia Artificial integrado.


2. Introducción y Justificación

En la actualidad, los gimnasios requieren herramientas digitales que permitan gestionar usuarios, planes y entrenamientos de manera eficiente. Además, los usuarios demandan sistemas que les ayuden a mejorar su rendimiento, mantener constancia y recibir orientación personalizada.

Este proyecto propone el desarrollo de una aplicación web moderna que combine:

  • Gestión administrativa del gimnasio.
  • Seguimiento detallado del entrenamiento.
  • Visualización de estadísticas y progreso.
  • Integración de un asistente de IA contextual que ayude al usuario con sus rutinas y dudas relacionadas con el ejercicio.

El sistema será desarrollado con tecnologías actuales utilizadas en entornos profesionales: Laravel 12, Angular 21, MySQL, Docker y Jenkins.


3. Objetivos del Proyecto

3.1 Objetivo General

Desarrollar una aplicación web full-stack para la gestión de un gimnasio, integrando un asistente de IA capaz de proporcionar ayuda contextual basada en los datos del usuario.

3.2 Objetivos Específicos

  • Implementar autenticación y control de acceso por roles.
  • Permitir la gestión de planes y suscripciones.
  • Crear un sistema de rutinas y seguimiento de entrenamientos.
  • Registrar y visualizar el progreso del usuario.
  • Incorporar estadísticas con representación gráfica.
  • Integrar un chat IA contextual.
  • Automatizar el despliegue mediante Docker y Jenkins.

4. Alcance del Proyecto

4.1 Roles del Sistema

Usuario

  • Registro y login.
  • Gestión de perfil.
  • Visualización de plan activo.
  • Consulta y seguimiento de rutinas.
  • Registro de sesiones de entrenamiento.
  • Visualización de progreso y estadísticas.
  • Uso del asistente IA.

Administrador

  • Gestión de usuarios.
  • Gestión de planes.
  • Gestión de ejercicios.
  • Creación de rutinas plantilla.
  • Supervisión general del sistema.

5. Funcionalidades del Sistema

5.1 Autenticación y Seguridad

  • Registro e inicio de sesión.
  • Autorización por roles (usuario/admin).
  • Protección de rutas mediante tokens.
  • Validación server-side en Laravel.

5.2 Gestión de Planes

  • CRUD de planes (admin).
  • Suscripción del usuario a un plan.
  • Historial de suscripciones.

5.3 Gestión de Rutinas

  • Catálogo de ejercicios.
  • Rutinas organizadas por días.
  • Series, repeticiones y descansos.
  • Registro de sesiones realizadas.

5.4 Registro de Progreso

  • Historial de marcas por ejercicio.
  • Registro de peso corporal (opcional).
  • Seguimiento de evolución mensual.

5.5 Estadísticas

  • Evolución de cargas por ejercicio.
  • Frecuencia de entrenamiento semanal.
  • Gráficos de progreso por periodos.

5.6 Asistente de Inteligencia Artificial

El asistente IA permitirá:

  • Resolver dudas sobre ejercicios.
  • Generar sugerencias de rutina según objetivo.
  • Ajustar recomendaciones según progreso.
  • Explicar técnica y errores comunes.
  • Responder de forma contextualizada según datos del usuario.

Medidas de seguridad:

  • Filtrado de peticiones.
  • Advertencias en recomendaciones sensibles.
  • No sustitución de asesoramiento médico profesional.

6. Tecnologías Utilizadas

Backend

  • Laravel 12 (API REST)
  • MySQL
  • Sanctum o JWT para autenticación
  • Policies para autorización

Frontend

  • Angular 21
  • Router + Guards + Interceptors
  • Librería de gráficos (Chart.js u otra)
  • TailwindCSS o Angular Material

DevOps

  • Docker y Docker Compose
  • Jenkins (CI/CD)
  • Nginx como reverse proxy

IA

  • API externa de modelo de lenguaje
  • Backend Laravel como intermediario
  • Almacenamiento de conversaciones en base de datos

7. Arquitectura del Sistema

Arquitectura General

Frontend Angular (SPA)

API REST Laravel

Base de Datos MySQL

Servicio de IA externo

El frontend nunca accede directamente al proveedor de IA. Laravel actúa como intermediario seguro.


8. Modelo de Datos (Resumen)

Tablas principales:

  • users
  • plans
  • subscriptions
  • exercises
  • routines
  • routine_days
  • routine_exercises
  • workout_sessions
  • session_sets
  • progress_metrics
  • ai_conversations
  • ai_messages

9. Pantallas del Sistema

  1. Login / Registro
  2. Dashboard principal
  3. Gestión de planes
  4. Vista de rutinas
  5. Sesión de entrenamiento
  6. Progreso personal
  7. Estadísticas
  8. Chat IA
  9. Panel de administración

10. Requisitos No Funcionales

  • Seguridad basada en roles.
  • Validación robusta de datos.
  • Arquitectura desacoplada.
  • Despliegue reproducible con Docker.
  • Automatización CI/CD con Jenkins.
  • Aplicación responsive para móviles.

11. Planificación del Proyecto

Fase 1 – Configuración inicial

  • Estructura repositorios.
  • Configuración Docker.
  • Configuración base Laravel y Angular.

Fase 2 – Autenticación y usuarios

  • Registro/Login.
  • Roles.
  • Protección de rutas.

Fase 3 – Planes y rutinas

  • CRUD planes.
  • CRUD ejercicios.
  • Sistema de rutinas.

Fase 4 – Progreso y estadísticas

  • Registro de sesiones.
  • Implementación de gráficos.

Fase 5 – Integración IA

  • Endpoint IA en Laravel.
  • Historial de conversaciones.
  • Chat integrado en Angular.

Fase 6 – CI/CD y despliegue

  • Pipeline Jenkins.
  • Construcción de imágenes Docker.
  • Deploy en VPS.

12. Resultados Esperados

Al finalizar el proyecto se obtendrá:

  • Una aplicación web funcional desplegada.
  • API segura y estructurada.
  • Sistema completo de seguimiento deportivo.
  • Asistente IA contextual.
  • Automatización del proceso de despliegue.
  • Documentación técnica completa.

13. Conclusión

GymAI Manager representa una solución moderna y escalable para la gestión de gimnasios, combinando desarrollo full-stack, integración de inteligencia artificial y buenas prácticas de despliegue.

El proyecto demuestra competencias avanzadas en:

  • Desarrollo backend con Laravel.
  • Desarrollo frontend con Angular.
  • Arquitectura desacoplada.
  • Seguridad web.
  • DevOps con Docker y Jenkins.
  • Integración de Inteligencia Artificial en aplicaciones reales.

About

Proyecto final del ciclo de desarrollo de aplicaciones web

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors