Skip to content

Releases: oskardudycz/EventSourcing.NetCore

Updated to .NET 7 and bumped all dependencies

16 Nov 17:34
Compare
Choose a tag to compare
v15.0.0

Updated to .NET 7 and bumped all dependencies

Pragmatic Event Sourcing with Marten using Helpdesk domain

30 Jun 17:43
Compare
Choose a tag to compare
  • Simplest CQRS and Event Sourcing flow using Minimal API,
  • Cutting the number of layers and boilerplate complex code to the bare minimum,
  • Using all Marten helpers like WriteToAggregate and AggregateStream to simplify the processing,
  • Examples of all the typical Marten's projections,
  • Example of how and where to use C# Records, Nullable Reference Types, etc,
  • No Aggregates. Commands are handled in the domain service as pure functions.

See more in #161.

Used Ogooreck as API testing framework

16 Jun 20:21
Compare
Choose a tag to compare
  1. Migrated all API tests to Ogooreck.
  2. Removed all startup classes and used a single Program file and WebApplicationFactory for tests.
  3. Aligned tests, and removed obsolete helpers.
  4. Fixed issue with doubled registration of event handlers because of open-generic EventListener registration (replaced with IEventBus decorator).

Read more about Ogooreck in my blog post: Ogooreck, a sneaky testing library in BDD style.

See details in PR: #136.

Updated Marten to 5.5.0

28 May 10:41
Compare
Choose a tag to compare
  1. Aligned also Marten projections naming to latest convention:
  • AggregateProjection to SingleStreamAggregation,
  • ViewProjection to MultiStreamAggregation
  1. Used convention-based version assignment on stream aggregation and single-stream projections.

Fixed Kafka integration

17 May 17:35
Compare
Choose a tag to compare

Fixed Kafka integration

  • added the initialiser to docker-compose to set the Kafka topics upfront.
  • fixed EventEnvelope creation to use a generic one. Changed the non-generic from record to interface to make sure that it won't be used.
  • made sure that EventBus takes only EventEnvelope.
  • created EventEnvelope in the external publishing.
  • used handler in KafkaConsumer to deserialise contracts with private constructors,
  • changed KafkaConsumer setting to commit offset manually.
  • enforced EventEnvelope on in-memory bus.
  • added EventEnvelopeExtensions for Kafka message deserialisation and aligned with EventStoreDB subscription to all to ignore messages that are not able to deserialise

See more in PR: #150

Used Minimal APIs builders instead of custom one in Warehouse CQRS sample

14 May 11:46
Compare
Choose a tag to compare

Do you know that you can use .NET MinimalAPI methods not only in Program.cs?
Yes, you can! It lets you slice your architecture and put endpoints definitions separately, near the respectful business logic. This matches great with CQRS.

See more in the PR: #144

Added CQRS with Minimal API sample

14 May 10:10
Compare
Choose a tag to compare
  • CQRS flow using Minimal API,
  • example how to inject handlers in MediatR'like style to decouple API from handling,
  • example of how and where to use C# Records, Nullable Reference Types, etc,
  • No Event Sourcing! Using Entity Framework to show that CQRS is not bounded to Event Sourcing or any type of storage,
  • No Aggregates! CQRS does not need DDD. Business logic can be handled by handlers.
  • πŸ“ Read more CQRS is simpler than you think with .NET 6 and C# 10

See more in

Refactored and added solutions projections exercises and added new video recording

08 May 18:51
Compare
Choose a tag to compare

Refactored and added solutions projections exercises

Refactored projections tests to focus on single-stream projections first, then expand on multi-stream projections. Mixing them in the same exercise brings too many concepts immediately. I decided to refactor the current one to show details and list projections for the single stream and include multi-stream projections as the follow-up exercises. They will come in one of the following pull requests.

See the new version of the exercises:

Related Pull Requests: #139 , #140

Added link to "CQRS is simpler than you think with C#9 and NET 5!" webinar

Watch it πŸ‘‡

CQRS is simpler than you think with C#9 and NET 5!

Added "How to deal with privacy and GDPR in Event-Sourced systems" talk

12 Apr 19:19
Compare
Choose a tag to compare

Added link to "How to deal with privacy and GDPR in Event-Sourced systems" talk.
Watch it πŸ‘‡

How to deal with privacy and GDPR in Event-Sourced systems

Upgraded also packages to the most recent versions.

Added "Let's build the worst Event Sourcing system!" talk

02 Apr 11:17
Compare
Choose a tag to compare

Added link to "Let's build the worst Event Sourcing system!" talk I gave at EventSourcing Live 2021 conference.
Watch it πŸ‘‡

Let's build the worst Event Sourcing system!