All Projects → Shriek-Projects → Shriek Fx

Shriek-Projects / Shriek Fx

Licence: mit
An easy-to-use rapid development framework developed on the basis of.NET Core 2.0, following the constraints of domain Driven Design (DDD) specifications, combined with the CQRS architecture to provide the infrastructure for event-driven, event backtracking, responsiveness, and more. Let developers enjoy the true meaning of object-oriented design patterns brought by the aesthetic.

Projects that are alternatives of or similar to Shriek Fx

Kledex
.NET Standard framework to create simple and clean design. Advanced features for DDD, CQRS and Event Sourcing.
Stars: ✭ 502 (-22.05%)
Mutual labels:  dotnet-core, ddd, cqrs
Hexagonal Architecture Acerola
An Hexagonal Architecture service template with DDD, CQRS, TDD and SOLID using .NET Core 2.0. All small features are testable and could be mocked. Adapters could be mocked or exchanged.
Stars: ✭ 293 (-54.5%)
Mutual labels:  dotnet-core, ddd, cqrs
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 (-79.66%)
Mutual labels:  dotnet-core, ddd, cqrs
Akkatecture
a cqrs and event sourcing framework for dotnet core using akka.net
Stars: ✭ 414 (-35.71%)
Mutual labels:  dotnet-core, ddd, cqrs
Bankflix
Aplicação que simula um banco digital, contendo a área do cliente e administrativa, permitindo depósitos e transferências entre contas do mesmo banco. | Application that simulates a digital bank, containing the customer and administrative areas, allowing deposits and transfers between accounts of the same bank.
Stars: ✭ 82 (-87.27%)
Mutual labels:  dotnet-core, ddd, cqrs
Dotnetcore Microservices Poc
Very simplified insurance sales system made in a microservices architecture using .NET Core
Stars: ✭ 1,304 (+102.48%)
Mutual labels:  dotnet-core, ddd, cqrs
Event Sourcing Jambo
An Hexagonal Architecture with DDD + Aggregates + Event Sourcing using .NET Core, Kafka e MongoDB (Blog Engine)
Stars: ✭ 159 (-75.31%)
Mutual labels:  dotnet-core, ddd, cqrs
Blog Core
Modular blog using Blazor with clean domain-driven design patterns
Stars: ✭ 345 (-46.43%)
Mutual labels:  dotnet-core, ddd
Ddd Leaven Akka V2
Sample e-commerce system #Microservices #Akka #Reactive-DDD #CQRS
Stars: ✭ 362 (-43.79%)
Mutual labels:  ddd, cqrs
Viper
Viper 是一个基于Anno微服务引擎开发的Dashboard项目、示例项目。Anno 底层通讯采用 grpc、thrift。自带服务发现、调用链追踪、Cron 调度、限流、事件总线等等
Stars: ✭ 402 (-37.58%)
Mutual labels:  ddd, cqrs
Resolve
Full stack CQRS, DDD, Event Sourcing framework for Node.js
Stars: ✭ 460 (-28.57%)
Mutual labels:  ddd, cqrs
Akka Ddd
Akka CQRS/ES framework
Stars: ✭ 330 (-48.76%)
Mutual labels:  ddd, cqrs
Core
CQRS-DDD-Actor framework for Node.js
Stars: ✭ 273 (-57.61%)
Mutual labels:  ddd, cqrs
Netcoremicroservicessample
Sample using micro services in .NET Core 3.1 Focusing on clean code
Stars: ✭ 403 (-37.42%)
Mutual labels:  dotnet-core, cqrs
All Things Cqrs
Comprehensive guide to a couple of possible ways of synchronizing two states with Spring tools. Synchronization is shown by separating command and queries in a simple CQRS application.
Stars: ✭ 474 (-26.4%)
Mutual labels:  ddd, cqrs
Go Api Boilerplate
Go Server/API boilerplate using best practices DDD CQRS ES gRPC
Stars: ✭ 373 (-42.08%)
Mutual labels:  ddd, cqrs
Eventually Rs
Event Sourcing for Rust
Stars: ✭ 277 (-56.99%)
Mutual labels:  ddd, cqrs
Open Loyalty
Open Loyalty is technology for loyalty solutions for starting new loyalty projects.
Stars: ✭ 476 (-26.09%)
Mutual labels:  ddd, cqrs
Event Store
PHP 7.4 EventStore Implementation
Stars: ✭ 505 (-21.58%)
Mutual labels:  ddd, cqrs
Equinoxproject
Full ASP.NET Core 5 application with DDD, CQRS and Event Sourcing concepts
Stars: ✭ 5,120 (+695.03%)
Mutual labels:  ddd, cqrs

