官网地址:https://magestack.cn
刚果商城是个从零到一的 C 端商城项目,包含商城核心业务和基础架构两大模块。
参照商城系统原型,推出用户、消息、商品、订单、优惠券、支付、网关、购物车等业务模块,通过商城系统中复杂场景,给出对应解决方案。使用
DDD 模型开发系统功能,帮助对 DDD 一知半解的开发者树立正确地开发思路。
🔨 如何开始
刚果商城核心有两块,分别是商城业务和基础架构,通过认真学习分别可以收获以下两种能力提升。
- 商城业务:通过学习刚果商城中复杂业务处理场景,增加自己的复杂业务处理能力。
- 基础架构:尝试跟着基础架构部分自己把轮子都造一遍,以此提高自己方案设计和公共代码开发能力。
1)商城核心业务
目前前端页面正在开发中,暂时没有开源出来,所以大家需要通过接口请求访问。接口如何访问详细看下文。
- 初始化数据库,比如商品库、订单库、用户库、支付库、购物车库等;
- 通过 Docker 安装项目中依赖的中间件,比如 Nacos2、MySQL、Seata、RocketMQ 等;
- 学习接口调用流程,项目接口目前全量放入 Apifox 软件中,可通过在线访问;
- 查看不同微服务之间的依赖关系,并根据文档中的描述进行修改指定参数;
- 找到自己感兴趣的模块功能 Debug 源代码,参考代码设计。

2)基础架构
基础架构相关的代码都在 congomall-framework-all
模块中,可以通过官网查看如何实现,或者通过 视频教学 来学习如何开发基础架构代码。

📝 文档
注:文章里 TODO 的是还没写(耐心等待更新吧)
入门准备
快速开始
系统设计
- 数据库设计
- 通用系统设计
- 用户系统设计
- 商品系统设计
- 订单系统设计
- 支付系统设计
- 消息系统设计
场景实战
- 并发编程
- 分布式架构
- 应用安全
- 生产问题
- 数据库
- 分库分表
- 本地&分布式缓存
- 源码解析
设计模式实战
- 设计模式介绍
- 设计模式抽象
开发规约
👍 模块分类
刚果商城项目是马哥从零到一写出来的,当前已开发模块如下所述,没有完成的请耐心等待。
模块名称 | 服务名称 | 访问地址 | |
---|---|---|---|
1 | congomall-message | 消息发送 eg:邮件、公众号、短信等 | http://localhost:8001 |
2 | congomall-customer-user | 用户服务 | http://localhost:8002 |
3 | congomall-gateway | 外部网关 | http://localhost:8003 |
4 | congomall-product | 商品服务 | http://localhost:8004 |
5 | congomall-product-job | 商品 Job 服务 | http://localhost:9001 |
6 | congomall-cart | 购物车服务 | http://localhost:8005 |
7 | congomall-order | 订单服务 | http://localhost:8006 |
8 | congomall-pay | 支付服务 | http://localhost:8007 |
9 | congomall-basic-data | 基础数据服务 | http://localhost:8008 |
🚅 接口请求
目前刚果商城已开发的接口已汇总至下述接口文档中,本地启动对应项目,通过接口文档访问查看效果。
如果需要通过 Apifox 直接调用,需要安装对应浏览器内网插件,这里把插件安装包装上,跟着教程安装即可使用。
安装文档:https://www.apifox.cn/help/app/web/browser-extension
🛡 模块介绍
刚果商城后端系统模块介绍如下所示。

📈 技术选型
当前暂时先梳理后端技术,前端开发后再行梳理。
🔍 项目功能
这是刚写这个项目的时候出的一版功能图,当前已不再维护,可以作为一个基础入门的参考。