2019-10-24 - Event Modeling - From Sticky Notes to Go
20 min presentation for the West LA Go Meetup.
This talk covered three topics: Event Storming, a CQRS architecture with Event Sourcing, and implementing Aggregates and Projections in Go following TDD.
We started by Event Storming a bank account behavior workflow with sticky notes generating Events, Commands, and Constraints. We then turn these workflows into unit tests matching one-to-one with the expected domain behavior:
- Given these events
- When this command is executed
- Then we expect these events to be emitted.
Finally we dove deep into example code, in the Go language, to see the interaction between the event store, aggregates, projections, and business logic constraints.