ShriekFx⚡️

Build status MyGet Pre Release Author GitHub license

shriek-fx 是一个基于 .NET Core 2.0 开发的简单易用的快速开发框架,遵循领域驱动设计规范约束,并结合CQRS架构提供实现事件驱动、事件回溯、响应式等特性的基础设施。内部调用对用户几乎无感知也无需自己实现,开箱即用。目标是协助小型应用使用DDD的思维去开发,最终让开发者告别对领域驱动设计的复杂认识,并且享受到正真意义的面向对象设计模式来带的美感。

除此之外,还包含为了增强核心框架功能和迎合通用业务系统快速开发需求的众多实用的、面向微服务的拓展组件。

PS. 领域驱动设计是一种软件系统设计方法理论,而本框架则提供了规范约束,是能够让这种设计理论真正落地实现的开发工具套件(SDK)。

本框架参考自《领域驱动设计》原著、《实现领域驱动设计》和ENode。

特性:

  1. 领域驱动设计(DDD)
  2. 命令查询职责分离(CQRS)
  3. 事件驱动架构 (EDA)
  4. 事件回溯 (ES)
  5. 最终一致性 (Eventually Consistent)
  6. 契约即服务 (通过定义的接口自动生成客户端和服务端实现,支持Http和Socket)
  7. 框架中每个组件都有基础实现,最简单时只需一个核心类库就能跑起来
  8. 遵循端口与适配器模式,框架组件适配多种第三方组件实现,可从单体架构到面向服务架构按需扩展

设计规范

  1. 尽量使用.NET Standard和官方提供的类库,第三方类库设计成组件利用DI来按需组合。

文档

安装Nuget包

目前开发版本已发布到MyGet,从Nuget安装时需要添加MyGet的源地址,或者在解决方案根目录添加NuGet.config文件,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
	<add key="Shriek-Fx" value="https://www.myget.org/F/shriek-fx/api/v3/index.json" />
	<add key="Nuget.org" value="https://api.nuget.org/v3/index.json" />
  </packageSources>
</configuration>

开发环境

  1. Visual Studio 15.3+
  2. .NET Core SDK 2.0+

示例项目

认证授权系统 ShriekFX.Auth 开发中

内容管理系统 ShriekFX.CMS 开发中

其他示例在Samples目录下

任务列表(会不断调整):

  • C端
    • [x] 命令总线 CommandBus
    • [x] 事件总线 EventBus
    • [x] 进程内异步队列
    • [x] 内存事件缓存
    • [x] 接口实现自动注册
    • [ ] Actor 响应式架构
    • [ ] Saga 流程管理
    • 事件存储 + 聚合快照(备忘录模式)
      • [x] 内存模式 (聚合修改后立刻持久化)
      • [x] EF Core实现
      • NoSQL实现
        • [x] LiteDB
        • [x] Cosmos DB (MongoDB API)
      • [x] InfluxDB (时序数据库)
      • [x] Redis
    • Bus / 消息队列(MQ)
      • [x] RabbitMQ
  • Q端 + Real DB ORM
    • [x] EF Core
    • Dapper
      • [x] 接口标注Sql特性动态创建仓储
      • [ ] Linq 扩展
      • [ ] 特性指定事务范围
    • [x] SmartSql扩展(实现Xml Sql模板)
    • [ ] TiDB
    • [ ] 查询基类
  • 应用服务层
    • 接口即服务
      • [x] Http / MVC
      • [x] TCP / RPC
      • [ ] Dotnetty
    • [ ] GraphQL
  • UI层
    • [ ] 权限管理
    • [ ] OAuth 2.0
    • [ ] ASP.NET Core 扩展
      • [ ] WebApi JS客户端生成
      • [ ] Swagger
    • [ ] 动态表单
    • [ ] Angular
    • [ ] Vue (Vuetify)
  • 定时任务
    • [ ] Hangfire
  • 基础设施
    • Aop 拦截器
    • 跟踪监控
    • 日志
      • [ ] NLog
      • [ ] Log4net
      • [ ] Exceptionless
      • [ ] Kafka + ELK
    • [ ] 序列化器
    • [ ] 服务定位器
    • [ ] 加密
    • [ ] 爬虫
  • 单元测试
    • [ ] CQRS
    • [ ] ServiceProxy
  • 示例 (Samples)
    • [x] 内存事件仓储
    • [x] EFCore事件仓储
    • [x] NoSQL事件仓储
    • [x] InfluxDB事件仓储
    • [x] Redis事件仓储
    • [x] RabbitMQ总线
    • [x] WebApi代理
    • [ ] CQRS 整体示例
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].