aplicación web para la gestión de un gimnasio
TRANSCRIPT
Aplicación web para la gestión de un gimnasio
MEMORIA PRESENTADA POR: Eduardo Robres Barro
Director del proyecto: Pau Micó Convocatoria de defensa: Marzo de 2020
GRADO EN INGENIERÍA INFORMÁTICA
Trabajo Final de Grado
2/48
© E. Robres
Resumen
Dado que las responsabilidades laborales y familiares dejan poco tiempo para cuidar
de nuestro cuerpo, los gimnasios se han convertido en una herramienta cada vez más
útil para ello. Es por esto por lo que los clientes están dispuestos a pagar cierta cuota
para que los profesionales les aconsejen, enseñen y guíen en ese cuidado, y el pago
significa que también hay un alto grado de exigencia en los servicios contratados. Éste
es el motivo por el que resulta muy interesante la propuesta de un TFG que desarrolle
una aplicación web que facilite las tareas diarias que implican la gestión de un
gimnasio.
Summary
Since work and family responsibilities leave little time to take care of our body, gyms
have become an increasingly useful tool for this. This is why customers are willing to
pay a certain fee for professionals to advise, teach and guide them in that care, and the
payment means that there is also a high degree of demand on the contracted services.
This is the reason why the proposal of a TFG that develops a web application that
facilitates the daily tasks that involve the management of a gym is very interesting.
Trabajo Final de Grado
3/48
© E. Robres
Contenidos
1 Introducción .......................................................................................................................... 5
1.1 ANTECEDENTES ................................................................................................................. 5
1.2 OBJETIVOS......................................................................................................................... 5
1.3 REQUERIMIENTOS .............................................................................................................. 5
2 Anteproyecto ......................................................................................................................... 7
2.1 ESTADO DEL ARTE .............................................................................................................. 7
2.2 ENTORNOS DE DESARROLLO ............................................................................................ 7
2.2.1 IDE ............................................................................................................................. 7
2.2.2 Lenguajes de programación ....................................................................................... 8
2.2.3 Servidor de bases de datos ........................................................................................ 8
2.2.4 Servidor web .............................................................................................................. 8
2.3 ESTUDIO DE PROPUESTAS ................................................................................................... 8
2.3.1 Propuesta 1 ................................................................................................................ 8
2.3.2 Propuesta 2 ................................................................................................................ 8
2.4 JUSTIFICACIÓN ................................................................................................................... 9
3 Implementación ....................................................................................................................10
3.1 ENTORNO DE DESARROLLO ................................................................................................10
3.2 IMPLEMENTACIÓN PRÁCTICA ...............................................................................................11
3.2.1 Modelo de la base de datos ......................................................................................12
3.2.2 Maquetas ..................................................................................................................14
3.2.3 Diagramas de funcionamiento ...................................................................................17
3.3. Pruebas ..........................................................................................................................19
3.3.1 De sistema ................................................................................................................19
3.3.2 De integración de sistemas .......................................................................................19
3.3.3 De volumen ...............................................................................................................20
4 Resultados ...........................................................................................................................21
4.1 MIGRACIÓN AL ENTORNO DE PRODUCCIÓN .......................................................................21
4.2 INSTALACIÓN DE LA APLICACIÓN ......................................................................................21
5 Conclusiones .......................................................................................................................22
Trabajo Final de Grado
4/48
© E. Robres
5.1 CONCLUSIONES PERSONALES ............................................................................................22
5.2 FUTURAS LÍNEAS DE DESARROLLO ......................................................................................22
6 Bibliografía ...........................................................................................................................23
7 Anexos ..................................................................................................................................24
7.1 MANUAL DE USUARIO .........................................................................................................24
Trabajo Final de Grado
5/48
© E. Robres
1 Introducción
1.1 ANTECEDENTES
El proyecto se enmarca dentro del área de desarrollo de aplicaciones web, y el principal
motivo por el que se ha decidido realizarlo es por la observación de una carencia
existente de una aplicación en la que los usuarios de gimnasios puedan obtener
información en tiempo real sobre cuántas personas hay en un momento concreto en las
instalaciones, así como, de tener la información correspondiente sobre su dieta
personal, rutinas de entrenamientos y clases dirigidas, sin necesidad de tener que
desplazarse hasta el gimnasio para comprobarlo, pues en la actualidad, tanto las
rutinas de entrenamiento como las dietas y las clases dirigidas están plasmadas en
papel, y por lo tanto, hay que acudir físicamente al gimnasio para obtener dicha
información.
1.2 OBJETIVOS
Su desarrollo se centrará en:
● Permitir a los usuarios del gimnasio conectarse a la aplicación para que puedan
ver sus dietas personalizadas, rutinas de entrenamiento, las clases dirigidas y
los usuarios que están utilizando en ese momento las instalaciones.
● Gestionar la asistencia a las clases de spinning (ya que hay aforo máximo).
1.3 REQUERIMIENTOS
Los requerimientos de cliente son los siguientes:
● Presentación de los distintos servicios: dieta, entrenamiento y clases dirigidas.
● Distintos perfiles de usuario que permitan realizar diferentes tareas según el
perfil:
○ cliente, con acceso de lectura sobre los distintos servicios.
○ administrador, con permiso de lectura y escritura para cursar las
altas/bajas de los clientes.
● Acceso a la aplicación securizado.
● Cuenteo en tiempo real del número de usuarios que están utilizando las
instalaciones.
● Personalización, seguimiento y control de rutinas y dietas.
● Envío de un email para recordar el comienzo de una clase de spinning a los
usuarios que hayan reservado bicicletas, antes del comienzo de la misma.
Trabajo Final de Grado
6/48
© E. Robres
Como requerimientos a nivel técnico para la implementación de la aplicación se
proponen:
● Arquitectura de capas basada en el estándar JEE.
● Capa web con JSF, HTML y CSS.
● Lógica de negocio con JPA y EJBs.
● Capa de datos con BBDD MySQL.
Trabajo Final de Grado
7/48
© E. Robres
2 Anteproyecto
2.1 ESTADO DEL ARTE
Existen numerosas aplicaciones que nos ayudan a entrenar, como, por ejemplo:
- Total Fitness, una app que proporciona rutinas de entrenamiento.
- Sworkit, una app en la que se elige entre diferentes ramas: estiramientos, yoga,
cardio, fuerza… Se selecciona el tiempo de entrenamiento y la aplicación va
guiando al usuario durante la realización de las rutinas.
- Fistar Personal Trainer, una app en la que las rutinas ya están descritas y el
usuario sólo debe seguirlas.
- Vientre plano, una app para hacer ejercicios de abdominales.
- Gym Fitness & Workout, una app con más de 300 ejercicios para aprender cómo
realizarlos y poder hacer diferentes rutinas en el gimnasio.
Todas estas aplicaciones ya tienen diseñadas las rutinas de entrenamiento sin importar
el usuario que las utilice y sin ningún tipo de control sobre ellas. En la actualidad, es
sabido que una misma rutina de entrenamiento no sirve para todo tipo de personas y es
por ello que cada persona debe tener una rutina personalizada y adaptada para
alcanzar sus objetivos propuestos.
Por eso se propone la creación de esta app web, en la que cada usuario del gimnasio
dispondrá de un entrenador personal que le planificará las mejores rutinas de
entrenamiento adecuadas para él. Además, estas rutinas estarán en constante cambio
según transcurra el tiempo, ya que al tener el seguimiento continuo de la persona, se
podrán adaptar nuevos ejercicios y rutinas.
2.2 ENTORNOS DE DESARROLLO
2.2.1 IDE
● NetBeans IDE 8.2: es un entorno de desarrollo integrado libre, escrito en el
lenguaje de programación Java. Nos servirá de framework entre la capa web y la
capa de datos.
Trabajo Final de Grado
8/48
© E. Robres
2.2.2 Lenguajes de programación
● XHTML: es un lenguaje de descripción de páginas web normalizado según las
reglas XML.
● CSS3: es un lenguaje usado para definir la presentación de un documento
estructurado escrito en HTML o XML.
● Java: es un lenguaje de programación.
2.2.3 Servidor de bases de datos
● MySQL Server: es un sistema de gestión de base de datos relacional.
2.2.4 Servidor web
● GlassFish: es la implementación del servidor desarrollado por Oracle para dar
soporte a las capas web y de lógica de negocio en su modelo de arquitectura de
capas JEE.
2.3 ESTUDIO DE PROPUESTAS
2.3.1 Propuesta 1
En esta propuesta se propone el desarrollo de una aplicación web, en la que mediante
usuario y contraseña y como perfil de usuario, los usuarios del gimnasio puedan
acceder a su perfil y recuperar sus datos personales, así como las rutinas de
entrenamiento, dietas (personalizadas para cada usuario) y clases dirigidas.
La arquitectura y las características técnicas de la propuesta 1 son las siguientes:
● IDEs: Eclipse.
● Lenguajes de programación: Bootstrap, HTML/XML, Java.
● Servidor de bases de datos: MySQL Server.
● Servidor web: Apache.
2.3.2 Propuesta 2
En esta propuesta se propone el desarrollo de una aplicación web, en la que mediante
usuario y contraseña y como perfil de usuario, los usuarios del gimnasio puedan
acceder a su perfil y recuperar tanto sus datos personales como las rutinas de
entrenamiento, dietas (personalizadas para cada usuario) y clases dirigidas.
También habrá un perfil de administrador, quien podrá modificar cualquier perfil de
usuario del gimnasio.
Trabajo Final de Grado
9/48
© E. Robres
La arquitectura y las características técnicas de la propuesta 2 son las siguientes:
● IDEs: NetBeans IDE 8.2.
● Lenguajes de programación: CSS3, HTML/XML, Java.
● Servidor de bases de datos: MySQL Server.
● Servidor web: GlassFish.
2.4 JUSTIFICACIÓN
Se elige desarrollar la propuesta 2 por ser más completa que la 1 y utilizar las
arquitecturas vistas a lo largo del Grado en Ingeniería Informática.
Trabajo Final de Grado
10/48
© E. Robres
3 Implementación
3.1 ENTORNO DE DESARROLLO
La programación por capas es un modelo de desarrollo software en el que el objetivo
primordial es la separación (desacoplamiento) de las partes que compone un sistema
software o también una arquitectura cliente-servidor:
- Capa de presentación.
- Capa de cliente.
- Capa de negocio.
- Capa de datos.
Capa de cliente: la capa de cliente está formada por la lógica de la aplicación a la que
el usuario final accede directamente mediante una interfaz de usuario.
Como capa de cliente, el navegador web que utilice cada usuario.
Capa de presentación o capa de usuario: está formada por la lógica de aplicación
que prepara datos para su envío a la capa de cliente y procesa solicitudes desde la
capa de cliente para su envío a la lógica de negocios del servidor.
La lógica en la capa de presentación está formada normalmente por componentes de
J2EE como, por ejemplo, Java Servlet o los componentes de JSP que preparan los
datos para enviarlos en formato HTML o XML o que reciben solicitudes para
procesarlas.
Capa de negocio: es donde residen los programas que se ejecutan, se reciben las
peticiones del usuario y se envían las respuestas tras el proceso. Se denomina capa de
negocio (e incluso de lógica del negocio) porque es aquí donde se establecen todas las
reglas que deben cumplirse. Esta capa se comunica con la capa de presentación para
recibir las solicitudes y presentar los resultados, y con la capa de datos para solicitar al
gestor de base de datos almacenar o recuperar datos de él. También se consideran
aquí los programas de aplicación.
Trabajo Final de Grado
11/48
© E. Robres
Como capa de negocio, servidor GlassFish.
Capa de datos: es donde residen los datos y es la encargada de acceder a los
mismos. Está formada por uno o más gestores de bases de datos que realizan todo el
almacenamiento de datos, reciben solicitudes de almacenamiento o recuperación de
información desde la capa de negocio.
Como capa de datos. base de datos MySQL.
3.2 IMPLEMENTACIÓN PRÁCTICA
Configuración del IDE de NetBeans 8.2: se deja por defecto.
Configuración del pool de conexiones y resource JDBC en GlassFish:
Un pool de conexiones es un conjunto limitado de conexiones a una base de datos que
es manejado por un servidor de aplicaciones de forma tal que dichas conexiones
pueden ser reutilizadas por los diferentes usuarios. Este pool es administrado por un
servidor de aplicaciones que va asignando las conexiones a medida que los clientes
van solicitando consultas o actualizaciones de datos.
La idea general de un pool de conexiones es que cada vez que un cliente necesita una
conexión (esto es, cada vez que prepara un cursor, lo ejecuta, ejecuta una sentencia
directamente, etc.) se la solicita al pool. Esta conexión pertenece al cliente hasta que
de algún modo se determina que no la necesita más, y en ese momento se le puede
asignar la conexión a otro cliente.
Si un cliente necesita una conexión y no existe ninguna disponible, se queda
esperando hasta que alguna conexión se libere.
Un recurso JDBC (fuente de datos) proporciona a las aplicaciones un medio para
conectarse a una base de datos. Por lo general, el administrador crea un recurso JDBC
para cada base de datos a la que acceden las aplicaciones implementadas en un
dominio.
Trabajo Final de Grado
12/48
© E. Robres
En este caso, este recurso será utilizado desde el IDE de NetBeans para establecer la
conexión.
Para crear un pool de conexiones:
- Hay que darle un nombre.
- Seleccionamos el tipo de recurso, que generalmente es javax.sql.DataSource.
- Seleccionamos cuál es el proveedor de nuestra base de datos. (En nuestro
caso, MySQL.)
En propiedades adicionales se rellenan los siguientes campos:
- Password (el password con el que se accede a la base de datos).
- URL y url (para acceder a la base de datos)
(jdbc:mysql://localhost:3306/gimnasio).
- ServerName: localhost.
- User (el usuario con el que se accede a la base de datos) (root).
Para crear un recurso JDBC:
- Hay que darle un nombre.
- Seleccionamos con qué pool de conexiones se asociará nuestro recurso JDBC.
3.2.1 Modelo de la base de datos
Trabajo Final de Grado
13/48
© E. Robres
Tabla usuario:
- Usuario: varchar(20) PK,NN
- Password: varchar(64), default: null
- EsAdmin: smallint (6) default:0
- Activo: smallint (6), default: 0
- Email: varchar(100), NN
La tabla usuario sirve para almacenar los datos de los nuevos clientes en la base de
datos.
Tabla bicicletas:
- Id_bicicleta: INT(11), PK, NN,AI
- Descripción: varchar(200)
La tabla bicicletas sirve para almacenar la descripción de la bicicleta, que
corresponderá a la marca de la bicicleta.
Tabla imágenes:
- Id_imagen: INT(11), PK,NN,AI
- Usuario: varchar(20), defult:null
- Tipo: varchar(20), default:null
- Página: varchar(200), default:null
La tabla imágenes sirve para almacenar la página a la que pertenece la imagen, el tipo
de la imagen y el usuario al que pertenece la imagen.
Tabla clase:
- Id_actividad: INT(11), PK,NN
- Fecha_hora: DATETIME, PK,NN
La tabla clase sirve para almacenar la fecha y la hora de la clase de spinning.
Tabla clase-bicicletas:
- Id_bicicleta: INT(11), PK,NN
- Id_actividad: INT(11), PK,NN
- Fecha_hora: DATETIME, PK,NN
- Id_usuario: varchar(20),MUL, NN
La tabla clase-bicicletas sirve para almacenar los usuarios que reservan una bicicleta
en una clase.
Trabajo Final de Grado
14/48
© E. Robres
3.2.2 Maquetas
A continuación se presentan las maquetas diseñadas para una implementación inicial
de la aplicación. A partir de estas maquetas y en una segunda toma de requerimientos
con el cliente, se decide la apariencia final de las vistas de usuario.
Figura 1. Maquetas para las vistas de inicio de sesión, buscador y perfil de usuario
Inicio de sesión: donde el usuario iniciará sesión en la aplicación.
Buscador: donde el administrador buscará el perfil de cualquier usuario.
Perfil de usuario: mostrará el perfil del usuario en la aplicación.
Figura 2. Maquetas para las vistas de dieta definición muscular y dieta masa muscular
Trabajo Final de Grado
15/48
© E. Robres
Dieta definición muscular: en esta vista se mostrará la dieta actual (si la tiene) del
usuario.
Dieta masa muscular: en esta vista se mostrará la dieta actual (si la tiene) del usuario.
Figura 3. Maquetas para las vistas de rutinas de entrenamiento de volumen, definición, fuerza y abdominales
Rutina de entrenamiento de volumen: en esta vista se mostrará la rutina de
entrenamiento de volumen del usuario.
Rutina de entrenamiento de definición: en esta vista se mostrará la rutina de
entrenamiento de definición del usuario.
Rutina de entrenamiento de fuerza: en esta vista se mostrará la rutina de
entrenamiento de fuerza del usuario.
Rutina de entrenamiento de abdominales: en esta vista se mostrará la rutina de
abdominales del usuario.
Trabajo Final de Grado
16/48
© E. Robres
Figura 4. Maquetas para las vistas de clases de spinning, croosfit, gap y pilates
Trabajo Final de Grado
17/48
© E. Robres
Clases de spinning: vista donde se mostrará un calendario con las clases de spinning
de la semana y en la que un usuario podrá reservar una bicicleta para esa clase.
Clases de crossfit: vista donde se mostrará el calendario de clases de croosfit de la
semana.
Clases de gap: vista donde se mostrará el calendario de clases de gap de la semana.
Clases de pilates: vista donde se mostrará el calendario de clases de pilates de la
semana.
3.2.3 Diagramas de funcionamiento
Usuario del gimnasio:
No
Sí
No
Sí
Iniciar sesión
¿Inicio
correcto?
Perfil de usuario
Clases dirigidas
Spinning Gap Pilates Croosfit
Dietas
Volumen Definición
Rutinas de
entrenamiento
Volumen Fuerza Definición Abominales
¿Cerrar
sesión?
Fín
Trabajo Final de Grado
18/48
© E. Robres
Administrador del gimnasio:
No
Sí
No
Sí
No
Sí
Iniciar sesión
¿Inicio
correcto?
Perfil de usuario
Clases dirigidas
Spinning Gap Pilates Croosfit
Dietas
Volumen Definición
Rutinas de
entrenamiento
Volumen Fuerza Definición Abominales
¿Cerrar
sesión?
Fín
Página buscador
¿Usuario
encontrado?
Trabajo Final de Grado
19/48
© E. Robres
3.3. Pruebas
3.3.1 De sistema
Pruebas capa de cliente:
Comprobar a través del navegador web que accede y que se ve la aplicación
correctamente.
Navegadores probados: Firefox, Google Chrome e Internet Explorer.
Pruebas capa de presentación o capa de usuario:
Comprobar que le comunica la información y captura la información del usuario
correctamente introduciendo datos del usuario en la aplicación.
Pruebas capa de negocio:
Comprobar que tras los datos introducidos por los usuarios, se comunica y devuelve los
resultados correctamente, así como la comunicación con la capa de datos.
Pruebas capa de datos:
Comprobar que se guardan, modifican y se recuperan los datos correctamente de la
base de datos.
3.3.2 De integración de sistemas
En modo administrador, se ha simulado que un nuevo usuario se ha hecho socio del
gimnasio, se le ha dado de alta en el sistema y se ha procedido a buscar su perfil de
usuario. Una vez encontrado, se le ha subido una imagen de una dieta de definición,
así como una imagen de una rutina de entrenamiento de definición personalizada para
ese usuario.
En modo usuario, se ha accedido a la aplicación con el usuario y contraseña
proporcionados por el gimnasio y se ha accedido al perfil del usuario, donde se pueden
ver las dietas, las rutinas de entrenamiento, clases dirigidas y los usuarios activos en
ese momento en el gimnasio.
Se ha accedido a la sección de dietas, en la que se muestra una imagen de una dieta
de definición para el usuario.
Se ha accedido a la sección de rutinas de entrenamiento, en la que se muestra una
imagen de una rutina de entrenamiento de definición para el usuario.
Se ha accedido a la sección de clases dirigidas, y en las clases de spinning se muestra
el calendario con los horarios que hay disponibles durante la semana, pudiéndose
realizar la reserva de una bicicleta.
Tanto en las clases de croosfit, gap y pilates se muestra el horario de dichas clases.
Trabajo Final de Grado
20/48
© E. Robres
3.3.3 De volumen
Este tipo de prueba se refiere a la capacidad máxima que tiene un servidor web para
atender a un conjunto de usuarios de manera simultánea.
Las pruebas en este caso consisten en simular una carga de trabajo similar y superior a
la que tendrá cuando la aplicación esté funcionando, con el fin de detectar si el
software instalado (programas y aplicaciones) cumple con los requerimientos de
muchos usuarios simultáneos y también si el hardware (servidor) es capaz de soportar
la cantidad de visitas esperadas.
Como en teoría el número de usuarios simultáneos no va a ser elevado, la prueba de
volumen se ha realizado con 3 usuarios simultáneos y ha funcionado correctamente.
Trabajo Final de Grado
21/48
© E. Robres
4 Resultados
4.1 MIGRACIÓN AL ENTORNO DE PRODUCCIÓN
Para pasar la aplicación al entorno de producción, se podría buscar un proveedor de
hosting, por ejemplo, anw webhosting and domains names. Este proveedor de hosting
proporciona un servidor GlassFish, así como una base de datos MySQL, en la que
podríamos alojar la aplicación web.
4.2 INSTALACIÓN DE LA APLICACIÓN
El usuario solamente tiene que disponer de un ordenador personal, conexión a internet
y un navegador web.
Trabajo Final de Grado
22/48
© E. Robres
5 Conclusiones
5.1 CONCLUSIONES PERSONALES
El desarrollo de este proyecto ha sido un reto en el que se han puesto en práctica los
conocimientos adquiridos a lo largo del Grado en Ingeniería Informática.
5.2 FUTURAS LÍNEAS DE DESARROLLO
Como futuros desarrollos de la aplicación, se podrían señalar que permitiese subir
archivos multimedia, así como dar de alta la aplicación en redes sociales.
Trabajo Final de Grado
23/48
© E. Robres
6 Bibliografía
COMUNIDAD MDN. MDN Web Docs, moz://lla. <https://developer.mozilla.org>
[Consulta: septiembre-noviembre de 2019]
CPD, Códigos para desarrolladores.
<https://codigosparadesarrolladores.blogspot.com> [Consulta:
septiembre-octubre de 2019]
CUERVO, V. Línea de Código. <http://lineadecodigo.com> [Consulta:
septiembre-noviembre de 2019]
DROSOPOULOU, E. et al. Java Code Geeks (JCGs). Java 2 Java developers
resource center. <https://examples.javacodegeeks.com> [Consulta:
septiembre-noviembre de 2019]
ORACLE CORPORATION. Documentation. En: Oracle Help Center.
<https://docs.oracle.com> [Consulta: septiembre de 2019-enero de 2020]
ORACLE CORPORATION Y/O SUS FILIALES. Developer zone. En: MySQL.
<https://dev.mysql.com> [Consulta: septiembre de 2019–enero de 2020]
REFSNES DATA. W3Schools.com. The world’s largest web developer site.
<https://www.w3schools.com> [Consulta: octubre–diciembre de 2019]
SALAS, I. Programando o Intentándolo.
<https://programandoointentandolo.com> [Consulta: octubre–diciembre de
2019]
Stack Overflow. <https://stackoverflow.com> [Consulta: octubre–
noviembre de 2019]
Wikipedia. La enciclopedia libre. <https://es.wikipedia.org> [Consulta:
diciembre de 2019]
Trabajo Final de Grado
24/48
© E. Robres
7 Anexos
7.1 MANUAL DE USUARIO
Funcionamiento de la app:
Modo administrador
Iniciar sesión como administrador:
El administrador del gimnasio accederá al sistema con su nombre de usuario y
contraseña.
Trabajo Final de Grado
25/48
© E. Robres
Crear un usuario:
El administrador del gimnasio pedirá unos datos al cliente para darlo de alta en el
sistema.
Datos a rellenar:
- Nombre de usuario.
- Contraseña.
- E-mail.
Buscar un usuario:
Se introducirá el nombre del usuario a buscar para acceder a su perfil personal.
Borrar un usuario:
Se introducirá el nombre del usuario a borrar para darlo de baja en el sistema.
Página del perfil de usuario buscado:
Trabajo Final de Grado
26/48
© E. Robres
Crear una dieta de definición muscular:
Se pulsará en el botón “examinar”, se elegirá la imagen de la dieta a subir y se pulsará
en el botón subir. A continuación se mostrará la imagen de la dieta subida en la página.
Borrar una dieta:
- Se pulsará en el botón “borrar imagen”.
Volver a la página del buscador:
- Se pulsará en el botón “volver al buscador”.
Volver a la página del perfil del usuario:
- Se pulsará en el botón “perfil”.
Trabajo Final de Grado
27/48
© E. Robres
Crear una dieta de masa muscular:
Se pulsará en el botón “examinar”, se elegirá la imagen de la dieta a subir y se pulsará
en el botón subir. A continuación se mostrará la imagen de la dieta subida en la página.
Borrar una dieta:
- Se pulsará en el botón “borrar imagen”.
Volver a la página del buscador:
- Se pulsará en el botón “volver al buscador”.
Volver a la página del perfil del usuario:
- Se pulsará en el botón “perfil”.
Trabajo Final de Grado
28/48
© E. Robres
Crear una rutina de entrenamiento de volumen:
Se pulsará en el botón “examinar”, se elegirá la imagen de la rutina de entrenamiento a
subir y se pulsará en el botón subir. A continuación se mostrará la imagen de la rutina
de entrenamiento subida en la página.
Borrar una rutina de entrenamiento:
- Se pulsará en el botón “borrar imagen”.
Volver a la página del buscador:
- Se pulsará en el botón “volver al buscador”.
Volver a la página del perfil del usuario:
- Se pulsará en el botón “perfil”.
Trabajo Final de Grado
29/48
© E. Robres
Crear una rutina de entrenamiento de definición:
Se pulsará en el botón “examinar”, se elegirá la imagen de la rutina de entrenamiento a
subir y se pulsará en el botón subir. A continuación se mostrará la imagen de la rutina
de entrenamiento subida en la página.
Borrar una rutina de entrenamiento:
- Se pulsará en el botón “borrar imagen”.
Volver a la página del buscador:
- Se pulsará en el botón “volver al buscador”.
Volver a la página del perfil del usuario:
- Se pulsará en el botón “perfil”.
Trabajo Final de Grado
30/48
© E. Robres
Crear una rutina de entrenamiento de fuerza:
Se pulsará en el botón “examinar”, se elegirá la imagen de la rutina de entrenamiento a
subir y se pulsará en el botón subir. A continuación se mostrará la imagen de la rutina
de entrenamiento subida en la página.
Borrar una rutina de entrenamiento:
- Se pulsará en el botón “borrar imagen”.
Volver a la página del buscador:
- Se pulsará en el botón “volver al buscador”.
Volver a la página del perfil del usuario:
- Se pulsará en el botón “perfil”.
Trabajo Final de Grado
31/48
© E. Robres
Crear una rutina de entrenamiento de abdominales:
Se pulsará en el botón “examinar”, se elegirá la imagen de la rutina de entrenamiento a
subir y se pulsará en el botón subir. A continuación se mostrará la imagen de la rutina
de entrenamiento subida en la página.
Borrar una rutina de entrenamiento:
- Se pulsará en el botón “borrar imagen”.
Volver a la página del buscador:
- Se pulsará en el botón “volver al buscador”.
Volver a la página del perfil del usuario:
- Se pulsará en el botón “perfil”.
Trabajo Final de Grado
32/48
© E. Robres
Crear una clase dirigida de spinning:
En el menú desplegable, se elegirá la semana en la que se quiere poner la clase de
spinning y en la tabla se elegirá el día y la hora pulsando sobre el recuadro.
Una vez se haya pulsado, se pondrá de color verde, informando de que se ha puesto
una clase de spinning para ese día y hora.
También se podrá dar de alta y baja una bicicleta. Para ello, se escribirá la marca de la
bicicleta y se pulsará sobre los botones “Añadir bicicleta” o “Borrar bicicleta”.
Volver a la página del buscador:
- Se pulsará en el botón “volver al buscador”.
Volver a la página del perfil del usuario:
- Se pulsará en el botón “perfil”.
Trabajo Final de Grado
33/48
© E. Robres
Crear un horario para las clases de croosfit:
Se pulsará en el botón “examinar”, se elegirá la imagen del horario de la clase de
croosfit y se pulsará en el botón subir. A continuación se mostrará la imagen del horario
de croosfit.
Borrar un horario de la clase de croosfit:
- Se pulsará en el botón “borrar imagen”.
Volver a la página del buscador:
- Se pulsará en el botón “volver al buscador”.
Volver a la página del perfil del usuario:
- Se pulsará en el botón “perfil”.
Trabajo Final de Grado
34/48
© E. Robres
Crear un horario de la clase de gap:
Se pulsará en el botón “examinar”, se elegirá la imagen del horario de la clase de gap y
se pulsará en el botón subir. A continuación se mostrará la imagen del horario de gap.
Borrar un horario de la clase de gap:
- Se pulsará en el botón “borrar imagen”.
Volver a la página del buscador:
- Se pulsará en el botón “volver al buscador”.
Volver a la página del perfil del usuario:
- Se pulsará en el botón “perfil”.
Trabajo Final de Grado
35/48
© E. Robres
Crear un horario de la clase de pilates:
Se pulsará en el botón “examinar”, se elegirá la imagen del horario de la clase de
pilates y se pulsará en el botón subir. A continuación se mostrará la imagen del horario
de pilates.
Borrar un horario de la clase de pilates:
- Se pulsará en el botón “borrar imagen”.
Volver a la página del buscador:
- Se pulsará en el botón “volver al buscador”.
Volver a la página del perfil del usuario:
- Se pulsará en el botón “perfil”.
Trabajo Final de Grado
36/48
© E. Robres
Cerrar sesión en modo administrador:
Se accederá a la pantalla del perfil de usuario y se pulsará sobre el botón rojo de cerrar
sesión.
Trabajo Final de Grado
37/48
© E. Robres
Modo usuario
Iniciar sesión en modo usuario:
El usuario del gimnasio accederá al sistema con su nombre de usuario y contraseña.
Página de perfil del usuario:
Trabajo Final de Grado
38/48
© E. Robres
Consultar una dieta de definición muscular:
Si el usuario tiene una dieta de definición muscular asignada, se mostrará en pantalla.
Volver al perfil del usuario:
- Se pulsará en el botón “volver al perfil”.
Trabajo Final de Grado
39/48
© E. Robres
Consultar una dieta de masa muscular:
Si el usuario tiene una dieta de masa muscular asignada, se mostrará en pantalla.
Volver al perfil del usuario:
- Se pulsará en el botón “volver al perfil”.
Trabajo Final de Grado
40/48
© E. Robres
Consultar una rutina de entrenamiento de volumen:
Si el usuario tiene una rutina de entrenamiento de volumen asignada, se mostrará en
pantalla.
Volver al perfil del usuario:
- Se pulsará en el botón “volver al perfil”.
Trabajo Final de Grado
41/48
© E. Robres
Consultar una rutina de entrenamiento de definición muscular:
Si el usuario tiene una rutina de entrenamiento de definición muscular asignada, se
mostrará en pantalla.
Volver al perfil del usuario:
- Se pulsará en el botón “volver al perfil”.
Trabajo Final de Grado
42/48
© E. Robres
Consultar una rutina de entrenamiento de fuerza:
Si el usuario tiene una rutina de entrenamiento de fuerza asignada, se mostrará en
pantalla.
Volver al perfil del usuario:
- Se pulsará en el botón “volver al perfil”.
Trabajo Final de Grado
43/48
© E. Robres
Consultar una rutina de entrenamiento de abdominales:
Si el usuario tiene una rutina de entrenamiento de abdominales asignada, se mostrará
en pantalla.
Volver al perfil del usuario:
- Se pulsará en el botón “volver al perfil”.
Trabajo Final de Grado
44/48
© E. Robres
Consultar clases de spinning:
- El usuario seleccionará la semana correspondiente para ver las clases de
spinning disponibles.
- Se mostrará la semana correspondiente con las clases activas en verde.
- El usuario podrá reservar una bicicleta pulsando sobre el recuadro verde.
Volver al perfil de usuario:
- Se pulsará en el botón “volver al perfil”.
Trabajo Final de Grado
45/48
© E. Robres
Consultar clases de croosfit:
En la página de croosfit se mostrará una imagen con los horarios establecidos para
esas clases.
Volver al perfil de usuario:
- Se pulsará en el botón “volver al perfil”.
Trabajo Final de Grado
46/48
© E. Robres
Consultar clases de gap:
En la página de gap se mostrará una imagen con los horarios establecidos para esas
clases.
Volver al perfil de usuario:
- Se pulsará en el botón “volver al perfil”.
Trabajo Final de Grado
47/48
© E. Robres
Consultar clases de pilates:
En la página de pilates se mostrará una imagen con los horarios establecidos para
esas clases.
Volver al perfil de usuario:
- Se pulsará en el botón “volver al perfil”.
Trabajo Final de Grado
48/48
© E. Robres
Cerrar sesión en modo usuario:
Se accederá a la pantalla de perfil de usuario y se pulsará sobre el botón rojo de cerrar
sesión.