Skip to content

An online shop project based on Domain-Driven Design

License

Notifications You must be signed in to change notification settings

coder-1jie/d3shop

 
 

Repository files navigation

d3shop

这是一个基于领域驱动设计实现的在线商城项目,用以展示需求分析-建模设计-代码实现的思考过程和决策结果,从而帮助开发者更深入地理解和掌握DDD的精髓。 这里的d3即表示3个字母d,也就是Domain-Driven DesignDDD

如何参与

本项目完全通过开源协作的方式进行,所有的需求通过issues管理,提交PR来贡献代码。

关注公众号老肖想当外语大佬,获取系列文章老肖的领域驱动设计之路,菜单栏加群参与讨论。

视频与直播在B站:https://b23.tv/hUNoBjA

技术原则

  • 完善的自动化测试覆盖
  • 基于事件驱动
  • 基于CQRS模式
  • 多数据库支持
  • 多MQ支持
  • 对二次开发友好

环境准备

参考这里的文档使用docker-compose搭建开发环境。

依赖对框架与组件

数据库迁移

# 安装工具  SEE: https://learn.microsoft.com/zh-cn/ef/core/cli/dotnet#installing-the-tools
dotnet tool install --global dotnet-ef --version 8.0.0

# 强制更新数据库
dotnet ef database update -p src/NetCorePal.D3Shop.Web 

# 创建迁移 SEE:https://learn.microsoft.com/zh-cn/ef/core/managing-schemas/migrations/?tabs=dotnet-core-cli
dotnet ef migrations add InitialCreate -p src/NetCorePal.D3Shop.Web 

关于监控

这里使用了prometheus-net作为与基础设施prometheus集成的监控方案,默认通过地址 /metrics 输出监控指标。

更多信息请参见:https://github.com/prometheus-net/prometheus-net

About

An online shop project based on Domain-Driven Design

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 98.1%
  • Dockerfile 1.9%