This project is a simple hexagonal architecture API.
This project is Dockerized
-
Default environment parameters can be found and updated in
.env.example
-
When running on the first time: to install containers and dependencies, run
make install-app
. -
migrate & seed: to generate migrations run command
docker exec laravel-manhole php artisan migrate:fresh
. Then run seeds withdocker exec laravel-manhole php artisan db:seed
.
Docker containers auto-starts in background whe the application is installed.
To serve the app, run make run
and app containers will start. Application is served on port 8000.
To stop containers and remove containers, networks, volumes, and images created, run make down
Documentation is generated with Swagger. To read endpoints docs, go to /api/documentation
in your browser.
If you have used Docker default configuration, it will be available in http://localhost:8000/api/documentation.
- Testing
- Command bus
- EloquentModel - DomainModel adapter
If you discover a security vulnerability, please send an e-mail to Sergio Martín via [email protected]. All security vulnerabilities will be promptly addressed.
This software is open-sourced software licensed under the MIT license.
This project has been developed following the principles of DDD & hexagonal architecture.