This minimal service using Wolverine and Marten as the sample application for the talk CQRS with Event Sourcing using the “Critter Stack” at .NET Conf 2023.
To run the service, you will need Docker Desktop or some sort of Docker installation. Assuming you have that running, start up a PostgreSQL database and Rabbit MQ broker with:
docker compose up -d
from the root of this repository.
The EventSourcingDemo project is purely a console application you can run through your IDE tool or with dotnet run
This sample was stolen from Oskar Dudycz, so see his original take on this system:
- Simplest CQRS and Event Sourcing flow using Minimal API,
- Cutting the number of layers to bare minimum,
- Using all Marten helpers like
WriteToAggregate
,AggregateStream
to simplify the processing, - Examples of all the typical Marten's projections,
- example of how and where to use C# Records, Nullable Reference Types, etc,
- No Aggregates! Commands are handled in the domain service as pure functions.
You can watch the webinar on YouTube where I'm explaining the details of the implementation:
or read the articles explaining this design: