Skip to content

Adrisoupro/escape-room-booking-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proyecto Escape Room - Backend Laravel + Frontend Angular

Este repositorio contiene la aplicación completa para la gestión de un escape room, con backend en Laravel 12 y frontend en Angular 19. La aplicación se despliega usando Docker y Docker Compose para facilitar su instalación y puesta en marcha.


Requisitos previos


Estructura del proyecto

  • /Backend - Código fuente Laravel 12 (API)
  • /Frontend - Código fuente Angular 19 (SPA)

Levantar la aplicación con Docker Compose

1. Clonar el repositorio

git clone https://tu-repositorio.git
cd tu-repositorio

2. Configurar variables de entorno

Backend Laravel: revisa y modifica si hace falta el archivo .env dentro de /Backend para configurar la conexión a la base de datos y demás servicios:
Para la base de datos:

  • DB_HOST=tu_host

  • DB_CONNECTION=mysql

  • DB_PORT=3306

  • DB_DATABASE=tu_basedatos

  • DB_USERNAME=tu_usuario

  • DB_PASSWORD=tu_password

    Para el servicio de correo electronico:

  • MAIL_MAILER=smtp

  • MAIL_SCHEME=null

  • MAIL_HOST=smtp.gmail.com

  • MAIL_PORT=465

  • MAIL_USERNAME=tu_email

  • MAIL_PASSWORD=tu_password_de_aplicacion

  • MAIL_FROM_ADDRESS=remitente_de_los_correos

  • MAIL_FROM_NAME=nombre_en _los_correos

  • MAIL_ENCRYPTION=ssl

3. Una vez configurado todo, nos situamos en la ruta donde hemos clonado el repositorio o copiado los ficheros:

  • La primera vez o cuando realicemos cambios en las dependencias de laravel o angular, deberemos usar:
docker compose up --build -d  
  • En cambio si sólo son cambios en ficheros podemos usar:
docker compose restart  
  • Si queremos eliminar los contenedores y volver a crearlos usamos:
docker compose down  
docker compose up --build -d  
  • Una vez tenemos nuestro contenedores funcionando utilizaremos estos comandos para generar la clave de Laravel (necesaria para cifrados, sesiones, etc.), y la clave secreta para nuestro JWT:
docker exec -it laravel_app php artisan key:generate  
docker exec -it laravel_app php artisan jwt:secret   
  • Vincula el storage público para que las imágenes sean accesibles vía URL:
sudo docker exec -it laravel_app php artisan storage:link
  • Ejecutar las migraciones sin eliminar lo existente:
sudo docker exec -it laravel_app php artisan migrate --force
  • O con migración fresh (elimina todas las tablas y vuelve a migrar desde cero), tambien aplicamos los seeders:
sudo docker exec -it laravel_app php artisan migrate:fresh --seed --force
  • Opcionalmente podemos verificar permisos en la carpeta storage para evitar problemas de escritura:
sudo docker exec -it laravel_app chown -R www-data:www-data storage bootstrap/cache  
sudo docker exec -it laravel_app chmod -R 775 storage bootstrap/cache

¡Listo!, tienes todo configurado para comenzar.

4. Tips:

  • Si has usado los seeders por defecto en mi aplicacion, se te habrán creado en tu base de datos un escape-room, una sala y un usuario administrador. Las credenciales son:
user: admin@example.es
password: password

5. Ahora pondré algunas imagenes de la apariencia de la aplicación:

Página principal

Home


Login

Login


Regitro

Register


Reservas del usuario

User reservation


Detalle de reserva

Reservation detail


Selección de sala

Rooms


Realización de reserva

Reservation


Gestión de cuenta

Account


Todas las reservas (Admin)

All reservations


Lista de usuarios (Admin)

User list


Filtro de usuarios (Admin)

User filter


Actualización del escape (Admin)

Update


About

Aplicación web para la reserva y gestión de salas de escape room, desarrollada con Angular y Laravel.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors