Top AI Repos β open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
ππ― Hexagonal Architecture + DDD + CQRS in PHP using Symfony 7
| Date | Stars |
|---|---|
| 2026-07-24 | 3144 |
| 2026-07-25 | 3144 |
| 2026-07-28 | 3144 |
| 2026-07-30 | 3144 |
| 2026-08-06 | 3144 |
Today
β stars today
This week
β stars this week
This month
β stars this month
Momentum
0.0
growth rate 0.00%/day
<p align="center">
<a href="https://codely.com">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://codely.com/logo/codely_logo-dark.svg">
<source media="(prefers-color-scheme: light)" srcset="https://codely.com/logo/codely_logo-light.svg">
<img alt="Codely logo" src="https://codely.com/logo/codely_logo.svg">
</picture>
</a>
</p>
<h1 align="center">
ππ― Hexagonal Architecture, DDD & CQRS in PHP
</h1>
<p align="center">
<a href="https://github.com/CodelyTV"><img src="https://img.shields.io/badge/Codely-OS-green.svg?style=flat-square" alt="Codely Open Source projects"/></a>
<a href="http://pro.codely.tv"><img src="https://img.shields.io/badge/CodelyTV-PRO-black.svg?style=flat-square" alt="CodelyTV Courses"/></a>
<a href="#"><img src="https://img.shields.io/badge/Symfony-7-purple.svg?style=flat-square&logo=symfony" alt="Symfony 7"/></a>
<a href="https://shepherd.dev/github/CodelyTV/php-ddd-example"><img src="https://shepherd.dev/github/CodelyTV/php-ddd-example/coverage.svg" alt="Type Coverage"/></a>
<a href="https://github.com/CodelyTV/php-ddd-example/actions"><img src="https://github.com/CodelyTV/php-ddd-example/workflows/CI/badge.svg?branch=master" alt="CI pipeline status" /></a>
</p>
<p align="center">
Example of a <strong>PHP application using Domain-Driven Design (DDD) and Command Query Responsibility Segregation
(CQRS) principles</strong> keeping the code as simple as possible.
<br />
<br />
Take a look, play and have fun with this.
<a href="https://github.com/CodelyTV/php-ddd-example/stargazers">Stars are welcome π</a>
<br />
<br />
<a href="https://www.youtube.com/watch?v=1kaP39W80zQ">View Demo</a>
Β·
<a href="https://github.com/CodelyTV/php-ddd-example/issues">Report a bug</a>
Β·
<a href="https://github.com/CodelyTV/php-ddd-example/issues">Request a feature</a>
</p>
## π Environment Setup
### π³ Needed tools
1. [Install Docker](https://www.docker.com/get-started)
2. Clone this project: `git clone https://github.com/CodelyTV/php-ddd-example php-ddd-example`
3. Move to the project folder: `cd php-ddd-example`
### π οΈ Environment configuration
1. Create a local environment file (`cp .env .env.local`) if you want to modify any parameter
### π₯ Application execution
1. Install all the dependencies and bring up the project with Docker executing: `make build`
2. Then you'll have 3 apps available (2 APIs and 1 Frontend):
1. [Mooc Backend](apps/mooc/backend): http://localhost:8030/health-check
2. [Backoffice Backend](apps/backoffice/backend): http://localhost:8040/health-check
3. [Backoffice Frontend](apps/backoffice/frontend): http://localhost:8041/health-check
### β
Tests execution
1. Install the dependencies if you haven't done it previously: `make deps`
2. Execute PHPUnit and Behat tests: `make test`
## π©βπ» Project explanation
This project tries to be a MOOC (Massive Open Online Course) platform. It's decoupled from any framework, but it has
some Symfony and Laravel implementations.
### β±οΈ Bounded Contexts
- [Mooc](src/Mooc): Place to look in if you wanna see some code π. Massive Open Online Courses public platform with users, videos, notifications, and so on.
- [Backoffice](src/Backoffice): Here you'll find the use cases needed by the Customer Support department in order to manage users, courses, videos, and so on.
### π― Hexagonal Architecture
This repository follows the Hexagonal Architecture pattern. Also, it's structured using `modules`.
With this, we can see that the current structure of a Bounded Context is:
```scala
$ tree -L 4 src
src
|-- Mooc // Company subdomain / Bounded Context: Features related to one of the company business lines / products
| `-- Videos // Some Module inside the Mooc context
| |-- Application
| | |-- Create // Inside the application layer all is structured by actions
| | | |-- CreateVideoCommand.php
| | | |-- CreateVideoCommandHandler.php
| Excerpt of 7,594 characters
Read on GitHub279
98
23
4
3
3
2
JosuΓ© PiΓ±a Β· @opslayertech Β· Germany
2
2
2
1
1
Juan Valdebenito Β· Chile
1
1
MichaΕ
1
1
Mika
1
1
1
1
Would you bet a product on this? Bounded 0β100 and slow moving.
matched fp:eae94c1e878db6f2, topic:testing