This project implements a RESTful API for task management using Laravel 12. It features typical CRUD operations including task creation, retrieval, update, and deletion, secured with Sanctum authentication. The controller uses command and query buses for clean separation of concerns and returns structured JSON responses through API resources.
- Docker & Docker Compose installed
- Bash (for cert script)
- Optional: g++ (if not available, an alternative method is provided)
$ bash ./certgen.sh
Use the provided Makefile to orchestrate containers:
$ make build
If you don't have g++ installed, use these Docker commands manually:
$ docker network create app-network
$ docker compose \
-f docker-compose.yml \
-f vendor/docker-compose.nginx.yml \
-f vendor/docker-compose.redis.yml \
up --build -d --remove-orphans
$ docker compose exec app composer install --prefer-dist --optimize-autoloader
$ docker compose exec app cp .env.example .env
$ docker compose exec app php artisan key:generate
$ docker compose exec app php artisan migrate:fresh --seed
For help with available Makefile commands:
$ make help
| Command | Description |
|---|---|
| make build | Build and start containers |
| make start | Start containers |
| make stop | Stop and remove containers and volumes |
| make restart | Restart all containers |
This project is licensed under the MIT License.