DS4B utiliza Laravel como framework base. Para obtener más detalles sobre Laravel, consulta la documentación oficial.
- Totalmente dockerizado.
- Optimizado para su uso exclusivo como API (no se gestionan vistas a través de rutas web, aunque siguen disponibles si se necesitan).
- Autenticación completa mediante JWT.
- Gestión de sesión y tokens en base de datos.
- Gestión de roles y permisos mediante Laratrust:
- Sistema RBAC completo basado en las Policies de Laravel.
- Estandarización de permisos a través del enumerable
DsPermission
.
- Módulo de API Keys revocables.
- Módulo de rutas de mantenimiento directas.
- Permite habilitar o deshabilitar funcionalidades completas del aplicativo desde la configuración en
config/app.php
(secciónfeatures
).
- Los mismos requisitos que Laravel (consulta la documentación oficial).
- PHP 8.2+
- Composer
- Docker instalado en tu máquina.
- Archivo
.env
correctamente configurado con las variables de entorno necesarias, especialmente las de la base de datos.
Este proyecto utiliza un único archivo .env
para definir las variables de entorno, incluyendo la configuración de la base de datos. La base de datos no se configura en los archivos docker-compose
, sino que depende completamente de este archivo.
Asegúrate de que el archivo .env
esté configurado con la conexión a la base de datos.
Ejecuta el siguiente comando si se está usando Docker:
docker compose -f docker-compose.dev.yml up
Accede a la aplicación en http://localhost:8080.
Si NO se está usando Docker:
php artisan serve
Accede a la aplicación en http://localhost:8000.
- Los cambios en el código se sincronizan en tiempo real.
- La base de datos debe estar configurada en el
.env
y accesible desde el contenedor.
Archivos: docker-compose.prod.yml
y Dockerfile
En producción, el código se incluye en la imagen Docker para mayor seguridad, y solo el directorio storage/
se monta como volumen para persistir datos.
Asegúrate de que el archivo .env
esté configurado con la conexión a la base de datos.
Construye y ejecuta la aplicación con:
docker compose -f docker-compose.prod.yml up --build
Si no se está usando Docker, asegúrese que el servidor esté apuntando al archivo index.php
en /public
como punto de partida y que los demás directorios estén protegidos.
DS4B uses Laravel as its base framework. For more details on Laravel, check the official documentation.
- Fully dockerized.
- Optimized exclusively for API usage (web routes do not handle views, although they are still available if needed).
- Complete authentication using JWT.
- Session and token management in the database.
- Role and permission management using Laratrust:
- Full RBAC system based on Laravel Policies.
- Standardized permissions through the
DsPermission
enum.
- Revocable API Keys module.
- Direct maintenance routes module.
- Allows enabling or disabling entire application functionalities from the
config/app.php
configuration file (under thefeatures
section).
- The same requirements as Laravel (check the official documentation).
- PHP 8.2+
- Composer
- Docker installed on your machine.
- A properly configured
.env
file with the required environment variables, especially those related to the database.
This project uses a single .env
file to define environment variables, including database configuration. The database is not configured in the docker-compose
files but relies entirely on this file.
Ensure the .env
file is set up with the correct database connection.
Run the following command if using Docker:
docker compose -f docker-compose.dev.yml up
Access the application at http://localhost:8080.
If NOT using Docker:
php artisan serve
Access the application at http://localhost:8000.
- Code changes sync in real time.
- The database must be set up in the
.env
file and accessible from the container.
Files: docker-compose.prod.yml
and Dockerfile
In production, the code is included in the Docker image for better security, and only the storage/
directory is mounted as a volume to persist data.
Ensure the .env
file is set up with the correct database connection.
Build and run the application with:
docker compose -f docker-compose.prod.yml up --build
If not using Docker, make sure the server is pointing to the index.php
file inside /public
as the entry point and that other directories are protected.