whatisgithub

What is awesome-ddd?

heynickc/awesome-ddd — explained in plain English

Analysis updated 2026-06-24

12,230Audience · developerComplexity · 1/5Setup · easy

In one sentence

A curated collection of books, courses, blog posts, and code examples focused on Domain-Driven Design, CQRS, Event Sourcing, and Event Storming, software design approaches for tackling complex business problems.

Mindmap

mindmap
  root((awesome-ddd))
    Concepts
      Domain-Driven Design
      CQRS
      Event Sourcing
      Event Storming
    Resources
      Books and ebooks
      Video courses
      Blog posts
    Code Examples
      Go and NET
      JavaScript TypeScript
      JVM and PHP
    Community
      Forums and blogs
      Conferences
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Find the right book or course to learn Domain-Driven Design from scratch and build a shared vocabulary with your team.

USE CASE 2

Discover sample projects in your language, Go.NET, JavaScript, JVM, or PHP, that implement DDD and CQRS patterns.

USE CASE 3

Browse libraries and frameworks for your tech stack that provide Event Sourcing or CQRS building blocks you can adopt.

USE CASE 4

Find resources for running an Event Storming workshop with your team before writing any code.

How does it compare?

heynickc/awesome-dddgetomni-ai/zeroxjosdejong/jsoneditor
Stars12,23012,23012,230
LanguageTypeScriptJavaScript
Setup difficultyeasymoderateeasy
Complexity1/53/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

So what is it?

This repository is a curated reading and learning list, not a piece of software you install. It gathers links to books, video courses, blog posts, podcasts, sample projects, and code libraries all focused on a cluster of related software design ideas: Domain-Driven Design, CQRS, Event Sourcing, and Event Storming. Domain-Driven Design (DDD) is an approach to building software for complicated business problems. The central idea is that the software structure should closely reflect how the business itself thinks about the problem, and that developers should work hand-in-hand with the people who understand the business to build a shared vocabulary. CQRS, or Command Query Responsibility Segregation, is a pattern where reading data and changing data are handled by separate parts of the system rather than one combined piece. Event Sourcing is a way of recording application state by saving every change as a logged event, rather than just overwriting the current value. Event Storming is a group workshop technique for mapping out the flows and rules of a business domain before writing any code. The list is organized into sections: books (including the foundational "Blue Book" by Eric Evans that coined the term DDD), free ebooks, training courses, video collections, community forums, blogs, and sample projects. Sample projects are grouped by programming language, covering Go.NET (C# and F#), Haskell, JavaScript and TypeScript, JVM languages, and PHP. There is also a section of libraries and frameworks across those same language ecosystems that implement DDD or CQRS patterns, plus a tools section and links to user groups and conferences. The list was created by Nick Chamberlain and is maintained as a community resource. It follows the format of an "awesome list," a well-known style of open-source repository used on GitHub to aggregate quality references on a specific topic. Anyone can suggest additions via pull requests. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Based on the awesome-ddd reading list, what is the recommended starting point for learning Domain-Driven Design, which book should I read first?
Prompt 2
I am building a .NET application and want to implement CQRS. Which libraries from the awesome-ddd list should I evaluate?
Prompt 3
Explain Event Sourcing to me as if I were a product manager: what business problem does it solve and when should my team use it?
Prompt 4
I am organizing an Event Storming workshop for my team. What resources from the awesome-ddd list cover the format and how to facilitate it?

Frequently asked questions

What is awesome-ddd?

A curated collection of books, courses, blog posts, and code examples focused on Domain-Driven Design, CQRS, Event Sourcing, and Event Storming, software design approaches for tackling complex business problems.

How hard is awesome-ddd to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is awesome-ddd for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.