lucabriguglia / OpenCQRS

.NET Standard framework to create simple and clean design. Advanced features for DDD, CQRS and Event Sourcing.
Apache License 2.0
3 stars 115 forks source link
azure commands cqrs ddd dispatcher dotnet-core event-sourcing events service-bus

PROJECT NO LONGER MAINTAINED

IT WAS MADE PRIVATE WHEN IT HAD 681 STARS AND THEN MADE PUBLIC AGAIN FOR ARCHIVE PURPOSES

OpenCQRS

.Build

OpenCQRS is a .NET 6 framework that can be used to create a simple and clean design by enforcing single responsibility and separation of concerns.

Its advanced features are ideal for Domain Driven Design (DDD), Command Query Responsibilty Segragation (CQRS) and Event Sourcing.

With OpenCQRS you can automatically dispatch events to a message bus (Service Bus or RabbitMQ), validate your commands before they are sent to the command handler (FluentValidation) and automatically cache the result of your queries (Memory or Redis).

Full Documentation: OpenCQRS Wiki.

Main Flow

Send Command Flow

Packages

Main

Package Latest Stable
OpenCqrs Nuget Package

Store Providers

Package Latest Stable
OpenCqrs.Store.Cosmos.Mongo Nuget Package
OpenCqrs.Store.Cosmos.Sql Nuget Package
OpenCqrs.Store.EF.MySql Nuget Package
OpenCqrs.Store.EF.PostgreSql Nuget Package
OpenCqrs.Store.EF.Sqlite Nuget Package
OpenCqrs.Store.EF.SqlServer Nuget Package
OpenCqrs.Store.EF.InMemory Nuget Package
OpenCqrs.Store.EF.Cosmos Nuget Package

Bus Providers

Package Latest Stable
OpenCqrs.Bus.ServiceBus Nuget Package
OpenCqrs.Bus.RabbitMQ Nuget Package

Validation Providers

Package Latest Stable
OpenCqrs.Validation.FluentValidation Nuget Package

Caching Providers

Package Latest Stable
OpenCqrs.Caching.Memory Nuget Package
OpenCqrs.Caching.Redis Nuget Package

Misc

Package Latest Stable
OpenCqrs.UI Nuget Package