A curated collection of advanced resources on Event Sourcing, CQRS, and DDD with a focus on Scala and Akka implementations.
Advanced Topics in Event Sourcing / CQRS / DDD is a curated knowledge repository focused on advanced architectural patterns for building scalable, maintainable systems. It compiles expert talks, open-source tools, articles, and academic papers to help developers deepen their understanding of Event Sourcing, CQRS, and DDD, particularly in Scala and Akka ecosystems.
Software architects and senior developers building or maintaining distributed systems who want to implement or refine Event Sourcing, CQRS, or DDD patterns, especially those using Scala and Akka.
It saves time by aggregating high-quality, vetted resources from industry experts, providing practical insights into implementation challenges like versioning, consistency, and testing that are often glossed over in introductory materials.
Advanced Topics in Event Sourcing / CQRS / DDD. PRs welcome. This "project" follows Scala's CoC.
Aggregates high-quality talks from experts like Jonas Boner and Greg Young, providing distilled wisdom on advanced topics such as versioning and CAP trade-offs, as highlighted in the README's starred entries.
Emphasizes practical implementations using Akka Persistence and related tools, with specific resources on frameworks like Stamina for schema evolution and Fun.CQRS for pluggable backends.
Includes discussions on real-world issues like data conversion, testing, and consistency, drawing from academic papers and articles that address nuances often missed in introductory materials.
Highlights the relationship between Event Sourcing and functional programming, with talks on type-safety and algebraic laws, aiding in domain modeling with statically typed approaches.
Heavily centered on Scala and Akka, making it less relevant for developers using other technologies or languages, as the README admits a preference for type-safe, functional approaches in this ecosystem.
As a resource collection, it lacks executable examples or tutorials, requiring users to seek additional sources for practical implementation, which the README doesn't provide beyond links.
Some linked talks and articles date back to 2015-2017, which may not cover the latest advancements in fast-evolving fields like distributed systems, despite being curated.
Does not offer interactive elements like forums or Q&A, limiting support for troubleshooting or community discussion, as it's primarily a passive knowledge base.
Awesome EventStorming
Context Mapping is a technique from Domain-Driven Design (DDD) that helps visualize the relationships between bounded contexts and the teams that own them. It provides a structured way to analyze existing systems or plan new architectures by mapping out dependencies, governance, and model propagation. This repository offers practical resources to make context mapping more accessible, including a cheat sheet and a starter kit for collaborative tools like Miro. ## Key Features - **Nine Context Map Patterns** — Includes Open-host Service, Conformist, Anticorruption Layer, Shared Kernel, Partnership, Customer/Supplier Development, Published Language, Separate Ways, and Big Ball of Mud to describe various integration and governance scenarios. - **Three Team Relationships** — Defines Mutually Dependent, Upstream/Downstream, and Free relationships to clarify organizational and technical dependencies. - **Practical Starter Kit** — Provides a pre-built Miro board with all pattern objects and examples to kickstart remote collaboration sessions. - **Context Map Cheat Sheet** — A quick-reference guide summarizing all patterns and relationships for easy consultation during design workshops. - **Best Practices Guidance** — Recommends using small, focused context maps for specific questions rather than creating overwhelming monolithic diagrams. ## Philosophy Context Mapping aims to make complex sociotechnical architectures understandable by providing a shared visual language that bridges technical models and team dynamics, emphasizing clarity and targeted communication over completeness.
Domain Driven Design in Python, Ruby and other dynamic languages resources
A curated list of ressources for Domain Storytelling practitioners. PR are welcome!
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.