awesome-ddd

DDD toolkit

A curated collection of resources and tools for software developers to learn and apply Domain-Driven Design, CQRS, Event Sourcing, and related concepts in their work.

A curated list of Domain-Driven Design (DDD), Command Query Responsibility Segregation (CQRS), Event Sourcing, and Event Storming resources

GitHub

11k stars
557 watching
1k forks
last commit: about 2 years ago
Linked from 6 awesome lists

awesomeawesome-listlist

Awesome Domain-Driven Design / Contents

Awesome Domain-Driven Design11,343about 2 years ago

Awesome Domain-Driven Design / Books

Applying Domain Driven Design with CQRS and Event SourcingA walkthrough of using EventStorming and other modeling techniques to build a CQRS and Event Sourcing-based prototype for a fictional business domain
Architecture ModernizationConcrete tools, techniques, and processes to align software architecture with your business domains, organizational design, team topologies, and corporate strategy
Collaborative Software DesignA practical guide for effectively involving all stakeholders in the design of software.A practical guide for effectively involving all stakeholders in the design of software
CQRSNotes by Mark Nijhof from his experiences learning DDD and CQRS from Greg Young. There is an extensive sample project that accompanies this book
Domain-Driven Design: Tackling the Complexity at the Heart of SoftwareThe canonical book that coined the term Domain-Driven Design. Also known as the "Blue Book."
Domain-Driven Design DistilledVery good starter book before you read or
Domain-Driven Design in PHPReal examples written in PHP showcasing DDD Architectural Styles, Tactical Design, and Bounded Context Integration
Domain-Driven RailsDomain-Driven Rails describes 11 techniques (from Bounded Contexts to Event Sourcing) that you can use separately and together in new and old Rails apps to achieve better architecture
Domain Modeling Made FunctionalTackle Software Complexity with Domain-Driven Design and F#
Domain Specific LanguagesTangentially connected to DDD, describes the importance of the Ubiquitous Language and working together with domain experts, along with lots of technical details
Event Sourcing and CQRS with .NET Core and SQL ServerA walkthrough of using Domain-Driven Design with Event Sourcing and CQRS using ASP.NET Core and SQL Server in production
Hands-On Domain-Driven Design with .NET CoreTackling complexity in the heart of software by putting DDD principles into practice by Alexey Zimarev
Implementing Domain-Driven DesignAlso a canonical book presenting a top-down approach to understanding Domain-Driven Design. Also known as the "Red Book."
Implementing DDD, CQRS and Event SourcingLearn how to implement DDD, CQRS and Event Sourcing. Understand the theory and put it into practice with JavaScript and Node.js
Introducing Event Storming: An act of Deliberate Collective LearningThe deepest tutorial and explanation about EventStorming, straight from the inventor
Learning Domain-Driven Design: Aligning Software Architecture and Business StrategyLearn the essential patterns and practices of domain-driven design and how to apply them in your day-to-day work, both in greenfield and brownfield projects
Microsoft .NET - Architecting Applications for the Enterprise (2nd Edition)A software architect’s digest of core practices, pragmatically applied
Patterns, Principles, and Practices of Domain-Driven Design (1st Edition)Methods for managing complex software construction following the practices, principles and patterns of Domain-Driven Design with code examples in C#
Secure by DesignShows how to use Domain-Driven Design to avoid security vulnerabilities
Specification by ExampleThis book distills from the experience of leading teams worldwide effective ways to specify, test, and deliver software in short, iterative delivery cycles. Case studies in this book range from small web startups to large financial institutions, working in many processes including XP, Scrum, and Kanban
Versioning in an Event Sourced SystemHave you had troubles with versioning an Event Sourced system? Just getting into a new Event Sourced system for the first time? This book is the definitive guide of how to handle versioning over long periods of time
What is Domain-Driven Design?A quick read exploring the core patterns and principles of Domain-Driven Design, as well as strategies for applying DDD in brownfield projects
Writing Great SpecificationsWriting Great Specifications is an example-rich tutorial that teaches you how to write good Gherkin specification documents that take advantage of Specification by Example's benefits

Awesome Domain-Driven Design / Free eBooks

