Event Sourcing Training reference

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.

Introductory Training topics

Theoretical

  • Introduction to event streams
  • Aggregate fundamentals
  • Domains that are typically suited to event sourcing

Practical

  • Changing and managing state through commands
  • Testing in event sourced systems
  • Persistence and reconstitution basics

Extended training topics

  • Transactions
  • Idempotency
  • Utilising events for side effects and integrations
  • Reporting/Projections