Skip to content

AtakanVargul/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

  • 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!

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%