As Event Sourcing is a complicated topic we’ll start with a short introduction to some of the key concepts like Event Sourcing, CQRS, command pattern, and projections. Event Sourcing is not for everyone. It requires a significant shift in how you think about your data. Event Sourcing is also not always easy, so we’ll point out some pitfalls and guide you on when it’s worth using it and when you should stay away from it. However, Event Sourcing is also super-valuable when it fits your needs! And if you approach it in the right way, it does not have to be as hard as you may think.
With some live coding, we’ll build up an event-sourced model using the CQRS pattern. Along the way, you’ll get a taste of how these techniques work in code and how typical Kotlin constructs like data classes, immutability, lazy properties, and functional style will help you to keep it all readable and easy to understand. You’ll see that you don’t need to start with a framework to do Event Sourcing and why Java doesn’t make it as easy as Kotlin does. The Kotlin language provides a lot of the fundamentals that you need and allows you to keep everything simple and in your own control.