Releases: oskardudycz/EventSourcing.NetCore
Extended distributed processes examples with Choreography and Process Manager
Extended distributed processes examples with Choreography and Process Manager in addition to the already existing Saga example.
See details in PR #206.
Full sample: https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/HotelManagement
Video with explanation:
Talk CQRS is simpler than you think with C#11 and .NET 7!
From CRUD to CQRS
Added example showing step-by-step how to migrate from CRUD-based application into CQRS.
See more in: https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/CRUDToCQRS.
Let's build event store in one hour talk and materials
You can watch:
and read:
Check the full self-paced kit a and do it on your ownt: https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Workshops/BuildYourOwnEventStore
Simplified the repositories usage
Simplified the repositories usage. Previously they were all in one, plus optimistic concurrency handling from the HTTP request ETag had too many classes. Now they were dropped and replaced with repositories decorators.
Added also repositories registration helpers that are capable of building the onion around the base repository with Optimistic Concurrency scope and Telemetry data.
What's Changed
- Refactored Append Scopes into Repository Decorators by @oskardudycz in #191
- Added wrapper for Marten repository instead of the internal logic for tracing by @oskardudycz in #192
Full Changelog: v17.0.0...v18.0.0
Added "Implementing Distributed Processes" sample
Added example of distributed processes management using Group Guests Checkout as an example.
It was modelled and explained in detail in the Implementing Distributed Processes Webinar:
It shows how to:
- orchestrate and coordinate business workflow spanning across multiple aggregates using Saga pattern,
- handle distributed processing both for asynchronous commands scheduling and events publishing,
- getting at-least-once delivery guarantee,
- implementing command store and outbox pattern on top of Marten and EventStoreDB,
- unit testing aggregates and Saga with a little help from Ogooreck,
- testing asynchronous code,
Read more in:
- Saga and Process Manager - distributed processes in practice
- Event-driven distributed processes by example.
See more in PR: #167.
Brought back test reporter
Configured static analysis and applied ConfigureAwait(false) to Core classes
What's Changed
- Configured static analysis and applied ConfigureAwait(false) to Core classes by @oskardudycz in #188
- Fix for CustomerIncidentsSummaryGrouper Issue in Helpdesk sample by @stavris8894 in #173
- Fixed typo in the composite key example. by @oskardudycz in #187
New Contributors
- @stavris8894 made their first contribution in #173
Full Changelog: v16.1.0...v16.2.0
Replaced Event Bus with Event Store in projection tests to make them more explicit and self-explanator
What's Changed
- Replaced Event Bus with Event Store in projection tests to make them more explicit and self-explanatory in #186
Full Changelog: v16.0.0...v16.1.0
Open Telemetry applied
Introduced Open Telemetry tracing together with context propagation:
- CQRS processing,
- Marten,
- EventStoreDB,
- Kafka.
Removed MediatR as:
- I'd like to have more customisation around Open Telemetry instrumentation,
- Retries,
- I haven't used either pipelines or behaviours,
- it was more limiting than helping (especially with its enforcement of marker interfaces).
Removed previous manual instrumentation around correlation and causation ids.
TODO:
See details in #181.