This is a demo project used for the DDD x API Platform Workshop by @chalasr & @mtarld from @coopTilleuls.
git clone git@github.com:coopTilleuls/workshop-apip-ddd
make start
git checkout step1-domain
You've got:
- An
api-platform
with Hexagonal Architecture. - Two Bounded Contexts:
Book
andStock
with Aggregates (Entites & VOs)
git checkout step2-application
You've got:
- CRUD-like Commands, Queries, Handlers, Repository interfaces and Domain exceptions allowing to interact with
Book
context.
git checkout step3-infrastructure
make db-reset
Now the Application use cases are exposed through an API using api-platform
, Commands & Queries get handled thanks to symfony/messenger
, and data are persisted thanks to doctrine
.
git checkout step4-exercise
You have got a test case covering a new use case allowing to borrow a Book from the Stock. The test case is skipped for now - Your turn, make it pass! :)