All Projects → charlessolar → Aggregates.net

charlessolar / Aggregates.net

Licence: mit
.NET event sourced domain driven design model via NServiceBus and GetEventStore

Projects that are alternatives of or similar to Aggregates.net

Eshoponcontainersddd
Fork of dotnet-architecture/eShopOnContainers in full DDD/CQRS design using my own patterns
Stars: ✭ 126 (-51.72%)
Mutual labels:  microservices, eventsourcing, eventstore, ddd, cqrs
Todomvc Ddd Cqrs Eventsourcing
Implementation of basic Todo app via tastejs/todomvc in C#/Typescript with eventsourcing, cqrs, and domain driven design
Stars: ✭ 134 (-48.66%)
Mutual labels:  microservices, eventsourcing, eventstore, ddd, cqrs
Nestjs Cqrs Starter
NestJS CQRS Microservices Starter Project
Stars: ✭ 80 (-69.35%)
Mutual labels:  microservices, eventstore, ddd, cqrs
Bifrost
This is the stable release of Dolittle till its out of alpha->beta stages
Stars: ✭ 111 (-57.47%)
Mutual labels:  eventsourcing, eventstore, ddd, cqrs
Eventflow
Async/await first CQRS+ES and DDD framework for .NET
Stars: ✭ 1,932 (+640.23%)
Mutual labels:  eventsourcing, eventstore, ddd, cqrs
eventuous
Minimalistic Event Sourcing library for .NET
Stars: ✭ 236 (-9.58%)
Mutual labels:  cqrs, ddd, eventstore, eventsourcing
Eventflow.example
DDD+CQRS+Event-sourcing examples using EventFlow following CQRS-ES architecture. It is configured with RabbitMQ, MongoDB(Snapshot store), PostgreSQL(Read store), EventStore(GES). It's targeted to .Net Core 2.2 and include docker compose file.
Stars: ✭ 131 (-49.81%)
Mutual labels:  eventsourcing, eventstore, ddd, cqrs
nestjs-boilerplate-microservice
Nestjs Microservice boilerplate: apply DDD, CQRS, and Event Sourcing within an event driven architecture
Stars: ✭ 270 (+3.45%)
Mutual labels:  cqrs, ddd, eventstore, eventsourcing
Ultimate Backend
Multi tenant SaaS starter kit with cqrs graphql microservice architecture, apollo federation, event source and authentication
Stars: ✭ 978 (+274.71%)
Mutual labels:  microservices, eventstore, ddd, cqrs
Quiz
Example real time quiz application with .NET Core, React, DDD, Event Sourcing, Docker and built-in infrastructure for CI/CD with k8s, jenkins and helm
Stars: ✭ 100 (-61.69%)
Mutual labels:  microservices, eventsourcing, ddd, cqrs
delta
DDD-centric event-sourcing library for the JVM
Stars: ✭ 15 (-94.25%)
Mutual labels:  cqrs, ddd, eventsourcing
Kreta
Modern project management solution
Stars: ✭ 177 (-32.18%)
Mutual labels:  microservices, ddd, cqrs
Event Sourcing Jambo
An Hexagonal Architecture with DDD + Aggregates + Event Sourcing using .NET Core, Kafka e MongoDB (Blog Engine)
Stars: ✭ 159 (-39.08%)
Mutual labels:  microservices, ddd, cqrs
Eventapis
eventapis is a Java based Event Sourcing framework which can be benefited by the teams who are planning to make CQRS transitions with minimum learning curve and ease of adaptation.
Stars: ✭ 147 (-43.68%)
Mutual labels:  microservices, eventsourcing, cqrs
Digital Restaurant
DDD. Event sourcing. CQRS. REST. Modular. Microservices. Kotlin. Spring. Axon platform. Apache Kafka. RabbitMQ
Stars: ✭ 222 (-14.94%)
Mutual labels:  microservices, ddd, cqrs
Cqrs
cqrs framework in go
Stars: ✭ 179 (-31.42%)
Mutual labels:  microservices, eventstore, cqrs
Dotnet New Caju
Learn Clean Architecture with .NET Core 3.0 🔥
Stars: ✭ 228 (-12.64%)
Mutual labels:  microservices, ddd, cqrs
workflow
Functional CQRS Eventsourcing Engine
Stars: ✭ 22 (-91.57%)
Mutual labels:  cqrs, eventstore, eventsourcing
iam-ddd-cqrs-es-nestjs
Identity and Access Management
Stars: ✭ 34 (-86.97%)
Mutual labels:  cqrs, ddd, eventstore
Interviews
A list of fancy questions I've been asked during the interviews I had. Some of them I ask when interviewing people.
Stars: ✭ 140 (-46.36%)
Mutual labels:  microservices, ddd, cqrs
Build Build status
Coverage Coveralls Coverage Status SonarCloud SonarCloud
Quality SonarCloud GitHub issues
Nuget Nuget

Aggregates.NET v0.15

Aggregates.NET is a framework to help developers integrate the excellent NServiceBus and EventStore libraries together.

This library contains code to help create and manage domain driven design objects such as Aggregates, Entities, Value Objects, etc. This framework is by far not the only option, other libraries include:

This project was originally inspired by and still uses many ideas from NES and CommonDomain.

What will Aggregates.NET do for you?

We fill in the gap between EventStore and NServiceBus. Commands from NServiceBus are applied to aggregate objects via message handlers and events generated via the aggregates are saved to the event stream and published to the bus.

Current features include -

  • Entities (Aggregates)
  • Children entities of entities (infinite parenthood)
  • Snapshotting
  • Query pattern
  • Unit of Work and Repository pattern
  • Automatic saving and publishing of domain events
  • Out of band events (events saved or published which do not affect business logic of entity)
  • Bulk command and event delivery
  • Intelligent and configurable conflict resolution
  • Automatic configuration of projections and competing consumers for consumers
  • EventStore sharding
  • Automatic command accept/reject replies
  • Ton of performance counters

Performance

Aggregates.NET is not slow - but I did not write it focused on bleeding fast performance. "Premature optimization is bad" etc etc. Aggregates.NET is however designed with features meant to allow you to perform well. A great example is the support for bulk command and event processing. When setup you can have your app process say 1000 messages of a specific type at once instead of one at a time. The advantage being that you can cache objects while processing saving a vast amount of read time from your database.
These features of course have trade offs and should only be used in specialized circumstances but when your app is tuned correctly you'll definitely see greater throughput than a traditional read, hydrate, write, repeat paradigm.

Currently Aggregates.NET offers the following performance features:

  • Snapshotting
  • Bulk message (commands and events) delivery
  • Special "weak" conflict resolver which delays stream conflict resolution preventing conflict hell
  • Smart snapshot store
  • Out of band events
  • Async throughout

Status

Aggregates.NET is still under development but I personally am using it in 2 projects so its very usable. Expect fairly often updates via Nuget as I tend to add and fix things when the issue pops up. Sometimes the packages have a bug or some small issue but I always fix it right away. I do not have any plans yet for 'stable' releases so only use the library is you are comfortable with beta builds.

I have no plans to freeze the API or do semantic versioning anytime soon - so keep that in mind when updating packages

Other Transports / EventStores

I welcome pull requests for other transports or stores - otherwise they'll only be added if I need them

Nuget

Nuget packages are available under the id Aggregates.NET. There are also binaries and source code releases available via github.

Documentation

This is a one man project so documentation is lacking - sorry about that. If you have any questions about using Aggregates.NET feel free to contact me via email or slack (the ddd/cqrs slack group)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].