Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

185 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 GymBook - README

¡Bienvenidos a GymBook! 🎉 Esta es una aplicación diseñada para gestionar tu gimnasio de manera eficiente y sencilla. A continuación, encontrarás toda la información necesaria para comenzar a usarla.

📋 Índice


🚀 Características

  • Registro de Usuarios: Permite a los usuarios registrarse y gestionar su información personal. 📝
  • Clases y Entrenadores: Visualiza las clases disponibles y los entrenadores asignados. 🏋️‍♂️
  • Inscripciones: Los usuarios pueden inscribirse en las clases de su elección. 📅
  • Gestión de Roles: Administra diferentes roles de usuario (administrador, entrenador, etc.). 👥
  • Configuración de Notificaciones: Personaliza las preferencias de notificación. 🔔
  • Modo Oscuro: Cambia a un tema oscuro para una mejor experiencia visual. 🌙

📦 Instalación

🧰 Requisitos Previos

  • Java 17 o superior
  • Maven
  • Node.js y npm (para usar MailDev)

🧪 Paso a Paso

  1. Clona el repositorio:

    git clone https://github.com/tu_usuario/GymBook.git
  2. Navega al directorio del proyecto:

    cd GymBook
    
  3. Instala las dependencias:

    mvn install
    
  4. Ejecuta la aplicación:

    mvn spring-boot:run
    
  5. Accede a la aplicación: Abre tu navegador en http://localhost:8080.


📧 Configurar MailDev

MailDev es un servidor SMTP local que permite simular el envío de correos electrónicos, útil para desarrollo.

✅ Instalación (si no lo tienes instalado globalmente):

npm install -g maildev

O alternativamente, puedes ejecutarlo directamente con npx sin instalarlo globalmente:

npx maildev

🚀 Ejecución:

Si lo tienes instalado globalmente, simplemente ejecuta:

maildev

🌐 Interfaz Web:

Una vez iniciado, accede a la interfaz visual en:

http://localhost:1080

🛠️ Tecnologías Utilizadas

Backend

  • Java
  • Spring Boot
  • JPA (Java Persistence API)
  • MySQL

Frontend

  • React
  • Axios para las solicitudes HTTP

📖 Uso

  1. Registro de Usuario: Dirígete a la página de registro y completa el formulario.
  2. Iniciar Sesión: Usa tus credenciales para acceder a tu cuenta. 🔑
  3. Reservar Clases: Navega a la sección de clases y selecciona la que deseas reservar.
  4. Configuración: Ajusta tus preferencias en la sección de configuración. ⚙️

🧪 Pruebas Postman

🔐 Autenticación

Iniciar sesión

Autenticación

Iniciar sesión

  • POST: http://localhost:8080/auth/login

  • Cuerpo (JSON):

{
  "email": "ana.garcia@example.com",
  "password": "password123"
}

Image

Recuperar contraseña (requiere MailDev ejecutándose)

  • POST: http://localhost:8080/auth/forgot-password
  • Cuerpo (JSON):
{
  "email": "ana.garcia@example.com"
}

Image


Usuarios

👤 Usuarios

Crear usuario

  • POST: http://localhost:8080/usuarios
  • Cuerpo (JSON):
{
  "nombre": "Nombre del Usuario",
  "email": "usuario@example.com",
  "password": "tu_contraseña",
  "telefono": "123456789"
}

Image

Obtener todos los usuarios

  • GET: http://localhost:8080/usuarios

image

Obtener usuario por ID

  • GET: http://localhost:8080/usuarios/{id}

image

Actualizar usuario

  • PUT: http://localhost:8080/usuarios/{id}
  • Cuerpo (JSON):
{
  "nombre": "Nuevo Nombre",
  "email": "nuevo_email@example.com",
  "password": "nueva_contraseña",
  "telefono": "12345678"
}

image

Eliminar usuario

  • DELETE: http://localhost:8080/usuarios/{id}

image

image


🧑‍🏫 Entrenadores

Obtener todos los entrenadores

  • GET: http://localhost:8080/entrenadores

image

Obtener entrenador por ID

  • GET: http://localhost:8080/entrenadores/{id}

image


🧘 Clases

Obtener todas las clases

  • GET: http://localhost:8080/clases

image

Obtener clase por ID

  • GET: http://localhost:8080/clases/{id}

image


🥋 Disciplinas

Crear disciplina

  • POST: http://localhost:8080/disciplinas
  • Cuerpo (JSON):
{
  "nombre": "Nombre de la Disciplina"
}

image

Obtener todas las disciplinas

  • GET: http://localhost:8080/disciplinas

image


📊 Base de Datos

La estructura de la base de datos se puede visualizar en el siguiente diagrama:

Diagrama de Base de Datos

🤝 Contribuciones

¡Las contribuciones son bienvenidas! Si deseas contribuir, por favor sigue estos pasos:

  1. Haz un fork del proyecto.
  2. Crea una nueva rama (git checkout -b feature/nueva-caracteristica).
  3. Realiza tus cambios y haz un commit (git commit -m 'Añadir nueva característica').
  4. Envía un pull request.

📞 Contacto

Si tienes alguna pregunta o sugerencia, no dudes en contactarme:

👥 Personas Implicadas

🎉 ¡Gracias por usar GymBook!

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages