This is tutorial project to learn how to connect Symfony4 and docker compose with Domain Driven Design and Event Sourcing
Project resolves real problem with bank accounts and payments. Under development
Event Souring is based on two most popular PHP libraries:
- fully dockerized project
- payments and account balance build from events
- around 90% code coverage with phpunit unit and functional tests
- event store on mongoDB, fully separated from domain
- travis automated tests
- Data fixtures
- Load domain objects from snapshots
- REST API calls with CQRS
- API tests with Codeception
You need docker and docker-compose installed on your system. After cloning repo just run:
docker-compose up -d
docker exec -it payments-ddd-es-tutorial-php composer install
If you want to run your app with some predefined objects from fixtures just run:
docker exec -it payments-ddd-es-tutorial-php php bin/console doctrine:mongodb:fixtures:load
Then on localhost:8080
will be your site.
docker-compose -f docker-compose.test.yml up -d
docker exec -it payments-ddd-es-tutorial-php-test vendor/bin/phpunit -c phpunit.xml.dist