强烈推荐 20.7k Star!企业级商城开源项目强烈推荐!基于DDD领域驱动设计模型,助您快速掌握技术奥秘,实现业务快速增长

更多资源请关注纽扣编程微信公众号

1 项目简介

商城是个从零到一的C端商城项目,包含商城核心业务和基础架构两大模块,推出用户、消息、商品、订单、优惠券、支付、网关、购物车等业务模块,通过商城系统中复杂场景,给出对应解决方案。使用 DDD 模型开发系统功能,帮助对 DDD 一知半解的开发者树立正确地开发思路

2 部署架构图

3 技术学习

  • 基于 DDD 领域驱动模型设计实现的商品、购物车、订单、用户、消息以及支付服务。

  • 掌握分布式锁、分布式事务、分布式搜索、分布式缓存、分布式限流以及分库分表等核心技术。

  • 完成基础组件抽象,规约、缓存、幂等、分布式 ID、数据持久层、脱敏以及日志等底层组件库。

  • 基于 Agent 开发字节码流量监控,监控项目接口 QPS、响应时间和异常请求等核心指标。

  • 掌握常用设计模式实战场景,策略、责任链、装饰器、观察者以及适配器等设计模式

4 核心模块

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

  • 商城业务

    通过学习刚果商城中复杂业务处理场景,增加自己的复杂业务处理能力。

  • 基础架构

    尝试跟着基础架构部分自己把轮子都造一遍,以此提高自己方案设计和公共代码开发能力

商城核心业务

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

1)初始化数据库,比如商品库、订单库、用户库、支付库、购物车库等;

2)通过 Docker 安装项目中依赖的中间件,比如 Nacos2、MySQL、Seata、RocketMQ 等;

3)学习接口调用流程,项目接口目前全量放入 Apifox 软件中,可通过在线访问;

4)查看不同微服务之间的依赖关系,并根据文档中的描述进行修改指定参数;

5)找到自己感兴趣的模块功能 Debug 源代码,参考代码设计。

基础架构模块

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

5 接口文档

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

https://www.apifox.cn/web/project/1038592/apis/api-50106328-run

6 模块介绍

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

复制代码
├── congomall-basic-data  || -- # 基础数据服务
│   ├── congomall-basic-data-application
│   ├── congomall-basic-data-domain
│   ├── congomall-basic-data-infrastructure
│   ├── congomall-basic-data-interface
├── congomall-bff  || -- # 商城 BFF 聚合层
│   ├── congomall-bff-biz
│   ├── congomall-bff-remote
│   ├── congomall-bff-web
├── congomall-cart  || -- # 购物车服务
│   ├── congomall-cart-application
│   ├── congomall-cart-domain
│   ├── congomall-cart-infrastructure
│   ├── congomall-cart-interface
├── congomall-coupon  || -- # 优惠券服务
├── congomall-customer-user  || -- # C端用户服务
│   ├── congomall-customer-user-application
│   ├── congomall-customer-user-domain
│   ├── congomall-customer-user-infrastructure
│   ├── congomall-customer-user-interface
│   ├── congomall-customer-user-mock
├── congomall-framework-all  || -- # 基础组件
│   ├── congomall-base-spring-boot-starter  || -- # 顶层抽象基础组件
│   ├── congomall-cache-spring-boot-starter  || -- # 缓存组件
│   ├── congomall-common-spring-boot-starter  || -- # 公共工具包组件
│   ├── congomall-convention-spring-boot-starter  || -- # 项目规约组件
│   ├── congomall-database-spring-boot-starter  || -- # 数据库持久层组件
│   ├── congomall-ddd-framework-core  || -- # DDD抽象接口组件
│   ├── congomall-designpattern-spring-boot-starter  || -- # 设计模式抽象组件
│   ├── congomall-distributedid-spring-boot-starter  || -- # 分布式ID组件
│   ├── congomall-flow-monitor-agent  || -- # 微服务流量监控组件
│   ├── congomall-httputil-spring-boot-starter  || -- # Http网络调用组件
│   ├── congomall-idempotent-spring-boot-starter  || -- # 分布式幂等组件
│   ├── congomall-log-spring-boot-starter  || -- # 日志打印组件
│   ├── congomall-minio-spring-boot-starter  || -- # 文件存储组件
│   ├── congomall-openfeign-spring-boot-starter  || -- # 微服务调用组件
│   ├── congomall-rocketmq-spring-boot-starter  || -- # 分布式消息队列组件
│   ├── congomall-sensitive-spring-boot-starter  || -- # 前端返回数据脱敏组件
│   ├── congomall-swagger-spring-boot-starter  || -- # 文档API组件
│   ├── congomall-web-spring-boot-starter  || -- # Web组件
│   ├── congomall-xxljob-spring-boot-starter  || -- # 定时任务组件
├── congomall-gateway  || -- # 网关服务
├── congomall-message  || -- # 消息服务
│   ├── congomall-message-application
│   ├── congomall-message-domain
│   ├── congomall-message-infrastructure
│   ├── congomall-message-interface
├── congomall-order  || -- # 订单服务
│   ├── congomall-order-application
│   ├── congomall-order-domain
│   ├── congomall-order-infrastructure
│   ├── congomall-order-interface
├── congomall-pay  || -- # 支付服务
│   ├── congomall-pay-application
│   ├── congomall-pay-domain
│   ├── congomall-pay-infrastructure
│   ├── congomall-pay-interface
├── congomall-product  || -- # 商品服务
│   ├── congomall-product-application
│   ├── congomall-product-domain
│   ├── congomall-product-infrastructure
│   ├── congomall-product-interface
│   ├── congomall-product-job
├── congomall-test-all  || -- # 测试用例
│   ├── congomall-flow-monitor-agent-test
│   ├── congomall-h2-test
│   ├── congomall-oom-test
│   ├── congomall-smooth-sharding-test
│   ├── congomall-yaml-test
├── dev-support  || -- # 开发工具包

7 技术栈

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

8 系统截屏

系统首页

商品列表

相片详情

品牌精选

9 源码地址

https://gitee.com/nageoffer/congomall

相关推荐
说私域17 分钟前
定制开发开源AI智能名片S2B2C商城小程序:数字营销时代的话语权重构
人工智能·小程序·开源·零售
说私域2 小时前
基于开源AI大模型AI智能名片S2B2C商城小程序源码的私域流量运营与内容定位策略研究
人工智能·小程序·开源·产品运营·流量运营·零售
说私域5 小时前
基于开源AI大模型AI智能名片S2B2C商城小程序源码的销售环节数字化实现路径研究
人工智能·小程序·开源·零售
MILI元宇宙6 小时前
DeepSeek R1开源模型的技术突破与AI产业格局的重构
人工智能·重构·开源
FIT2CLOUD飞致云1 天前
飞致云开源社区月度动态报告(2025年5月)
开源
说私域1 天前
基于定制开发开源AI智能名片S2B2C商城小程序的大零售渗透策略研究
人工智能·小程序·开源·零售
xdpcxq10291 天前
.NET 开源工业视觉系统 OpenIVS 快速搭建自动化检测平台
开源·自动化·.net
别惹CC2 天前
AI赋能开源:如何借助MCP快速解锁开源项目并提交你的首个PR
人工智能·开源
缘友一世2 天前
LangFuse:开源LLM工程平台的革新实践
学习·开源·agent