# Event Sourcing ## πŸ“˜ Resources - [Event Store Blog](https://www.eventstore.com/blog/tag/event-sourcing) - [Alexey Zimarev Blog](https://zimarev.com//tags/event-sourcing/) - [Code Opinion Blog](https://codeopinion.com/category/event-sourcing/) - [Versioning in an Event Sourced System - Gregory Young](https://leanpub.com/esversioning/read) - [EventSourcing .NET](https://github.com/oskardudycz/EventSourcing.NetCore#eventsourcing-net) ## πŸ“• Articles - [Event Sourcing](https://martinfowler.com/eaaDev/EventSourcing.html) - [Event Sourcing and CQRS in C#](http://www.andreavallotti.tech/en/2018/01/event-sourcing-and-cqrs-in-c/) - [Event Sourcing: Awesome, powerful & different](https://www.erikheemskerk.nl/event-sourcing-awesome-powerful-different/) - [Event Sourcing: Eventual Consistency and Responding to Events](https://www.erikheemskerk.nl/event-sourcing-eventual-consistency-responding-to-events/) - [vent Sourcing: CQRS and querying using read models](https://www.erikheemskerk.nl/event-sourcing-cqrs-querying-read-models/) - [About event sourcing](https://eventuate.io/whyeventsourcing.html) - [Event Sourcing pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/event-sourcing) - [Event Sourcing with Azure SQL and Entity Framework Core](https://daniel-krzyczkowski.github.io/Event-Sourcing-With-Azure-SQL-And-Entity-Framework-Core/) - [Projections in Event Sourcing: Build ANY model you want!](https://codeopinion.com/projections-in-event-sourcing-build-any-model-you-want) - [Reactive in practice, Unit 5: Event sourcing](https://developer.ibm.com/tutorials/reactive-in-practice-5/) - [Reactive in practice, Unit 7: CQRS, Part 2 – ReadSideProcessor for queries and views](https://developer.ibm.com/tutorials/reactive-in-practice-7/) - [EVENT SOURCING MICROSERVICES PATTERN](https://akfpartners.com/growth-blog/event-sourcing-microservices-pattern) - [Event Based Architecture: What do you mean by EVENT?](https://codeopinion.com/event-based-architecture-what-do-you-mean-by-event/) - [Beginner's Guide to Event Sourcing | Event Store](https://www.kurrent.io/event-sourcing) * - [Snapshots in Event Sourcing | Event Store](https://www.kurrent.io/blog/snapshots-in-event-sourcing) * - [CQRS(Command-Query Responsibility Segregation) | Event Store](https://www.eventstore.com/cqrs-pattern) * - [Eventsourcing Patterns: Forgettable Payloads](https://verraes.net/2019/05/eventsourcing-patterns-forgettable-payloads/) - [Counterexamples regarding consistency in event sourced solutions (Part 1) | Event Store](https://www.eventstore.com/blog/counterexamples-regarding-consistency-in-event-sourced-solutions-part-1) - [Counterexamples regarding consistency in event sourced solutions (Part 2) | Event Store](https://www.eventstore.com/blog/counterexamples-regarding-consistency-in-event-sourced-solutions-part-2) - [Counterexamples regarding consistency in event sourced solutions (Part 3) | Event Store](https://www.eventstore.com/blog/counterexamples-regarding-consistency-in-event-sourced-solutions-part-3) - [Event Sourcing: Events Evolution, Versioning, and Migration](https://valerii-udodov.com/posts/event-sourcing/events-versioning/) - [Event-sourcing at Nordstrom: Part 1](https://medium.com/tech-at-nordstrom/adventures-in-event-sourced-architecture-part-1-cc21d06187c7) - [Event-sourcing at Nordstrom: Part 2](https://medium.com/tech-at-nordstrom/event-sourcing-at-nordstrom-part-2-f64c416d1885) - [Live projections for read models with Event Sourcing and CQRS | Event Store](https://www.kurrent.io/blog/live-projections-for-read-models-with-event-sourcing-and-cqrs) - [Event Streaming is not Event Sourcing!](https://event-driven.io/en/event_streaming_is_not_event_sourcing/) - [Overselling Event Sourcing - Alexey Zimarev](https://zimarev.com/overselling-event-sourcing-644a1c992e1f) ⭐ - [MICROSERVICES .NET CORE WITH EXAMPLE β€” Part 4](https://medium.com/@bingeek/microservices-net-core-with-example-part-4-d652e6f16796) - [MICROSERVICES .NET CORE WITH EXAMPLE β€” Part 5](https://medium.com/@bingeek/microservices-net-core-with-example-part-5-f3ae18d5edee) - [Why a bank account is not the best example of Event Sourcing?](https://event-driven.io/en/bank_account_event_sourcing/) - [Real-World CQRS/ES with ASP.NET and Redis Part 1 - Overview](https://exceptionnotfound.net/real-world-cqrs-es-with-asp-net-and-redis-part-1-overview/) - [Real-World CQRS/ES with ASP.NET and Redis Part 2 - The Write Model](https://exceptionnotfound.net/real-world-cqrs-es-with-asp-net-and-redis-part-2-the-write-model/) - [Real-World CQRS/ES with ASP.NET and Redis Part 3 - The Read Model](https://exceptionnotfound.net/real-world-cqrs-es-with-asp-net-and-redis-part-3-the-read-model/) - [What is Event Sourcing?](https://www.ahmetkucukoglu.com/en/what-is-event-sourcing/) - [Event Sourcing with ASP.NET Core – 01 Store](https://www.ahmetkucukoglu.com/en/event-sourcing-with-asp-net-core-01-store/) - [Event Sourcing with ASP.NET Core – 02 Messaging](https://www.ahmetkucukoglu.com/en/event-sourcing-with-aspnet-core-02-messaging/) - [Event Sourcing applied – the application service](https://lostechies.com/gabrielschenker/2015/06/13/event-sourcing-applied-the-application-service/) - [Event Sourcing applied – the Aggregate](https://lostechies.com/gabrielschenker/2015/06/06/event-sourcing-applied-the-aggregate/) - [Event sourcing revisited](https://lostechies.com/gabrielschenker/2015/05/26/event-sourcing-revisited/) - [Reactive in practice, Unit 5: Event sourcing](https://developer.ibm.com/tutorials/reactive-in-practice-5/) - [Event Sourcing Examined Part 1 of 3](https://dasith.me/2016/12/02/event-sourcing-examined-part-1-of-3/) - [Event Sourcing Examined Part 2 Of 3](https://dasith.me/2016/12/31/event-sourcing-examined-part-2-of-3/) - [Event Sourcing Examined Part 3 Of 3](https://dasith.me/2017/08/02/event-sourcing-examined-part-3-of-3/) - [Event immutability and dealing with change](https://www.eventstore.com/blog/event-immutability-and-dealing-with-change) - [How Event Sourcing makes for a better debugging experience for developers](https://www.eventstore.com/blog/how-event-sourcing-makes-for-a-better-debugging-experience-for-developers) - [Projections in Event Sourcing](https://web.archive.org/web/20230128040244/https://zimarev.com/blog/event-sourcing/projections/) ⭐ - [Entities as event streams](https://zimarev.com/blog/event-sourcing/entities-as-streams/#using-events-to-mutate-state) - [Event Sourcing basics](https://web.archive.org/web/20230128024544/https://zimarev.com/blog/event-sourcing/introduction/) ⭐ - [Event Sourcing and CQRS](https://www.kurrent.io/blog/event-sourcing-and-cqrs) ⭐ - [Entities as event streams](https://web.archive.org/web/20230128024544/https://zimarev.com/blog/event-sourcing/entities-as-streams/) ⭐ - [Reporting models and Event Sourcing](https://web.archive.org/web/20230128024544/https://zimarev.com/blog/event-sourcing/changes-in-event-sourced-systems/) ⭐ - [Event Sourcing and Microservices](https://web.archive.org/web/20230128024544/https://zimarev.com/blog/event-sourcing/microservices/) ⭐ - [Event immutability and dealing with change](https://www.eventstore.com/blog/event-immutability-and-dealing-with-change?utm_campaign=GWP%20-%20event%20immutability&utm_content=168948136&utm_medium=social&utm_source=linkedin&hss_channel=lcp-3011811) - [How to get the current entity state from events?](https://event-driven.io/en/how_to_get_the_current_entity_state_in_event_sourcing/) - [When not to use Event Sourcing?](https://event-driven.io/en/when_not_to_use_event_sourcing/) - [Revolution now!](https://event-driven.io/en/revolution_now/) - [How to (not) do the events versioning?](https://event-driven.io/en/how_to_do_event_versioning/) - [What if I told you that Relational Databases are in fact Event Stores?](https://event-driven.io/en/relational_databases_are_event_stores/) - [How to create projections of events for nested object structures?](https://event-driven.io/en/how_to_create_projections_of_events_for_nested_object_structures/) - [How to scale projections in the event-driven systems?](https://event-driven.io/en/how_to_scale_projections_in_the_event_driven_systems/) - [Anti-patterns in event modelling - Property Sourcing](https://event-driven.io/en/property-sourcing/) - [Anti-patterns in event modelling - State Obsession](https://event-driven.io/en/state-obsession/) - [How to build event-driven projections with Entity Framework](https://event-driven.io/en/how_to_do_events_projections_with_entity_framework/) - [Let's talk about positions in event stores](https://event-driven.io/en/lets_talk_about_positions_in_event_stores/) - [Simple patterns for events schema versioning](https://event-driven.io/en/simple_events_versioning_patterns/) ⭐ - [How to (not) do the events versioning?](https://event-driven.io/en/how_to_do_event_versioning/) - [How to do snapshots in Marten?](https://event-driven.io/en/how_to_do_snapshots_in_Marten/) - [Keep your streams short! Temporal modeling for fast reads and optimal data retention](https://www.eventstore.com/blog/keep-your-streams-short-temporal-modelling-for-fast-reads-and-optimal-data-retention) - [Integrating Marten with other systems](https://event-driven.io/en/integrating_Marten/) - [Using strongly-typed identifiers with Marten](https://event-driven.io/en/using_strongly_typed_ids_with_marten/) - [A simple trick for idempotency handling in the Elastic Search read model](https://event-driven.io/en/simple_trick_for_idempotency_handling_in_elastic_search_readm_model/) - [Getting Started with CQRS – Part 1](https://www.red-gate.com/simple-talk/development/dotnet-development/getting-started-with-cqrs-part-1/) - [Getting Started with CQRS – Part 2](https://www.red-gate.com/simple-talk/development/dotnet-development/getting-started-with-cqrs-part-2/) - [Getting Started with CQRS – Part 3](https://www.red-gate.com/simple-talk/development/dotnet-development/getting-started-with-cqrs-part-3/) - [Dealing with Eventual Consistency and Idempotency in MongoDB projections](https://event-driven.io/en/dealing_with_eventual_consistency_and_idempotency_in_mongodb_projections/) - [Global event stream](https://zimarev.com/blog/event-sourcing/all-stream/) - [Live projections for read models with Event Sourcing and CQRS](https://www.eventstore.com/blog/live-projections-for-read-models-with-event-sourcing-and-cqrs) - [DDD, CQRS and Event Sourcing in .NET Core with Weapsy.Mediator](https://www.linkedin.com/pulse/ddd-cqrs-event-sourcing-net-core-weapsymediator-luca-briguglia/) - [Building an Event Storage](https://cqrs.wordpress.com/documents/building-event-storage/) - [Event Sourcing: 5 things to consider when approaching it](https://www.davidguida.net/event-sourcing-things-to-consider) - [Event Sourcing pattern for microservices in .Net Core](https://chaitanyasuvarna.wordpress.com/2021/05/30/event-sourcing-pattern-in-net-core/) - [Snapshots in Event Sourcing for Rehydrating Aggregates](https://codeopinion.com/snapshots-in-event-sourcing-for-rehydrating-aggregates/) - [Scalable Microservices with Event Sourcing and Redis](https://medium.com/lcom-techblog/scalable-microservices-with-event-sourcing-and-redis-6aa245574db0) - [CQRS & Event Sourcing Code Walk-Through](https://codeopinion.com/cqrs-event-sourcing-code-walk-through/) - [Event Sourced Aggregate Design: Focus on Business Logic](https://codeopinion.com/event-sourced-aggregate-design-focus-on-business-logic/) - [Testing your Domain when Event Sourcing](https://codeopinion.com/testing-your-domain-when-event-sourcing/) - [Projections in Event Sourcing: Build ANY model you want!](https://codeopinion.com/projections-in-event-sourcing-build-any-model-you-want/?utm_source=rss&utm_medium=rss&utm_campaign=projections-in-event-sourcing-build-any-model-you-want) - [Event Sourcing Example & Explained in plain English](https://codeopinion.com/event-sourcing-example-explained-in-plain-english/?utm_source=feedly&utm_medium=rss&utm_campaign=event-sourcing-example-explained-in-plain-english) - [Event Sourcing: Projections with Liquid Projections](https://codeopinion.com/event-sourcing-projections-with-liquid-projections/) - [Event Sourcing with SQL Stream Store](https://codeopinion.com/event-sourcing-with-sql-stream-store/) - [Event Stream as a Message Queue](https://codeopinion.com/event-stream-message-queue/) - [Event Store Persistent Subscriptions](https://codeopinion.com/event-store-persistent-subscriptions/) - [Event Store Persistent Subscriptions Demo](https://codeopinion.com/event-store-persistent-subscriptions-demo/) - [Persistent subscription](https://developers.eventstore.com/server/v21.10/persistent-subscriptions.html) - [Event Store Subscribe to changes](https://developers.eventstore.com/clients/dotnet/5.0/subscriptions.html) - [Migration to gRPC client](https://developers.eventstore.com/clients/dotnet/5.0/migration-to-gRPC.html#update-the-target-framework) - [Event Schema Versioning](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/EventsVersioning) - [Event Sourcing: Snapshotting](https://domaincentric.net/blog/event-sourcing-snapshotting) - [Convince your CTO to use Event Sourcing](https://www.eventstore.com/blog/convincing-your-cto) - [The Right Way - Event Sourcing done right](https://eventuous.dev/docs/prologue/the-right-way/) - [Event Sourcing - Kamil](https://github.com/kgrzybek/modular-monolith-with-ddd#315-event-sourcing) - [What they don’t tell you about event sourcing](https://medium.com/@hugo.oliveira.rocha/what-they-dont-tell-you-about-event-sourcing-6afc23c69e9a) - [Reactive Event Sourcing in Java, Part 1: Domain](https://softwaremill.com/reactive-event-sourcing-in-java-part-1-domain/) - [Reactive Event Sourcing in Java, Part 2: Actor Model](https://softwaremill.com/reactive-event-sourcing-in-java-part-2-actor-model/) - [Reactive Event Sourcing in Java, Part 3: Service](https://softwaremill.com/reactive-event-sourcing-in-java-part-3-service/) - [Reactive Event Sourcing in Java, Part 4: Controller](https://softwaremill.com/reactive-event-sourcing-in-java-part-4-controller/) - [Implementing event sourcing using a relational database](https://softwaremill.com/implementing-event-sourcing-using-a-relational-database/) - [Read models in event-sourced systems](https://alexey-zimarev.medium.com/read-models-in-event-sourced-systems-489342181233) - [EventStoreDB Vs Kafka](https://domaincentric.net/blog/eventstoredb-vs-kafka) - [Event Sourcing: Why Kafka is not suitable as an Event Store](https://medium.com/@TonyBologni/event-sourcing-why-kafka-is-not-suitable-as-an-event-store-796e5d9ab63c) - [Event Versioning with Marten](https://event-driven.io/en/event_versioning_with_marten/) - [Slim your aggregates with Event Sourcing!](https://event-driven.io/en/slim_your_entities_with_event_sourcing/) - [Functional Event Sourcing Decider](https://thinkbeforecoding.com/post/2021/12/17/functional-event-sourcing-decider) - [A Vision for Low Ceremony CQRS with Event Sourcing](https://jeremydmiller.com/2022/06/15/a-vision-for-low-ceremony-cqrs-with-event-sourcing/) - [How to effectively compose your business logic](https://event-driven.io/en/how_to_effectively_compose_your_business_logic/) - [CQRS + Event Sourcing – Step by Step](https://danielwhittaker.me/2020/02/20/cqrs-step-step-guide-flow-typical-application/) - [Testing business logic in Event Sourcing, and beyond!](https://event-driven.io/en/testing_event_sourcing/) - [Testing an Event Sourced Aggregate Root](https://buildplease.com/pages/fpc-13/) - [An Executable Specification](https://buildplease.com/pages/fpc-14/) - [Event Sourcing explained](https://itnext.io/event-sourcing-explained-b19ccaa93ae4) ⭐ - [Essential features of an Event Store for Event Sourcing](https://itnext.io/essential-features-of-an-event-store-for-event-sourcing-13e61ca4d066) - [Event Sourcing Part I: Understanding what it is, core components, and common misconceptions](https://medium.com/ssense-tech/event-sourcing-part-i-understanding-what-it-is-core-components-and-common-misconceptions-5dec65f6d61) - [Event Sourcing Part II: Implementing an end-to-end solution](https://medium.com/ssense-tech/event-sourcing-part-ii-implementing-an-end-to-end-solution-68b7dbefe89) - [Guide to Projections and Read Models in Event Driven Architecture](https://event-driven.io/en/projections_and_read_models_in_event_driven_architecture/) ⭐ - [Event-driven projections in Marten explained](https://event-driven.io/en/projections_in_marten_explained/) - [Projecting Marten events to Elasticsearch](https://event-driven.io/en/projecting_from_marten_to_elasticsearch/) - [Ensuring uniqueness in Marten event store](https://event-driven.io/en/unique_constraint_in_marten_event_store/) - [Event stores are key-value databases, and why that matters](https://event-driven.io/en/event_stores_are_key_value_stores/) - [How to scale out Marten](https://event-driven.io/en/scaling_out_marten/) - [Implementing Closing the Books pattern](https://event-driven.io/en/closing_the_books_in_practice/) - [Explicit events serialisation in Event Sourcing](https://event-driven.io/en/explicit_events_serialisation_in_event_sourcing/) - [Marten, Metrics, and Open Telemetry Support](https://jeremydmiller.com/2024/04/30/marten-metrics-and-open-telemetry-support/) - [Marten, PostgreSQL, and .NET Aspire walk into a bar](https://jeremydmiller.com/2024/05/01/marten-postgresql-and-net-aspire-walk-into-a-bar/) - [Why you should batch message processing and how to do it with .NET AsyncEnumerable](https://event-driven.io/en/batching_async_enumerable/) - [Persistent vs catch-up, EventStoreDB subscriptions in action](https://event-driven.io/en/persistent_vs_catch_up_eventstoredb_subscriptions_in_action/) - [Filtering EventStoreDB subscriptions by event types](https://event-driven.io/en/filtering_eventstoredb_subscriptions_by_event_types/) - [Using event metadata in event-driven projections](https://event-driven.io/en/projections_and_event_metadata/) - [Event sourcing, CQRS, stream processing and Apache Kafka: What’s the connection?](https://www.confluent.io/blog/event-sourcing-cqrs-stream-processing-apache-kafka-whats-connection/) - [Event Sourcing: Why Kafka is not suitable as an Event Store](https://itnext.io/event-sourcing-why-kafka-is-not-suitable-as-an-event-store-796e5d9ab63c) ## πŸ“Ί Videos - [Event Sourcing Playlist - CodeOpinion](https://www.youtube.com/playlist?list=PLThyvG1mlMzkRKJnhzvxtSAbY8oxENLUQ) - [Event Sourcing Example & Explained in plain English](https://www.youtube.com/watch?v=AUj4M-st3ic) - [Projections in Event Sourcing: Build ANY model you want!](https://www.youtube.com/watch?v=bTRjO6JK4Ws) - [Event Sourcing: Rehydrating Aggregates with Snapshots](https://www.youtube.com/watch?v=eAIkomEid1Y) - [Event Sourcing with Azure SQL and Entity Framework Core](https://www.youtube.com/watch?v=-BhDW3GeSqg) - [What's an Event Driven System?](https://www.youtube.com/watch?v=rJHTK2TfZ1I) - [eventstore webinars](https://www.eventstore.com/webinars) - [Testing Aggregate with Event Sourcing made SIMPLE](https://www.youtube.com/watch?v=rGlNhYOqKZk) - [A practical introduction to DDD, CQRS & Event Sourcing - Dennis Doomen - KanDDDinsky 2019](https://www.youtube.com/watch?v=r26BuahD8aM) - [Event Sourcing & CQRS in C# - The Aggregate Root](https://www.youtube.com/watch?v=LAU2gFtPC_0) - [Event Sourcing & CQRS in C#: The Repository](https://www.youtube.com/watch?v=ZEHgs2qy2MQ) - [Event Sourcing & CQRS in C# - The Event Store](https://www.youtube.com/watch?v=dfzsAGUAAYQ) - [Practical introduction to Event Sourcing with EventStoreDB](https://www.youtube.com/watch?v=rqYPVzjoxqI - [CQRS - Event Sourcing || Deep Dive on Building Event Driven Systems || Part-1 ||](https://www.youtube.com/watch?v=3TwLEoLtpw0) - [CQRS - Event Sourcing || Deep Dive on Building Event Driven Systems || Part -2 ||](https://www.youtube.com/watch?v=MKdHSKeMpk0) - [Event Sourcing with Azure SQL and Entity Framework Core](https://www.youtube.com/watch?v=-BhDW3GeSqg) - [Event Sourcing & CQRS | Stock Exchange Microservices Architecture | System Design Primer](https://www.youtube.com/watch?v=E-7TBZxmkXE) - [Don't Let the Internet Dupe You, that's NOT Event Sourcing](https://www.youtube.com/watch?v=Y7ca1--EKsg) - [Never Lose Data Again - Event Sourcing to the Rescue! with Oskar Dudycz - December 1st 2021](https://www.youtube.com/watch?v=fDC465jJoDk) - [Practical Introduction to Event Sourcing with EventStoreDB by Oskar Dudycz](https://www.youtube.com/watch?v=ArcypYS5XBQ) - [Event Store Webinar: Migrating from TCP to gRPC](https://www.youtube.com/watch?v=-4_KTfVkjlQ) - [Practical Event Sourcing with Marten - Oskar Dudycz, .NET](https://www.youtube.com/watch?v=L_ized5xwww) - [Sander MOLENKAMP: Practical CQRS and Event Sourcing on Azure @ Update Conference Prague 18](https://www.youtube.com/watch?v=3XcB-5CrRe8) - [How to build an event store using CosmosDB](https://www.youtube.com/watch?v=UejwRlmV6E4) - [The Dark Side of Events](https://www.youtube.com/watch?v=URYPpY3SgS8) - [How an EventStore actually works - by Gregory Young](https://www.youtube.com/watch?v=YUjO1wM0PZM) - [Practical Event-Sourcing with C# and EventStore with Alexey Zimareff](https://www.youtube.com/watch?v=0RGuoRRHWf8) - [Eventuous: Event Sourcing with .NET, Alexey Zimarev](https://www.youtube.com/watch?v=IbnXdERLDjk) - [Introduction to Event Sourcing](https://learn.eventstore.com/webinar-recording-introduction-to-event-sourcing) - [Q&A - Event Sourcing, CQRS, and DDD](https://learn.eventstore.com/webinar-recording-qa-event-sourcing-cqrs-and-ddd) - [Eventual Consistency is a UX Nightmare](https://www.youtube.com/watch?v=wEUTMuRSZT0) - [Eventuous Event Sourcing with NET - Alexey Zimarev - NDC Oslo 2021](https://www.youtube.com/watch?v=4j7PyYT2GMU) - [Event sourcing meetup with Alexey Zimarev and Greg Young](https://www.youtube.com/watch?v=DDefPUCB9ao) - [PostgreSQL as NoSql with Marten by Pavlo Tsybulivskyi](https://www.youtube.com/watch?v=gZX6nrudTL0) - [Understanding Event Sourcing Basics [.NET C#]](https://www.youtube.com/watch?v=EGYMNsI_Opo) - [Understanding When to Snapshot [.NET C#]](https://www.youtube.com/watch?v=Y0EshPK32cg) - [Complex Projections in Event Sourcing [.NET C#]](https://www.youtube.com/watch?v=kv87iBsEP44) - [Snapshotter for Asynchronous Projections [.NET C#]](https://www.youtube.com/watch?v=ZRr3jOXZGJg) - [Event Sourcing do's and don'ts](https://www.youtube.com/watch?v=SYsiIxJ-Nfw) - [Let's build the worst Event Sourcing system! - Oskar Dudycz - EventSourcing Live 2021](https://www.youtube.com/watch?v=Lu-skMQ-vAw) - [Snapshotter Service with distributed locks [.NET C#]](https://www.youtube.com/watch?v=NriFMN2UtZs) - [Introduction to Event Sourcing in TypeScript and NodeJS with EventStoreDB](https://www.youtube.com/watch?v=5pc7abhle_Q) - [About Event Sourcing with Oskar Dudycz | Software as we know IT](https://www.youtube.com/watch?v=MARo6153qF8) - [Practical introduction to Event Sourcing with Spring Boot and EventStoreDB](https://www.youtube.com/watch?v=LaUSPtwFLSg) - [Real-time subscription - Alexey Zimarev](https://medium.com/eventuous/real-time-subscription-3d5725d69887) - [Pragmatic Event Sourcing in .NET With Marten - JetBrainsTV](https://www.youtube.com/watch?v=Lc2zV8KA16A) - [.NET DC August: Event Sourcing and CQRS with Marten](https://www.youtube.com/watch?v=XaztVpahD1k) - [DDD as Low-Code](https://www.youtube.com/watch?v=yohu6qx8-dU) - [Introduction to Event Sourcing by Alexey Zimarev](https://www.youtube.com/watch?v=VeZZ2UZMDYo) - [The power of transient state in Event Sourcing](https://www.youtube.com/watch?v=XoWEQ_39Mcg) - [Let's build event store in one hour! - Oskar Dudycz - NDC Oslo 2022](https://www.youtube.com/watch?v=gaoZdtQSOTo) - [Event Sourcing in 1 Hour with Marten in .NET](https://www.youtube.com/watch?v=yWpuUHXLhYg) - [Event-driven revolution, from CRUD to Event Sourcing in practice - Oskar Dudycz - Devoxx For Ukraine](https://www.youtube.com/watch?v=V5_MMtfPpKs) - [How to model event-sourced systems efficiently - Oskar Dudycz - DDD Europe 2022](https://www.youtube.com/watch?v=gG6DGmYKk4I) - [Practical Introduction to Event Sourcing](https://www.youtube.com/watch?v=O3qbCuHvcPk) - [Student Enrollment with EventStoreDB (an introduction to Event Sourcing)](https://www.youtube.com/watch?v=SB55-lgK_8I) - [Getting Started with Event Sourcing in .NET](https://www.youtube.com/watch?v=n_o-xuuVtmw) - [Let's build the worst Event Sourcing system! - Oskar Dudycz - EventSourcing Live 2021](https://www.youtube.com/watch?v=Lu-skMQ-vAw) - [Event Modeling Anti-patterns - Kafka Summit London 2024 - Oskar Dudycz](https://www.youtube.com/watch?v=Lu-skMQ-vAw) ## πŸ“¦ Libraries - [Eventuous/eventuous](https://github.com/Eventuous/eventuous) - Minimalistic Event Sourcing library for .NET - [EventFlow](https://github.com/eventflow/EventFlow) - Async/await first CQRS+ES and DDD framework for .NET - [oskardudycz/GoldenEye](https://github.com/oskardudycz/GoldenEye) - The CQRS flavoured framework that will speed up your WebAPI and Microservices development - [AggregateSource](https://github.com/yreynhout/AggregateSource) - Lightweight infrastructure for doing eventsourcing using aggregates - [Projac](https://github.com/BitTacklr/Projac) - A set of .NET projection libraries - [Aggregates.NET](https://github.com/charlessolar/Aggregates.NET) - .NET event sourced domain driven design model via NServiceBus and GetEventStore - [CanerPatir/Algorist.EventSourcing](https://github.com/CanerPatir/Algorist.EventSourcing) - An event sourcing building block for .net core - [jet/equinox](https://github.com/jet/equinox) - .NET Event Sourcing library with CosmosDB, EventStoreDB, SqlStreamStore and integration test backends. - [revoframework/Revo](https://github.com/revoframework/Revo) - Event Sourcing, CQRS and DDD framework for C#/.NET Core - [gautema/cqrslite](https://github.com/gautema/cqrslite) - A lightweight framework to help creating CQRS and Eventsourcing applications in C# - [lucabriguglia/OpenCQRS](https://github.com/lucabriguglia/OpenCQRS) - .NET Standard framework to create simple and clean design. Advanced features for DDD, CQRS and Event Sourcing. - [SQLStreamStore/SQLStreamStore](https://github.com/SQLStreamStore/SQLStreamStore) - Stream Store library targeting RDBMS based implementations for .NET - [jacqueskang/EventSourcing](https://github.com/jacqueskang/EventSourcing) - .NET Core event sourcing framework - [dasiths/NEventLite](https://github.com/dasiths/NEventLite) - NEventLite - An extensible lightweight library for .NET that manages the Aggregate lifecycle in an Event Sourced system. Supports Event and Snapshot storage providers like EventStore/Redis or SQL Server. Built with dependency injection in mind and seamlessly integrates with AspNetCore. - [Eveneum/Eveneum](https://github.com/Eveneum/Eveneum) - Event Store backed by Azure Cosmos DB - [Slacquer/api-blox](https://github.com/Slacquer/api-blox) - .NetCore & AspNetCore API Building Blocks. - [learningcom/Learning.EventStore](https://github.com/learningcom/Learning.EventStore) - A framework for CQRS, Eventsourcing, and messaging that uses Redis pub/sub for messaging and offers event persistence in Redis, SQL Server, or PostgreSQL. - [liquidprojections/LiquidProjections](https://github.com/liquidprojections/LiquidProjections) - [EventStore/replicator](https://github.com/EventStore/replicator) - Real-time replication tool - [nstoredev/NStore](https://github.com/nstoredev/NStore) - [IEvangelist/azure-cosmos-dotnet-repository](https://github.com/IEvangelist/azure-cosmos-dotnet-repository) - Wraps the .NET SDK for Azure Cosmos DB abstracting away the complexity, exposing a simple CRUD-based repository pattern - [ForrestTech/Eventus](https://github.com/ForrestTech/Eventus) - A framework for creating updating and storing event sourced aggregates using a range of storage providers. - [NEventStore/NEventStore](https://github.com/NEventStore/NEventStore) - A persistence agnostic Event Store for .NET - [ircnelson/enjoy.cqrs](https://github.com/ircnelson/enjoy.cqrs) - This library help you to build your applications using CQRS and Event source concepts. - [J-Tech-Japan/Sekiban](https://github.com/J-Tech-Japan/Sekiban) - Sekiban - an Opinionated Event Sourcing and CQRS Framework using C#. It can store data into Azure Cosmos DB, AWS Dynamo DB or Postgres ## πŸš€ Samples - [VenomAV/EventSourcingCQRS](https://github.com/VenomAV/EventSourcingCQRS) - [oskardudycz/EventSourcing.NetCore](https://github.com/oskardudycz/EventSourcing.NetCore) - Examples and Tutorials of Event Sourcing in .NET - [oskardudycz/EventSourcing.NodeJS](https://github.com/oskardudycz/EventSourcing.NodeJS) - Examples and Tutorials of Event Sourcing in NodeJS - [mizrael/SuperSafeBank](https://github.com/mizrael/SuperSafeBank) - Sample Event Sourcing implementation with .NET Core - [Hands-On-Domain-Driven-Design-with-.NET-Core](https://github.com/PacktPublishing/Hands-On-Domain-Driven-Design-with-.NET-Core) - [Aggregates.NET](https://github.com/charlessolar/Aggregates.NET) - .NET event sourced domain driven design model via NServiceBus and GetEventStore - [eShopOnContainersDDD](https://github.com/charlessolar/eShopOnContainersDDD) - Fork of dotnet-architecture/eShopOnContainers in full DDD/CQRS design using my own patterns - [ProductContext-EventSourcing](https://github.com/osoykan/ProductContext-EventSourcing) - A practical/experimental Event Sourcing application on Product Bounded Context in an e-commerce - [ddd-and-eventsourcing-example](https://github.com/eraydin/ddd-and-eventsourcing-example) - [EventStore/Webinars](https://github.com/EventStore/Webinars) - [EventStore/samples](https://github.com/EventStore/samples) - Samples showing practical aspect of EventStoreDB, Event Sourcing - [ddd-by-examples/event-source-cqrs-sample](https://github.com/ddd-by-examples/event-source-cqrs-sample) - Sample ES/CQRS application - [exceptionnotfound/DotNetCqrsDemo](https://github.com/exceptionnotfound/DotNetCqrsDemo) - [NHadi/Pos](https://github.com/NHadi/Pos) - Sample Application DDD, Reactive Microservices, CQRS Event Sourcing Powered by DERMAYON LIBRARY - [oskardudycz/GoldenEye/DDD/Tickets](https://github.com/oskardudycz/GoldenEye/tree/35544a10bc0214cce73ec098c7f1dd3a949969a7/samples/DDD/Tickets) - [learningcom/Learning.EventStore](https://github.com/learningcom/Learning.EventStore) - A framework for CQRS, Eventsourcing, and messaging that uses Redis pub/sub for messaging and offers event persistence in Redis, SQL Server, or PostgreSQL. - [Reacture/FoxOffice](https://github.com/Reacture/FoxOffice) - Sample application demonstrating how to build a distributed cloud .NET Core application based on CQRS and Event Sourcing. - [amolenk/CosmosEventSourcing](https://github.com/amolenk/CosmosEventSourcing) - Example of event sourcing implemented with Cosmos DB - [UbiquitousLanguage/WorkshopEventSourcing](https://github.com/UbiquitousLanguage/WorkshopEventSourcing) - Practical event-sourcing with C# workshop repository - [madslundt/NetCoreMicroservicesSample](https://github.com/madslundt/NetCoreMicroservicesSample) - [Eventuous/dotnet-sample](https://github.com/Eventuous/dotnet-sample) - Sample application using Eventuous .NET - [oskardudycz/EventSourcing.NetCore/Workshops/IntroductionToEventSourcing](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Workshops/IntroductionToEventSourcing) - Introduction to Event Sourcing Workshop - [oskardudycz/EventSourcing.JVM](https://github.com/oskardudycz/EventSourcing.JVM) - Examples and Tutorials of Event Sourcing in JVM languages - [AleksK1NG/Java-Spring-CRQS-Eventsourcing-Microservice](https://github.com/AleksK1NG/Java-Spring-CRQS-Eventsourcing-Microservice) - Java-Spring-CRQS-Eventsourcing-Microservice - [AleksK1NG/Java-Quarkus-Reactive-CQRS-EventSourcing](https://github.com/AleksK1NG/Java-Quarkus-Reactive-CQRS-EventSourcing) - Java-Quarkus-Reactive-CQRS-EventSourcing - [evgeniy-khist/eventstoredb-event-sourcing](https://github.com/evgeniy-khist/eventstoredb-event-sourcing) - EventStoreDB is the database for Event Sourcing. This repository provides a sample of event sourced system that uses EventStoreDB as event store. - [evgeniy-khist/postgresql-event-sourcing](https://github.com/evgeniy-khist/postgresql-event-sourcing) - PostgreSQL is the world's most advanced open source database. Also, PostgreSQL is suitable for Event Sourcing. This repository provides a sample of event sourced system that uses PostgreSQL as event store. - [Finaps/EventSourcing](https://github.com/Finaps/EventSourcing) - Event Sourcing in .NET 6 - [bymyslf/payment-gateway](https://github.com/bymyslf/payment-gateway) - A sample project using Hexagonal (Ports & Adapters) architecture, Event Sourcing, CQRS and DDD tactical patterns - [softwaremill/reactive-event-sourcing-java](https://github.com/softwaremill/reactive-event-sourcing-java) - [RailsEventStore/ecommerce](https://github.com/RailsEventStore/ecommerce) - Application with CQRS and Event Sourcing built on Rails and Rails Event Store - [AleksK1NG/Kotlin-ES-CQRS-Microservice](https://github.com/AleksK1NG/Kotlin-ES-CQRS-Microservice) - Kotlin-ES-CQRS-Microservice - [oskardudycz/EventStoreInOneHour](https://github.com/oskardudycz/EventStoreInOneHour) - Repository for Live Stream "Event Store in One Hour" - [AntonioFalcaoJr/EDA.CleanArch.DDD.CQRS.EventSourcing](https://github.com/AntonioFalcaoJr/EDA.CleanArch.DDD.CQRS.EventSourcing) - A full-stack .NET 7 EDA solution - [MarkNijhof/Fohjin](https://github.com/MarkNijhof/Fohjin) - This is a personal sand box - [EventStore/training-advanced-dotnet](https://github.com/EventStore/training-advanced-dotnet) - [mat-mcloughlin/PatientMangement](https://github.com/mat-mcloughlin/PatientMangement) - A simple example of how to build an event sourced application - [klimisa/aggregate-implementation-patterns-csharp](https://github.com/klimisa/aggregate-implementation-patterns-csharp) - Aggregate implementations workshop port to C# - [bitloops/ddd-hexagonal-cqrs-es-eda](https://github.com/bitloops/ddd-hexagonal-cqrs-es-eda) - Complete 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 - [matt-bentley/AspNetCore.EventSourcing](https://github.com/matt-bentley/AspNetCore.EventSourcing) - Simple Event Sourcing implementation in ASP.NET with Entity Framework Core and MediatR - [JasperFx/CritterStackSamples](https://github.com/JasperFx/CritterStackSamples) - Samples using the "Critter Stack" Tools - [oskardudycz/EventSourcing.JVM/tree/main/samples/event-sourcing-esdb-aggregates](https://github.com/oskardudycz/EventSourcing.JVM/tree/main/samples/event-sourcing-esdb-aggregates) ⭐ - [oskardudycz/EventSourcing.NetCore/tree/main/Sample/EventStoreDB/ECommerce](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/EventStoreDB/ECommerce) ⭐ - [oskardudycz/EventSourcing.JVM/tree/main/samples/event-sourcing-esdb-simple](https://github.com/oskardudycz/EventSourcing.JVM/tree/main/samples/event-sourcing-esdb-simple) ⭐ - [oskardudycz/EventSourcing.NetCore/tree/main/Sample/EventStoreDB/Simple](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/EventStoreDB/Simple) ⭐ - [oskardudycz/EventSourcing.NetCore/tree/main/Sample/EventsVersioning](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/EventsVersioning) ⭐