The Anatomy of Domain-Driven Design - The InfographicAn infographic on the anatomy of Domain-Driven Design
Architecting Modern Web Applications with ASP.NET Core and Microsoft AzureProvides end-to-end guidance on building monolithic web applications using DDD, ASP.NET Core, and Azure
Architecture Patterns with PythonA book about Pythonic application architecture patterns for managing complexity
CQRS JourneyExploring CQRS and Event Sourcing
Domain-Driven Design: The First 15 YearsTo celebrate the anniversary, we've asked prominent authors in the software design world to contribute old and new essays. With contributions by Martin Fowler, James Coplien, Rebecca Wirfs-Brock, Mel Conway, and many more
DDD ReferenceA summary of the patterns and definitions of DDD
Domain Driven Design QuicklyDomain Driven Design Quickly is a short, quick-readable summary and introduction to the fundamentals of DDD
Effective Aggregate DesignIn this three-part series, Vaughn Vernon walks through some common design pitfalls, discusses the pros and cons of various aggregate modeling choices, and provides rules of thumb to guide modeling of aggregates
Getting Started with DDD when Surrounded by Legacy SystemsDescribes three strategies for getting started with DDD when you have a big commitment to legacy systems
Living Documentation by Design, with Domain-Driven DesignDiscover how a Living Documentation can help you in all aspects of your projects, from the business goals to the business domain knowledge, architecture and design, processes and deployment, even if you hate writing documentation
.NET Microservices: Architecture for Containerized .NET ApplicationsAn introduction to developing microservices-based applications and managing them using containers
The Semantic JavaScript Backend for Event-Driven DevelopmentA 68 pages long free ebook on what DDD, CQRS and event-sourcing are, and how they fit each other
DDD Magazine from Xebia #1This magazine is packed with visionary and practical insights, based on personal, business, and customer experiences to support you on your DDD journey
Visual Collaboration ToolsVisual Collaboration Tools is a book for teams building software. It describes tools that help us in our daily job, and also present field stories from different practitioners

Awesome Domain-Driven Design / Training Courses

Advanced Distributed Systems DesignOnline training course from Udi Dahan. Udi's live training schedule can be found
DDD Workshops across Europe and OnlinePublic Workshops by Eric Evans, Alberto Brandolini, Mathias Verraes, Rebecca Wirfs-Brock, Nick Tune, and many more
DDD Workshop by Xebiapublic and in-house Domain-driven design workshops from foundation to professional level
Distilling Domain-Driven DesignVaughn Vernon's online training course
Domain Language eLearningUsing our video lessons with Eric Evans, author of the original book on Domain-Driven Design (DDD), teach yourself techniques for evolving practical models that improve your software — not just your documents
Event SourceryIntroduction to DDD, CQRS, and Event Sourcing
EventStorming Fundamentals Course( ) - learn the fundamentals of EventStorming. Everything about EventStorming with examples
Greg Young's CQRS ClassThese videos include the entirety of Greg Young's DDD, CQRS, and Event Sourcing class
Mixter313almost 3 years agoCQRS and Event Sourcing Koans
Nomad PHPIntroduction to Event Sourcing and CQRS
Pluralsight

Awesome Domain-Driven Design / Training Courses / Pluralsight

Domain-Driven Design FundamentalsTeaches the fundamentals of Domain-Driven Design (DDD) through a demonstration of customer interactions and a complex demo application, along with advice from Eric Evans
Domain-Driven Design in PracticeA descriptive, in-depth walk-through for applying Domain-Driven Design principles in practice
Modern Software Architecture: Domain Models, CQRS, and Event SourcingThis course covers DDD analysis patterns helpful in discovering the top-level architecture of a business domain. Architects and developers will find details of implementation patterns such as Domain Model, CQRS, and Event Sourcing

Awesome Domain-Driven Design / Training Courses

Rails + Domain Driven Design WorkshopIntroduction to DDD, fundamentals of CQRS & Event Sourcing for Ruby/Rails developers
Reactive Architecture: CQRS and Event SourcingThis course will discuss the reasons we use CQRS/ES, what benefits it provides us, but also what it will cost us to use. We will see how CQRS/ES can impact the scalability, consistency, and availability of our application
Reactive Architecture: Domain Driven DesignUse DDD to decompose a problem domain into manageable parts. Learn how those parts can become the foundation of Reactive Microservices and Reactive Architecture. Free, online, self-paced. Certificate offered upon completion
Spatie's Event Sourcing CourseLearn how to build event sourced applications in Laravel using Spatie's event-sourcing package. Has 2 hours of video content and an accompanying ebook

Awesome Domain-Driven Design / Video Collections

DDD EuropeRecordings of talks given at DDD Europe
SkillsCasts by SkillsMatterSearching DDD returns various talks given by Greg Young, Alberto Brandolini, and Dan North, etc
Alberto Brandolini: Event StormingA YouTube collection of talks given by Alberto Brandolini on Event Storming
GlobalAppTesting TechTalksA vimeo channel focused on DDD and CQRS
Greg YoungA YouTube collection of various talks given by Greg Young
Explore DDD videosRecordings of the talks given at the Explore DDD conference
KanDDDinskyA YouTube collection of talks given at KanDDDinsky
Virtual Domain-driven designA youtube collection of recorded meetups session from Virtual Domain-driven design
Visuality DDD webinarsA YouTube collection of webinars focused on DDD in Ruby on Rails
The Art of Discovering Bounded Contexts by Nick TuneSession from 2017 DevoxxUK on how to define bounded contexts

Awesome Domain-Driven Design / Community Resources

DDD/CQRS Google GroupAn active mailing list and an excellent resource to ask questions and learn fine-grained details about DDD/CQRS
DDD-es Google GroupThe Google Group to discuss Domain-Driven Design in Spanish
DDDinPHP Google GroupThe place to discuss Domain-Driven Design, CQRS, Event Sourcing, Model Storming, Hexagonal Architecture, Distributed Systems, Reactive... in the context of PHP
EventStorming Google GroupThe Google Group to discuss EventStorming
DDD in Ruby on RailsA collection of articles on Domain-Driven Design in Ruby on Rails
DDD in Ruby subredditA subreddit for Ruby developers interested in Domain-Driven Design
DDD/CQRS/ES Discord75almost 4 years agoA Discord (old Slack) team for those who want to chat about Domain-Driven Design, CQRS, Event Sourcing and sometimes random things. Main channel is language and framework agnostic
Domain StoryTelling DiscordA Discord team about Domain StoryTelling (#domain-storytelling channel) by . The homepage is at
Software Engineering Stack ExchangeSoftware Engineering Stack Exchange questions tagged
Code Review Stack ExchangeCode Review Stack Exchange questions tagged
Stack OverflowStack Overflow questions tagged
Advanced Topics in Event Sourcing / CQRS / DDD109over 6 years agoAdvanced Topics in Event Sourcing / CQRS / DDD list compiled and maintaned by @
QuoraQuestions tagged
wolkenkit SlackA Slack team on DDD, event-sourcing, CQRS and wolkenkit
Awesome Event Storming2,231almost 2 years agoawesome list that focuses only on Event Storming
Awesome Domain Storytelling188about 2 years agoawesome list that focuses only on Domain Storytelling
Virtual Domain-driven design communityOnline meetups with panel discussions, online collaborations and resource sharing
Domain-driven design heuristicsDomain-Driven Design Heuristics is a community driven site to document and discuss about Design Heuristics
Domain-Driven Design in dynamic languages GitHub1,354over 3 years agoGitHub's profile of Domain-Driven Design in dynamic languages
Domain-Driven Design Crew GitHubGitHub's profile of Domain-Driven Design Crew
Context Mapping by ddd-crew1,512over 2 years agoContext Mapping Cheatsheet and Starter Kit by ddd-crew
DDD North AmericaUpcoming live training, events, and user groups across North America

Awesome Domain-Driven Design / Blogs

Nick ChamberlainHelpful development and design advice for .NET developers
Ardalis.comSteve Smith. Pluralsight author and author of course and Microsoft
DDD WeeklyWeekly curated links related to DDD/CQRS/ES
Daniel WhittakerWant to learn about CQRS and Event Sourcing? This blog is packed with step-by-step articles to give you a head start
Cyrille MartraireBeing so immersed in finance while still in love with programming, I’m naturally a big fan of Domain-Driven Design by Eric Evans, along with TDD, BDD and agile/XP practices
Jimmy BogardI focus on DDD, distributed systems, and any other acronym-centric design/architecture/methodology
CodeBetterCodeBetter.Com exists in order to help foster awareness of better practices, superior tools, proven methodologies and techniques within the software development community
Greg YoungGood Enough Software is By Definition Good Enough
InfoQ BlogDomain-Driven Design Content on InfoQ
Dan NorthInventor of Behavior-Driven Design. Blogs and talks about Event Storming also
Mike MogosanuMaintainable code is a business advantage. Creator of Domain Map: The Domain Modeling Tool - Easy And Powerful Domain Driven Design
Christian PostaPrincipal Middleware Architect @ Red Hat, open-source enthusiast, committer @ Apache, Cloud, Integration, Kubernetes, Docker, OpenShift, Fabric8
Vladimir KhorikovPluralsight author. Blogs about software development principles and best practices
TechBeaconArticles on TechBeacon tagged
Derek ComartinArticles under the category
Alberto BrandoliniInventor of Event Storming. Asserting that problems cannot be solved with the same mindset that originated them, Alberto switches perspective frequently assuming the architect, mentor, coach, manager or developer point of view
Jérémie ChassaingVarious articles about DDD/CQRS. Implemented Greg Young's SimpleCQRS sample in F#
Vaughn VernonVaughn Vernon understands the unique demands of software development and the challenges you face as you improve your craft in a fast-paced industry
Vladik KhononovVarious DDD-related articles
Eventsourcing PublicationsPractical event sourcing
Jef ClaesExcellent articles and talks on Domain-Driven Design
Udi DahanFrom the creator of NServiceBus
Chris PattersonFrom the creator of the MassTransit distributed application framework
Aaron StannardFrom the CTO and co-founder of Petabridge, developers of the Akka.NET Actor Model framework
Roger JohanssonMostly C#, DDD, and Akka.NET
Konrad GarusRanting and Programming in Java, Clojure, and JavaScript. Articles tagged under
Oasis DigitalContent by Oasis Digital tagged under
AdaptechAdaptech Solutions blog. Our founder, Adam Dymitruk, debated the merits of CQRS with Greg Young before Greg coined the term. Adam and business partner Robert Reppel are among the leading practitioners of event-sourced microservices
Lev GorodinskiSeveral articles about DDD from 2013, which are still relevant
Dino EspositoSoftware architect, trainer, book author. Author of
Dan Bergh Johnsson "Dear Junior"Domain-Driven Design mixed with security, and agile in general. Written as fictional letters to a younger programmer
the native webDDD & Co. series
ArkencyVarious DDD, CQRS, Event Sourcing related articles from Ruby experts
Svaťa ŠimaraDDD series - language, domain, modeling, infrastructure, implementation in PHP
Martin HavlištaDDD, CQRS, TDD blog posts with code samples in C# .NET
Khalil StemmlerDDD series introduction and talk about how to implement DDD with TypeScript
Kenny Baas-SchweglerDDD, BDD, Socio-technical, EventStorming and continuous delivery blogs
João RosaPersonal blog about Domain-Driven Design, Visual Collaboration, leadership and organisational design. And other things in between. Curator of and host of the
GlobalAppTesting engineeringGlobalAppTesting's engineering blog with materials on practical DDD and CQRS

Awesome Domain-Driven Design / Sample Projects / GO

BDD in GO4over 3 years agoSample app demonstrating the use of Cucumber + GO for a BDD testing approach. Blog post can be found
Citerus DDD Sample App GO Port2,407almost 5 years agoThis is an attempt to port the to idiomatic Go. It can be run in a dockerized mode for previewing the application
DDD by Refactoring5,393about 3 years agoComplete serverless application to show how to apply DDD, Clean Architecture, and CQRS by practical refactoring of a Go project. A full blog series about it can be found at
DDD Food App657almost 5 years agoSample DDD application implementing the 4 layers (Domain, Infrastructure, Application and Interface) and considering two domain patterns. There's a blog article written for it
DDD Sample in GO287about 7 years agoJust another sample application implementing the four layers of DDD
Evolutive CRUD API77about 5 years agoAPI implementation with full CRUD using a SOLID, Hexagonal Architecture. There is a series of blog post written for it at
Simple Hexagonal Architecture PoC API31almost 6 years agoPoC for a patients API using the hexagonal architecture pattern
Azure DDD boilerplate0almost 3 years agoA boilerplate project for DDD in Azure using a custom handler and Cosmos DB for event sourcing

Awesome Domain-Driven Design / Sample Projects / .NET (C#/F#)

Better code with DDD building blocks317almost 2 years agosolution presents usage of DDD tactical patterns to achieve better readability and expressiveness of the code. Applying DDD patterns together with ubiquitous language closes the gap between language spoken by experts and the team and language used in the code
CQRS-DDD Example133over 12 years agoDomain Driven Design, CQRS, & Event Sourcing Example using GetEventStore, CommonDomain, NServiceBus, Entity Framework, SQL Server, SignalR
Companion Code for Microsoft .NET Architecting Applications for the Enterprise502about 3 years agoAn event based Micro ERP
ContosoUniversityCore590almost 9 years agoContosoUniversity on ASP.NET Core with Full .NET Framework
DDD-starter-dotnet390almost 2 years agoSample implementation and comparison of various approaches to building DDD applications. Useful as a baseline to quickly start a DDD .net project
DDDInventoryItemFSharp186over 5 years agoAn idiomatic F# implementation of Domain-Driven Design
DDDSkeletonNet179over 12 years ago(C#) - a .NET skeleton project to introduce the concepts of Domain Driven Design and loosely coupled layers
DotNet CQRS Intro141about 7 years agoExamples of implementation CQRS with Event Sourcing - evolutionary approach (no CQRS, separate models and commands with the same model, separate models and commands with separate models, separate storage engines, event sourcing)
EISK.NET CLI and VS Templates with simple use cases to build scalable applications on top of .net core with architectural best practices (DDD, onion architecture etc)
EmailMaker13over 3 years agoEmail marketing ASP.NET Core MVC and ASP.NET MVC demo app demonstrating usage
Equinox Project6,446about 2 years agoFull ASP.NET Core 3.1 application with Clean Architecture, DDD, CQRS and Event Sourcing concepts
eShopOnWeb10,246over 2 years agoFull ASP.NET Core 3.1 reference application from Microsoft showing monolithic deployment architecture
eShopOnContainersDDD320over 3 years agoeShop fullstack example featuring catalog, basket, checkout, and order bounded contexts
Example of Domain-Driven Design in F#Example of Domain Driven Design for the game of checkers. There are two files: a scratch file with a series of designs, and a final version
Event Sourcing .NET3,439almost 2 years agosamples and resources about Event Sourcing and CQRS in .NET. Contains also a self-paced kit of how to built own Event Store
EventFlow.Example200over 3 years agoDDD, CQRS, and Event-Sourcing example and contains following technology stack: , , , , ,
Fohjin699about 3 years agoExample project that accompanies Mark Nijhof's book
FsUno76almost 12 years agoEvent sourcing implementation sample in F#
IDDD Samples in .NET929almost 4 years agoThese are the sample Bounded Contexts for C#.NET from the book "Implementing Domain-Driven Design" by Vaughn Vernon
Microsoft Patterns and Practices: CQRS Journey Sample Code1,393about 6 years agoSample code from CQRS Journey
Modular Monolith11,252over 2 years agoFull Modular Monolith .NET application with Domain-Driven Design approach
NLayerAppV3155about 8 years ago(.Net Core Preview 2) - a N-Layered Architecture Sample Project
Photostock CQRS-DDD Example7over 4 years ago
Reactive Trader Cloud1,839almost 2 years agoReactive Trader Cloud by Adaptive Consulting
Sample .NET Core CQRS REST API2,910over 2 years ago.NET Core REST API CQRS implementation with raw SQL and DDD using Clean Architecture
Scritchy67over 3 years agoCQRS without the Plumbing,
Simple CQRS in F#73about 14 years agoGreg Young's SimpleCQRS in F#
SimpleCQRS2,141over 2 years agoGreg Young's "Simplest Thing" CQRS with Event Sourcing project
TaskoMask685almost 2 years agoTask management system based on .NET Core with DDD, CQRS and Event Sourcing Concepts
TodoMVC-DDD-CQRS-EventSourcing252over 3 years agoImplementation of basic Todo app via tastejs/todomvc in C#/Typescript with eventsourcing, cqrs, and domain driven design

Awesome Domain-Driven Design / Sample Projects / Haskell

Eventuria gsd50about 7 years agoHaskell todo list reactive application with DDD, CQRS and Event Sourcing, FRP

Awesome Domain-Driven Design / Sample Projects / Idris

OrderTakingDependently typed implementation of the Domain Modeling Made Functional book. An example project how to formalize Bounded Context and Workflow diagram with dependent types. A NodeJS deployable demo

Awesome Domain-Driven Design / Sample Projects / JavaScript / TypeScript

wolkenkit Sample ApplicationsA collection of DDD sample applications, such as TodoMVC, a geocaching app, collaborative boards etc
Booster framework examples421over 1 year agoExample applications built with Booster Framework
Over-engineered ToDo app1,224about 2 years agoComplete working example of using Domain Driven Design (DDD), Hexagonal Architecture, CQRS, Event Sourcing (ES), Event Driven Architecture (EDA), Behaviour Driven Development (BDD) using TypeScript and NestJS generated using the

Awesome Domain-Driven Design / Sample Projects / JVM languages

Akka CQRS ES Demo57about 10 years agoDemo project to implement the CQRS and Event Sourcing patterns in Scala-Akka
DDD By Examples - Library5,018about 3 years agosample project of a library driven by real business requirements. Modular monolith implemented with the help od DDD, BDD, EventStorming, Example Mapping, CQRS, and more
DDD Leaven873over 2 years agoDDD-CQRS sample v2.0 project that helps you with starting out advanced domain modeling using Spring, JPA and testing
DDD Workshop - Project Manager62over 3 years ago"Do It Yourself" DDD workshop and a sample DDD application at the same time. Based on a project managing domain
Event Sourcing Example99over 9 years agoA simplified (in memory) example of Event Sourcing and CQRS implementation for Java code (modeled for banking domain use cases)
Event Sourcing and CQRS Examples566almost 2 years agoA pragmatic application of Event Sourcing and CQRS in Java with good references for common related problems, e.g. event ordering and idempotency
Event Sourcing and CQRS Sample468over 8 years agoSample event sourced application with Command Query Responsibility Segregation
IDDD Samples3,801about 3 years agoThese are the sample Bounded Contexts from the book "Implementing Domain-Driven Design" by Vaughn Vernon
Java CQRS Intro205almost 2 years agoExamples of implementation CQRS with Event Sourcing - evolutionary approach (no CQRS, separate models and commands with the same model, separate models and commands with separate models, separate storage engines, event sourcing)
Kotlin DDD Sample292about 6 years agoSample DDD/CQRS project written in Kotlin
EventStormingWorkshop - Designing Cloud Native Microservices On AWS316almost 4 years agoA concrete sample to go through EventStorming workshop and implement DDD tactical design pattern in Java, apply AWS cloud native services to build up business Event based Coffeeshop scenario
DDDSample5,035almost 2 years agoSample DDD project using Spring Boot (originally hosted in )
Eclipse CargoTrackerThis project demonstrates how you can develop applications with the Jakarta EE platform using widely adopted architectural best practices like Domain-Driven Design (DDD). is intended to mirror a non-trivial application that developers in the real work would work on. It attempts to demonstrate first-hand how you can use Jakarta EE to effectively meet practical enterprise concerns such as productivity, agility, testability, flexibility, maintainability, scalability and security. The project is directly based on the well known original developed by DDD pioneer Eric Evans' company Domain Language and the Swedish software consulting company Citerus
https://github.com/felipexw/clean-arch-ddd-intro21over 5 years agoSimple DDD + Clean Architecture using Micronaut

Awesome Domain-Driven Design / Sample Projects / PHP

CodefyPHP Framework16almost 2 years agoA PHP framework for codefying and building complex applications using Domain-Driven Design, CQRS, and Event Sourcing
DDD CQRS Todo Sample363over 3 years agoDDD CQRS ADR hexagonal architecture implementation built with PHP 7 and Symfony 5
DDD Wish List202about 9 years agoA sample application in PHP built with Symfony 3 and Vue.js
DDD Playground597over 4 years agoSample implementation in PHP
Eric Evans DDD Cargo Sample798almost 8 years agoPHP 7 Version of the cargo sample used in Eric Evans DDD book
Shop Cart in PHP105over 3 years agoSample project that demonstrates how simple shop cart can look like. Domain objects,Doctrine integration.,TDD,layers,unit testing
Symfony 5 DDD ES CQRS backend1,075about 2 years agoDDD, CQRS and Event Sourcing app using Symfony and PHP 8

Awesome Domain-Driven Design / Libraries and Frameworks / GO

Ginkgo8,415almost 2 years agoGinkgo builds on Go's testing package, allowing expressive Behavior-Driven Development ("BDD") style tests
GOBDD115almost 2 years agoSmall BDD framework for GO
GoConvey8,282about 2 years agoGo testing in the browser. Integrates with . Write behavioral tests in Go
Godog2,334almost 2 years agoPackage godog is the official Cucumber BDD framework for Golang, it merges specification and test documentation into one cohesive whole, using Gherkin formatted scenarios in the format of Given, When, Then

Awesome Domain-Driven Design / Libraries and Frameworks / .NET

Aggregates.NET437over 2 years ago.NET event sourced domain driven design model via NServicebus and GetEventStore
AggregateSource257about 4 years agoLightweight infrastructure for doing eventsourcing using aggregates
Akka.NETAkka.NET is a toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on .NET & Mono
ABPSuccessor of ASP.NET Boilerplate - ASP.NET Core based application framework to create NLayered, Domain Driven Designed web applications with a microservice focused modular architecture
ASP.NET BoilerplateASP.NET MVC, Web API and ASP.NET Core based application framework to create NLayered, Domain Driven Designed web Applications implementing best practices
ByValue9over 4 years agoThis library helps to create ValueObjects (even with collection properties) with properly implemented equality behavior
Cedar.CommandHandlingMiddleware to handling commands over HTTP; typically used in CQRS applications
Cirqus233about 4 years agod60 event sourcing + CQRS framework
CommandQuery107about 2 years agoCommand Query Separation for 🌐ASP.NET Core ⚡AWS Lambda ⚡Azure Functions ⚡Google Cloud Functions 🌐ASP.NET Web API 2
CoreDdd69almost 2 years agoSet of open-source .NET libraries helping with DDD and CQRS, with NHibernate persistence
CQRS on Azure26over 7 years agoCQRS on Windows Azure
DolittleBuild better applications with Dolittle. An Event Sourced, Microservice platform oriented around DDD with developer productivity and simplicity front and center
Edument CQRS and Intentful BDD Testing Starter KitLibrary and tutorial for how to build CQRS/ES applications, including a BDD style testing framework
EventFlow2,394almost 2 years agoAsync/await first CQRS+ES and DDD framework for .NET
Core.EventStore5over 3 years agoA library to facilitate communication between CommandService and QueryService. The Idea is when any event occures in commandService, it should be persisted in QueryService in MongoDb
Its.Cqrs76almost 9 years agoA set of libraries for CQRS and Event Sourcing, with a Domain-Driven Design flavor
Marten2,886almost 2 years agoPostgresql as a Document Database and Event Store for .Net Applications
MassTransit7,072almost 2 years agoDistributed Application Framework for .NET
MediatR11,242almost 2 years agoSupports request/response, commands, queries, notifications and events, synchronous and async with intelligent dispatching via C# generic variance
MessageRouterDescribed in this video: by Paulmichael Blasucci at the New York F# .NET User Group
NetDevPackA smart set of common classes and implementations to improve your development productivity using .NET (DDD, CQRS, Specification Pattern, MediatR, Validations, Notifications)
NEventStore1,581about 3 years agoA persistence library used to abstract different storage implementations when using event sourcing as storage mechanism
NServiceBus2,103almost 2 years agoService bus for .NET
Projac137almost 4 years agoProjac is a set of projection libraries that allow you to write projections targetting various backing stores
shriek-fx661almost 4 years agoAn simple,elegant and useful Domain-Driven Design and CQRS framework developed using .NET Core 2.0
SqlStreamStore467about 2 years ago.NET Stream Store library targeting SQL based implementations
Streamstone395about 2 years agoEvent Store for Azure Table Storage
Stringly.Typed47almost 8 years agoMaking it easier to convert strings to/from .NET types
Xer.Cqrs101over 8 years agoA simple library for creating applications based on the CQRS pattern with support for attribute routing and hosted handlers. Developed in C# targeting .NET Standard 1.0

Awesome Domain-Driven Design / Libraries and Frameworks / Databases

Event StoreThe open-source, functional database with Complex Event Processing in JavaScript
EventsourcingBusiness event capture and querying framework
Message DB1,624over 2 years agoMicroservice Native Event Store and Message Store for Postgres. A fully-featured event store and message store implemented in PostgreSQL for Pub/Sub, Event Sourcing, Messaging, and Evented Microservices applications
SerializedComplete platform for Event Sourcing & CQRS

Awesome Domain-Driven Design / Libraries and Frameworks / Elixir

Commanded1,882almost 2 years agoCommand handling middleware for CQRS/ES applications, Pure Functional Data Structures for Aggregates and Process Managers, Point-to-Point message routing, and much more in Elixir (Erlang VM) - All in Actor concurrency model
Event Bus700over 3 years agoTraceable, extendable and minimalist event bus implementation for Elixir with built-in event store and event watcher based on ETS
eventstore1,067almost 2 years agoCQRS event store using PostgreSQL for persistence

Awesome Domain-Driven Design / Libraries and Frameworks / JavaScript / TypeScript

cqrs.jsCQRS implementations in node.js. Includes , , ,
wolkenkitA CQRS, DDD, and event-sourcing framework for JavaScript and Node.js
Bitloops Language (BL)346almost 2 years agoOpen-source, 4th-generation, transpiled programming language that helps you write clean code, well-designed systems, and build high-quality software that is testable, auditable and maintainable using DDD and Hexagonal Architecture
BoosterA CQRS, DDD and event-sourcing open-source framework that leverages all the infrastructure and uses high-level abstractions and conventions. It help users build advanved even-driven applications letting them focus on business logic exclusively
Node API Boilerplate3,325over 3 years agoNodeJS web API boilerplate for DDD and Clean Architecture applications

Awesome Domain-Driven Design / Libraries and Frameworks / JVM

akka-ddd353almost 5 years agoReusable artifacts for building applications on top of the Akka platform following CQRS/DDDD-based approach
Apache IsisApache Isis is a framework for rapidly developing domain-driven apps in Java
Axon FrameworkThe axon framework is focused on making life easier for developers that want to create a java application based on the CQRS principles
DDDplus framework1,127almost 3 years agoA lightweight flexible development framework for complex business architecture based on DDD
JESA9about 10 years agoEvent sourced aggregates for Java
LagomThe Lagom Framework is a microservices framework for the Java Virtual Machine, with APIs for the Java and Scala languages. It includes an Event Sourcing/CQRS based persistence module
SeedStack's Business FrameworkA set of building blocks that enable you to code business logic according to the Domain-Driven Design (DDD) approach
Spine Event Enginea CQRS/ES framework for building cloud applications. Defines Bounded Contexts with their Commands, Events, and Entity states in Protobuf. The backend logic is written in Java, on top of the Proto-generated code. Client code in Java, JS or Dart communicates with the backend via gRPC
Ahoo-Wang/Wow205almost 2 years agoA Modern Reactive CQRS Architecture Microservice development framework based on DDD and EventSourcing

Awesome Domain-Driven Design / Libraries and Frameworks / PHP

Broadway1,498almost 2 years agoBroadway is a (PHP) project providing infrastructure and testing helpers for creating CQRS and event sourced applications
EcotoneEnables message driven architecture in PHP and provides building blocks to follow DDD and CQRS principles
PHP Glossary5over 2 years agoApply a Term Analysis to extract domain terms vs out-of-scope terms in a DDD manner

Awesome Domain-Driven Design / Libraries and Frameworks / Python

Eventsoucing in Python1,483almost 2 years agoMature, stable Python library for event sourcing and DDD. Supports wide variety of databases, different kinds of orderings of domain events, application level encryption, snapshotting, optimistic concurrency control, and process events. Applications, and entire systems of applications, can be defined independently of infrastructure, and run in different ways (single threaded, multi-threaded, clocked, stepping, multi-process, actor model) and with different infrastructure
dry-pythonA set of libraries for pluggable business logic components
PyAssimilator207almost 2 years agoQuickly create DDD Python patterns, Event-Based Systems, CRUD applications. Set of Python patterns for database access that support SQLAlchemy, MongoDB, Redis, or Pure Python. PyAssimilator allows you to write code without dependencies, meaning you can switch SQL to NoSQL without changing a single file in your system

Awesome Domain-Driven Design / Libraries and Frameworks / Ruby

EventideEvent Sourcing and Microservices Stack for Ruby. A set of libraries for writing event driven, autonomous services
Rails Event StoreRails Event Store (RES) is a library for publishing, consuming, storing and retrieving events. It's your best companion for going with an event-driven architecture for your Rails application

Awesome Domain-Driven Design / Podcasts and Interviews

Deeper into DDD on DotNetRocks with David Real11 June 2015
Thinking in DDD on DotNetRocks with Julie Lerman and Steve Smith19 August 2014
Eric Evans on Domain Driven Design on DotNetRocks10 May 2007
Jimmy Nilsson on Domain Driven Design on DotNetRocks29 August 2006
Being the Worst2012 thru 2016
Software Engineering Radio Episode 225: Eric Evans on Domain-Driven Design at 10 Years13 May 2015
Software Engineering Radio Episode 218: Udi Dahan on CQRS (Command Query Responsibility Segregation)30 January 2015

Awesome Domain-Driven Design / Conferences

Domain-Driven Design EuropeThe Leading DDD conference (online during COVID19)
EventSourcingA new event for the CQRS/EventSourcing community
DDD FoundationsA curated conference for DDD newcomers
Explore DDD - USA
Kandddinsky - Germany

Awesome Domain-Driven Design / User Groups

Collective CFPSubmit your talks to all the DDD user groups at once
Map of user groups in Europe
Map of user groups in North America
Map of user groups in Asia
Map of user groups in Africa
Virtual
WorldwideSpecific about EventStorming
Austria
Barcelona
Belfast
Belgium
Berlin
Cologne/Bonn
Copenhagen
Cracow
DDD Taiwan Community
Denver
Iran
Greece
Hamburg
London
Munich
Nederland
Norway
Phoenix
Warsaw
Wroclaw
Russia

Awesome Domain-Driven Design / Tools

Domain Storytellinga knowledge-crunching technique that helps the people involved to familiarize themselves with the domain and work out a model that expresses their shared understanding. Available as a , as well as open-source online tool, ( )

Backlinks from these awesome lists:

More related projects: