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.
- Docker (https://docs.docker.com/get-docker/)
- Docker Compose (https://docs.docker.com/compose/install/)
- Acceso a la base de datos MySQL externa (configurada en
.envde backend)
/Backend- Código fuente Laravel 12 (API)/Frontend- Código fuente Angular 19 (SPA)
git clone https://tu-repositorio.git
cd tu-repositorioBackend 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- 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











