Event Sourcing & Event Modeling - Getting Started!

Posted By: ELK1nG

Event Sourcing & Event Modeling - Getting Started!
Published 8/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.63 GB | Duration: 5h 58m

Build a strong foundation around event sourcing and event modeling to design, model, and implement robust systems!

What you'll learn

Learn and understand the essence of Event Sourcing

Model information systems using Event Modeling

Learn how to implement event-sourced systems

Apply learnings in practice through hands-on excercises

Learn and understand the latest innovations like DCB

Requirements

Basic understanding of software architecture and software engineering

Experience in any programming language will be beneficial for hands-on lectures

A willingness to learn and challenge traditional approaches

Description

Are you ready to rethink how modern systems are built?This course will give you a solid understanding of event sourcing and event modeling, two powerful approaches for designing and implementing software close to the domain of your business.Instead of storing only the current state of your data, event sourcing captures every change as an immutable sequence of events. Event modeling builds on this by providing a structured way to design, visualize, and reason about your entire system through these events without going into detail about how the system is implemented. Throughout this course, you will:Learn the fundamental concepts and terminology behind event sourcing and event modeling.Explore how commands, events, queries, views, automation, sagas, aggregates, and more work together to coordinate business processes.Discover dynamic consistency boundaries (DCB) — a fresh way of thinking about consistency in event-sourced systems.Put everything into practice by modeling and implementing a simple review approval system step by step.The focus of this course is on concepts and patterns, not on a specific tool or framework. Most examples are written in Kotlin/Java, but the ideas apply to any technology stack.By the end, you’ll have the knowledge and confidence to apply event sourcing and event modeling in your own projects — and to participate in ongoing discussions about where these approaches are heading.If you’re a software engineer, architect, or anyone interested in better ways to model complex systems, this course is for you.

Overview

Section 1: Introduction

Lecture 1 Welcome

Lecture 2 Course Overview

Lecture 3 About the Technology Stack Used in This Course

Section 2: Concepts and Terminology

Lecture 4 Introduction

Lecture 5 Commands, Queries, and Events

Lecture 6 Command Query Separation (CQS)

Lecture 7 Command Query Responsibility Segration (CQRS)

Lecture 8 Event Sourcing

Lecture 9 Event Sourcing – Additional Reading

Lecture 10 Combining Event Sourcing with CQRS

Lecture 11 Event Streaming

Lecture 12 Event Modeling

Lecture 13 Domain-Driven Design (DDD)

Lecture 14 Event Sourcing with CQRS and DDD

Lecture 15 Vertical Slices

Lecture 16 Summary

Lecture 17 Glossary Reference

Section 3: Event Modeling - Getting Started

Lecture 18 Introduction

Lecture 19 Event-Sourced vs State-Stored Systems in Event Modeling

Lecture 20 The Main Building Blocks

Lecture 21 Brainstorming and Exploring the Domain

Lecture 22 Wireframes & UI Mockups

Lecture 23 State-Change Pattern

Lecture 24 State View Pattern

Lecture 25 Automation Pattern

Lecture 26 Translation Pattern

Lecture 27 The Patterns are Independent of Implementation

Lecture 28 Swimlanes

Lecture 29 Information Completeness Check

Lecture 30 Given When Thens (GWTs)

Lecture 31 Slices

Lecture 32 Summary

Section 4: Functional Event Sourcing and Domain Modeling

Lecture 33 Introduction

Lecture 34 Three Fundamental Functions: Decide, Evolve, and React

Lecture 35 Decider Pattern

Lecture 36 View Pattern

Lecture 37 Saga Pattern

Lecture 38 Combining Deciders, Views, and Sagas

Lecture 39 Summary

Section 5: The Application Layer

Lecture 40 Introduction

Lecture 41 Aggregates

Lecture 42 Materialized View

Lecture 43 Ephemeral View

Lecture 44 Saga Manager

Lecture 45 Note on Extensibility

Lecture 46 Orchestration and Choreography

Lecture 47 Application Styles

Lecture 48 Summary

Section 6: The Infrastructure Layer

Lecture 49 Some Event Store Options

Lecture 50 Some Event Streaming Options

Lecture 51 Additional note on event streaming

Section 7: Modeling a Simple Review Approval System

Lecture 52 Introduction

Lecture 53 Exploring the UI Prototype and First Draft

Lecture 54 [Reminder] Event Modeling Flexibility

Lecture 55 Completing the Event Model

Lecture 56 Summary

Section 8: Implementing a Simple Review Approval System

Lecture 57 Solution Overview

Lecture 58 Implementing the Domain Model

Lecture 59 Implementing the Application and Infrastructure Layer

Lecture 60 Integrating the UI

Section 9: Rethinking Event Sourcing: Dynamic Consistency Boundaries (DCB)

Lecture 61 Introduction

Lecture 62 The Limitations of Aggregates

Lecture 63 The Relationship Between Commands and Queries

Lecture 64 Decision Models

Lecture 65 Append Conditions

Lecture 66 DCB Specification

Lecture 67 Summary

Section 10: Where to Go From Here

Lecture 68 Event Sourcing and Event Modeling – Additional Learning

Section 11: Thank you!

Lecture 69 Thank you note!

Software Engineers,Software and Solutions Architects,IT Leads and Engineering Managers,Product Management