This project follow the Event Sourcing pattern described on Microsoft Site.
This project contains the follow features
1. The Event Store is the authoritative data source. All events are stored using an append-only operation.
2. Subscribers build materialized views.
3. External systems and applications have available all domain events by message queue.
PHP 8 - Symfony 5.2
MySQL 8.0
RabbitMQ 3.8 - Erlang 23.2
Redis 6.0
- Install Docker
- Clone this project:
git clone https://github.com/pgrau/quotes
- Move to the project folder:
cd quotes
- Install and configure all the dependencies and bring up the project executing:
make dev
- Execute the tests executing:
make test
REST API that given a famous person and a count N, returns N quotes from this famous person shouted.
You can:
- Verify the api status
http://localhost:8082
- Import authors from json to mysql by cli
docker exec -it quotes-php bin/console api:import:authors
- Import quotes from json to mysql by cli
docker exec -it quotes-php bin/console api:import:quotes
- Get shouts by author. Example Steve Jobs
http://localhost:8082/shout/steve-jobs
All documentation available on the Wiki: