Skip to content

Sample event-sourced app which allows to create&modify account and transfer money in an eventually consistent state.

License

Notifications You must be signed in to change notification settings

kamilgregorczyk/event-sourced-bank

Repository files navigation

pipeline status qualitygate coverage grade Known Vulnerabilities

POC of a bank which runs in-memory. It allows to create accounts, change names and transfer money between two accounts. Consistency between two models is achieved with event sourcing (no CQRS so far) and bouncing events between two aggregates in a sync way.

It requires no external dependencies as everything is in-memory (event bus, storage etc.)

Rolling back of unfinished transaction is implemented with a cron that finds unfinished transactions which were not modified within last 30 minutes and cancels them.

Endpoints

Metric Endpoints

Endpoint Method URL
Health Check GET https://bank.exposee.app/

Account Endpoints

Endpoint Method URL
List Accounts GET https://bank.exposee.app/api/account
Get Account GET https://bank.exposee.app/api/account/:UUID
Change Full Name PUT https://bank.exposee.app/api/account/:UUID/changeFullName
Create Account POST https://bank.exposee.app/api/account
Transfer Money POST https://bank.exposee.app/api/account/transferMoney

Links

About

Sample event-sourced app which allows to create&modify account and transfer money in an eventually consistent state.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published