Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lucabriguglia/OpenCQRS
.NET Standard framework to create simple and clean design. Advanced features for DDD, CQRS and Event Sourcing.
https://github.com/lucabriguglia/OpenCQRS
azure commands cqrs ddd dispatcher dotnet-core event-sourcing events service-bus
Last synced: 15 days ago
JSON representation
.NET Standard framework to create simple and clean design. Advanced features for DDD, CQRS and Event Sourcing.
- Host: GitHub
- URL: https://github.com/lucabriguglia/OpenCQRS
- Owner: lucabriguglia
- License: apache-2.0
- Archived: true
- Created: 2017-11-04T08:21:53.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-04-14T10:13:57.000Z (over 1 year ago)
- Last Synced: 2024-08-04T00:06:44.869Z (3 months ago)
- Topics: azure, commands, cqrs, ddd, dispatcher, dotnet-core, event-sourcing, events, service-bus
- Language: C#
- Homepage:
- Size: 1.75 MB
- Stars: 3
- Watchers: 1
- Forks: 114
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# PROJECT NO LONGER MAINTAINED
IT WAS MADE PRIVATE WHEN IT HAD **681 STARS** AND THEN MADE PUBLIC AGAIN FOR ARCHIVE PURPOSES
# OpenCQRS
[![.Build](https://github.com/lucabriguglia/OpenCQRS/actions/workflows/dotnet.yml/badge.svg)](https://github.com/lucabriguglia/OpenCQRS/actions/workflows/dotnet.yml)
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](https://lucabriguglia.github.io/OpenCQRS).
## Main Flow
![Send Command Flow](docs/assets/img/SendCommandFlow.svg)
## Packages
### Main
| Package | Latest Stable |
| --- | --- |
| [OpenCqrs](https://www.nuget.org/packages/OpenCqrs) | [![Nuget Package](https://img.shields.io/badge/nuget-6.5.0-blue.svg)](https://www.nuget.org/packages/OpenCqrs) |### Store Providers
| Package | Latest Stable |
| --- | --- |
| [OpenCqrs.Store.Cosmos.Mongo](https://www.nuget.org/packages/OpenCqrs.Store.Cosmos.Mongo) | [![Nuget Package](https://img.shields.io/badge/nuget-6.5.0-blue.svg)](https://www.nuget.org/packages/OpenCqrs.Store.Cosmos.Mongo) |
| [OpenCqrs.Store.Cosmos.Sql](https://www.nuget.org/packages/OpenCqrs.Store.Cosmos.Sql) | [![Nuget Package](https://img.shields.io/badge/nuget-6.5.0-blue.svg)](https://www.nuget.org/packages/OpenCqrs.Store.Cosmos.Sql) |
| [OpenCqrs.Store.EF.MySql](https://www.nuget.org/packages/OpenCqrs.Store.EF.MySql) | [![Nuget Package](https://img.shields.io/badge/nuget-6.5.0-blue.svg)](https://www.nuget.org/packages/OpenCqrs.Store.EF.MySql) |
| [OpenCqrs.Store.EF.PostgreSql](https://www.nuget.org/packages/OpenCqrs.Store.EF.PostgreSql) | [![Nuget Package](https://img.shields.io/badge/nuget-6.5.0-blue.svg)](https://www.nuget.org/packages/OpenCqrs.Store.EF.PostgreSql) |
| [OpenCqrs.Store.EF.Sqlite](https://www.nuget.org/packages/OpenCqrs.Store.EF.Sqlite) | [![Nuget Package](https://img.shields.io/badge/nuget-6.5.0-blue.svg)](https://www.nuget.org/packages/OpenCqrs.Store.EF.Sqlite) |
| [OpenCqrs.Store.EF.SqlServer](https://www.nuget.org/packages/OpenCqrs.Store.EF.SqlServer) | [![Nuget Package](https://img.shields.io/badge/nuget-6.5.0-blue.svg)](https://www.nuget.org/packages/OpenCqrs.Store.EF.SqlServer) |
| [OpenCqrs.Store.EF.InMemory](https://www.nuget.org/packages/OpenCqrs.Store.EF.InMemory) | [![Nuget Package](https://img.shields.io/badge/nuget-6.5.0-blue.svg)](https://www.nuget.org/packages/OpenCqrs.Store.EF.InMemory) |
| [OpenCqrs.Store.EF.Cosmos](https://www.nuget.org/packages/OpenCqrs.Store.EF.Cosmos) | [![Nuget Package](https://img.shields.io/badge/nuget-6.5.0-blue.svg)](https://www.nuget.org/packages/OpenCqrs.Store.EF.Cosmos) |### Bus Providers
| Package | Latest Stable |
| --- | --- |
| [OpenCqrs.Bus.ServiceBus](https://www.nuget.org/packages/OpenCqrs.Bus.ServiceBus) | [![Nuget Package](https://img.shields.io/badge/nuget-6.5.0-blue.svg)](https://www.nuget.org/packages/OpenCqrs.Bus.ServiceBus) |
| [OpenCqrs.Bus.RabbitMQ](https://www.nuget.org/packages/OpenCqrs.Bus.RabbitMQ) | [![Nuget Package](https://img.shields.io/badge/nuget-6.5.0-blue.svg)](https://www.nuget.org/packages/OpenCqrs.Bus.RabbitMQ) |### Validation Providers
| Package | Latest Stable |
| --- | --- |
| [OpenCqrs.Validation.FluentValidation](https://www.nuget.org/packages/OpenCqrs.Validation.FluentValidation) | [![Nuget Package](https://img.shields.io/badge/nuget-6.5.0-blue.svg)](https://www.nuget.org/packages/OpenCqrs.Validation.FluentValidation) |### Caching Providers
| Package | Latest Stable |
| --- | --- |
| [OpenCqrs.Caching.Memory](https://www.nuget.org/packages/OpenCqrs.Caching.Memory) | [![Nuget Package](https://img.shields.io/badge/nuget-6.5.0-blue.svg)](https://www.nuget.org/packages/OpenCqrs.Caching.Memory) |
| [OpenCqrs.Caching.Redis](https://www.nuget.org/packages/OpenCqrs.Caching.Redis) | [![Nuget Package](https://img.shields.io/badge/nuget-6.5.0-blue.svg)](https://www.nuget.org/packages/OpenCqrs.Caching.Redis) |### Misc
| Package | Latest Stable |
| --- | --- |
| [OpenCqrs.UI](https://www.nuget.org/packages/OpenCqrs.UI) | [![Nuget Package](https://img.shields.io/badge/nuget-6.5.0-blue.svg)](https://www.nuget.org/packages/OpenCqrs.UI) |