https://github.com/mikelgoig/php-sandbox-project
🎯 Hexagonal Architecture + DDD + CQRS + Event Sourcing in PHP using Symfony 7.
https://github.com/mikelgoig/php-sandbox-project
cqrs ddd event-sourcing hexagonal-architecture php php8 symfony symfony7
Last synced: 5 months ago
JSON representation
🎯 Hexagonal Architecture + DDD + CQRS + Event Sourcing in PHP using Symfony 7.
- Host: GitHub
- URL: https://github.com/mikelgoig/php-sandbox-project
- Owner: mikelgoig
- Created: 2024-12-04T17:12:44.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-01-29T23:47:03.000Z (5 months ago)
- Last Synced: 2025-01-30T00:25:49.568Z (5 months ago)
- Topics: cqrs, ddd, event-sourcing, hexagonal-architecture, php, php8, symfony, symfony7
- Language: PHP
- Homepage:
- Size: 1.61 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Hexagonal Architecture, CQRS, DDD & Event Sourcing in PHP
Created by Mikel Goig.---
Sandbox project of a **PHP microservice using Hexagonal Architecture, CQRS, DDD and Event Sourcing**, keeping the code
as simple as possible.This microservice is just a component of a **Bookshop System**, which is in charge of managing the book catalog.
The project runs on a [Docker](https://www.docker.com)-based installer and runtime for the
[Symfony](https://symfony.com) web framework, with [FrankenPHP](https://frankenphp.dev) and
[Caddy](https://caddyserver.com) inside!## 😎 Getting Started
### 🐳 Needed Tools
- [Docker Compose](https://docs.docker.com/compose/install) (v2.10+)
### 🦊 Code
1. Clone this project:
```bash
git clone https://github.com/mikelgoig/php-sandbox-project.git
```2. Move to the project folder:
```bash
cd php-sandbox-project
```### 🔥 Execution
1. Start the project with Docker executing:
```bash
make start
```2. Then you'll have the application available at https://localhost:4443.
3. [Accept the auto-generated TLS certificate](https://stackoverflow.com/questions/7580508/getting-chrome-to-accept-self-signed-localhost-certificate/15076602#15076602).
4. Stop the Docker containers:
```bash
make down
```### ✅ Tests
_TO DO_
## 👩💻 Project Explanation
### Reference
- [Environment Variables](docs/reference/environment-variables.md)
### Architecture
- [System Architecture Style](docs/architecture/architecture-style.md)
- [Architecture Diagrams](docs/architecture/architecture-diagrams.md)
- [Tech Stack](docs/architecture/tech-stack.md)
- [Bounded Contexts](docs/architecture/bounded-contexts.md)
- [Use Cases](docs/architecture/use-cases.md)### Version Control
- [Branching Strategy](docs/version-control/branching-strategy.md)
### API
- [Health Check](docs/api/health-check.md)
### Operations
- [Deployment](docs/operations/deployment.md)
- [Monitoring](docs/operations/monitoring.md)## 🤩 Extra
This sandbox project has been created using both templates [symfony/skeleton](https://github.com/dunglas/symfony-docker)
and [dunglas/symfony-docker](https://github.com/dunglas/symfony-docker).This README has been written using this [README checklist](https://github.com/ddbeck/readme-checklist).