TDD & DDD from the Ground Up
summary
Live-coding builds a university enrolment API from zero to working system with 122 git steps, using xUnit and WebApplicationFactory for API tests, Entity Framework for persistence, and an IDE YAML glossary called Contextive to capture ubiquitous language. Red/green/refactor TDD adds students, rooms and courses, a failing concurrency test reveals race conditions, and the design shifts: allow all enrolments, then run a scheduler domain service that assigns courses to rooms so capacity constraints are enforced later; tests keep the refactor safe.
AI-written summary · about
chapters (15)
- 0:00TDD and DDD introduction
- 1:08Live coding enrollment system
- 2:34TDD red-green-refactor cycle
- 7:33Ubiquitous language in DDD
- 11:47Contextive IDE extension
- 20:31Vertical slice architecture
- 26:50Linking courses to rooms
- 32:45Implementing enrollments
- 38:03Race conditions and consistency
- 41:10Event storming domain constraints
- 47:05Refactoring flawed logic
- 48:50Scheduling with domain services
- 51:17Testing models vs API trade-offs
- 57:13Verifying DDD models
- 58:16TDD and DDD resources
related talks
47mTDD & DDD from the Ground Up
01h 06mTDD & DDD from the Ground Up (Live Coding)
45mLearning to Love DDD - a Tale of Two Products
01h 05mGetting to DDD: Pragmatic or Principled?
01h 11mAn introduction to DDD
40mBarely Enough Design
01h 04mDomain Driven Design: The Good Parts
54mImplementing Domain Driven Design
