It's a simple demo of DDD project created for learning purposes.
You can find here some uses of CQS approach and Hexagonal Architecture.
Project has been split into two parts - first concerns business logic (Application and Domain) and the second is infrastructure.
The infrastructure part was created on two independent environments.
One is based on Symfony framework with PostgreSQL relational database.
The other one works on Lumen framework and MongoDB NoSQL database.
Both environments are using one business logic to achieve almost the same result.
Both applications use Docker with Docker Compose to help with the setup.
Below you can find instructions for each of them.
Run composer install --ignore-platform-reqs
to install all required dependencies.
*(required if you only want to run specs)
Application is running on localhost:8080 by default.
You can import this file in the Postman to check all available endpoints.
bin/symfony-app up
- to build & start Symfony app.
bin/lumen-app up
- to build & start Lumen app.
bin/behat
to run all Behat scenarios.
bin/phpspec run
to run all PHPSpec specifications.