Awesome Open Source
Awesome Open Source



This repository shows how to implement Event Sourcing, CQRS and DDD in .NET Core, using a Bank as example.

The code has been used as example accompaining a few series of articles on my personal blog:

An ASP.NET Core API is used as entry-point for all the client-facing operations:

  • create customers
  • create accounts
  • deposit money
  • withdraw money


The system is hosted on Azure, using CosmosDB and ServiceBus. An "on-premise" version is available as well, which uses

  • EventStore to keep track of all the events
  • Kafka to broadcast the integration events
  • MongoDb to store the QueryModels used by the API

The on-premise infrastructure can be spin up by simply running docker-compose up from the root folder.

Give a Star! ⭐️

Did you like this project? Give it a star, fork it, send me a PR or sponsor me!

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
c-sharp (12,487
dotnet (898
mongodb (820
kafka (424
dotnet-core (409
azure (379
unit-testing (188
event-sourcing (137
azure-functions (56
eventstore (35
cosmosdb (25