CQRS-Event Sourcing with Event Modelling

Event sourced systems provide several significant benefits including, scalability, zero data loss, high performance, simplicity, and faster development. For developers new to the pattern understanding how to approach the problem correctly can be challenging especially when combined with identifying which anti-patterns need to be avoided.


This hands on course focuses on ensuring that developers either new to Event Sourcing or with some experience with it can gain a strong understanding of the core patterns and practices that lead successful implementations.


Students should plan to bring a laptop with their preferred development environment and have a Github account setup to download the exercises. Examples will be provided in multiple formats including C# (netcore), JS, and Docker.

During the class we will work through a simple business application for a hotel with the instructors playing the role of the business as we build out end-to-end workflows and integrations.


Learn how to:

  • Build Event Sourced Systems
  • Implement Commands, Events, and Stream Writers
  • Implement Read Models and use them to drive UIs and other integrations
  • Work with the business to define an Event Sourced application
  • Create clear Event Sourced specifications
  • Avoid Common Errors and Troubleshoot issue



Day 1

  • Introductions and Setup
  • Review the 4 core types of specifications
  • Definition and Fundamentals of Event Sourcing
  • Introduction to the Business Scenario
  • Build the Event Model
  • Exercise 1: User Registration


Day 2

  • Exercise 2: Room Reservation end-to-end workflow
  • Exercise 3:
    • Add explicit check-in and checkout time (small change)
    • Add Room Cleaning (large change)
  • How to model system integrations and cross process integration
  • Model the Payment Gateway integration
  • Exercise 4: Integrate with payment gateway


Day 3

  • Modelling long running workflows and processes
  • Creating cross cutting reports
  • Exercise 5:
    • Add daily check-in/checkout report
    • Generate Guest Invoice
  • Model the external guest rewards program integration
  • Exercise 6:
    • Accrue points, Use points
  • Project Management and estimation
  • Recap and Questions

Press enter to see more results