A comprehensive collection of tutorials, samples, and resources for implementing Event Sourcing and CQRS in .NET using Marten and EventStoreDB.
EventSourcing.NetCore is a repository of examples, tutorials, and resources for implementing Event Sourcing and CQRS in .NET applications. It demonstrates how to persist state changes as a series of immutable events, enabling full audit trails, business analysis, and data recovery. The project includes practical samples using tools like Marten and EventStoreDB to build event-driven systems.
.NET developers and architects looking to learn or implement Event Sourcing and CQRS patterns in their applications. It is especially useful for teams building complex, domain-driven systems that require strong auditability, scalability, and data consistency.
It provides a hands-on, pragmatic approach with production-ready samples, reducing the learning curve for Event Sourcing. Unlike theoretical guides, it offers concrete code examples, self-paced workshops, and integration with popular .NET tools, making it easier to adopt these patterns in real projects.
Examples and Tutorials of Event Sourcing in .NET
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes step-by-step tutorials, multiple real-world samples (e-commerce, warehouse), and self-paced workshops covering from basics to advanced patterns like sagas and GDPR compliance, all linked in the README.
Provides concrete .NET code using modern C# features and popular tools like Marten and EventStoreDB, with helpers like WriteToAggregate to reduce boilerplate, as shown in the Helpdesk and ECommerce samples.
Demonstrates integration with Kafka for messaging and ElasticSearch for read models in samples like Meetings Management, offering a full view of building event-driven systems.
Supported by regular blog posts, videos, and GitHub sponsorship, with badges linking to ongoing content, ensuring the repository stays current with .NET developments.
Heavily focused on the .NET ecosystem and specific libraries like Marten, making it less applicable for teams using other platforms or preferring custom event store implementations.
Event sourcing inherently adds complexity with concepts like projections, snapshots, and event versioning, requiring significant upfront learning even with the provided resources, which the README acknowledges in advanced patterns sections.
Learning materials are spread across GitHub README, external blog posts, and videos (e.g., linked in Videos section), which can make it challenging to find consolidated, beginner-friendly information without navigating multiple sources.