This repository is an application of event sourcing intended for use as Junior Engineer training material at Lendable.
The example domain is intentionally trivial/naieve as the purpose of the training is to present the core concepts of event sourcing and how an event sourced application may differ in nature and structure to the applications the engineers may have written to date.
- Introduction to event streams
- Aggregate fundamentals
- Domains that are typically suited to event sourcing
- Changing and managing state through commands
- Testing in event sourced systems
- Persistence and reconstitution basics
- Transactions
- Idempotency
- Utilising events for side effects and integrations
- Reporting/Projections