likes
comments
collection
share

发现一个商城开源项目,谷粒商城外又多了个选择

作者站长头像
站长
· 阅读数 14

官网地址:magestack.cn

刚果商城是个从零到一的 C 端商城项目,包含商城核心业务和基础架构两大模块。

参照商城系统原型,推出用户、消息、商品、订单、优惠券、支付、网关、购物车等业务模块,通过商城系统中复杂场景,给出对应解决方案。使用 DDD 模型开发系统功能,帮助对 DDD 一知半解的开发者树立正确地开发思路。

发现一个商城开源项目,谷粒商城外又多了个选择

🔨 如何开始

刚果商城核心有两块,分别是商城业务和基础架构,通过认真学习分别可以收获以下两种能力提升。

  • 商城业务:通过学习刚果商城中复杂业务处理场景,增加自己的复杂业务处理能力。
  • 基础架构:尝试跟着基础架构部分自己把轮子都造一遍,以此提高自己方案设计和公共代码开发能力。

1)商城核心业务

目前前端页面正在开发中,暂时没有开源出来,所以大家需要通过接口请求访问。接口如何访问详细看下文。

  1. 初始化数据库,比如商品库、订单库、用户库、支付库、购物车库等;
  2. 通过 Docker 安装项目中依赖的中间件,比如 Nacos2、MySQL、Seata、RocketMQ 等;
  3. 学习接口调用流程,项目接口目前全量放入 Apifox 软件中,可通过在线访问;
  4. 查看不同微服务之间的依赖关系,并根据文档中的描述进行修改指定参数;
  5. 找到自己感兴趣的模块功能 Debug 源代码,参考代码设计。
发现一个商城开源项目,谷粒商城外又多了个选择

2)基础架构

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

发现一个商城开源项目,谷粒商城外又多了个选择

📝 文档

注:文章里 TODO 的是还没写(耐心等待更新吧)

入门准备

快速开始

系统设计

场景实战

设计模式实战

开发规约

👍 模块分类

刚果商城项目是马哥从零到一写出来的,当前已开发模块如下所述,没有完成的请耐心等待。

模块名称服务名称访问地址
1congomall-message消息发送 eg:邮件、公众号、短信等http://localhost:8001
2congomall-customer-user用户服务http://localhost:8002
3congomall-gateway外部网关http://localhost:8003
4congomall-product商品服务http://localhost:8004
5congomall-product-job商品 Job 服务http://localhost:9001
6congomall-cart购物车服务http://localhost:8005
7congomall-order订单服务http://localhost:8006
8congomall-pay支付服务http://localhost:8007
9congomall-basic-data基础数据服务http://localhost:8008

🚅 接口请求

目前刚果商城已开发的接口已汇总至下述接口文档中,本地启动对应项目,通过接口文档访问查看效果。

www.apifox.cn/web/project…

如果需要通过 Apifox 直接调用,需要安装对应浏览器内网插件,这里把插件安装包装上,跟着教程安装即可使用。

安装文档:www.apifox.cn/help/app/we…

发现一个商城开源项目,谷粒商城外又多了个选择

🛡 模块介绍

刚果商城后端系统模块介绍如下所示。

发现一个商城开源项目,谷粒商城外又多了个选择

📈 技术选型

当前暂时先梳理后端技术,前端开发后再行梳理。

技术名称官网
1Spring Boot基础框架spring.io/projects/sp…
2MyBatis-Plus持久层框架baomidou.com
3HikariCP数据库连接池github.com/brettwooldr…
4Redis分布式缓存数据库redis.io
5RocketMQ消息队列rocketmq.apache.org
6ShardingSphere数据库生态系统shardingsphere.apache.org
7SpringCloud Alibaba分布式框架github.com/alibaba/spr…
8SpringCloud Gateway网关框架spring.io/projects/sp…
9Seata分布式事务框架seata.io/zh-cn/index…
10CanalMySQL 订阅 BinLog 组件github.com/alibaba/can…
11MinIO文件存储框架min.io
12Swagger3项目 API 文档框架swagger.io
13Knife4jSwagger 增强框架doc.xiaominfo.com
14Maven项目构建管理maven.apache.org
15RedissonRedis Java 客户端redisson.org
16Sentinel流控防护框架github.com/alibaba/Sen…
17Hippo4j动态线程池框架hippo4j.cn
18XXL-Job分布式定时任务框架www.xuxueli.com/xxl-job
19SkyWalking分布式链路追踪框架skywalking.apache.org

🔍 项目功能

这是刚写这个项目的时候出的一版功能图,当前已不再维护,可以作为一个基础入门的参考。

发现一个商城开源项目,谷粒商城外又多了个选择