Skip to content

mizrael/SuperSafeBank

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SuperSafeBank

SuperSafeBank

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

Infrastructure

The Cloud can be hosted on Azure, using Azure Functions, Storage Table to persist Events and Materialized Views, and ServiceBus to broadcast the Events.

An "on-premise" version is available as well, which uses

  • Kafka to broadcast the integration events
  • MongoDb to store the QueryModels used by the API or SQLServer can be used as persistence layer for aggregates.
  • several options are available for the Persistence layer to store aggregates:

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!