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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 刚果商城是个从零到一的 C 端商城项目,包含商城核心业务和基础架构两大模块。

官网地址:https://magestack.cn

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

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

🔨 如何开始

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

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

1)商城核心业务

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

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

image

2)基础架构

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

image

📝 文档

注:文章里 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

🚅 接口请求

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

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

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

安装文档:https://www.apifox.cn/help/app/web/browser-extension

🛡 模块介绍

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

image

📈 技术选型

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

技术 名称 官网
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

🔍 项目功能

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

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
6月前
|
小程序 JavaScript 前端开发
基于微信小程序的商城购物系统的设计与实现(论文+源码)_kaic
基于微信小程序的商城购物系统的设计与实现(论文+源码)_kaic
|
4月前
|
小程序
同城拼车社交微信小程序模板源码
同城拼车社交微信小程序模板源码
80 6
|
6月前
|
小程序 JavaScript Java
校园二手|基于SprinBoot+vue的微信小程序的校园二手平台(源码+数据库+文档)
校园二手|基于SprinBoot+vue的微信小程序的校园二手平台(源码+数据库+文档)
41 0
|
监控 Serverless 持续交付
小试牛刀,一键部署电商商城
SAE 仅需一键,极速部署一个微服务电商商城,体验 Serverless 带给您的全托管体验,一起来部署吧!
2499 44
|
6月前
|
安全 Java 关系型数据库
社区团购|生鲜团购|基于Springboot+Vue实现前后端分离社区团购
社区团购|生鲜团购|基于Springboot+Vue实现前后端分离社区团购
136 0
|
6月前
|
人工智能 小程序 前端开发
小程序二手商城|使用Springboot+vue+微信小程序开发校园二手商城系统
本项目基于Springboot+vue+微信小程序实现了一个校园二手物品商城交易系统。系统的后台使用springboot+mybatis开发实现,后台管理页面使用Vue+ElementUI开发实现,用户端基于微信小程序开发实现。前端用户使用微信登录小程序后,可以在线浏览二手商品,并在线购买下单和评论等,同时自己也可以发布相应的二手商品,并管理自己的订单信息和销售信息。管理员登录后台管理系统可以管理人员、商品分类、商品、订单等相关信息。具体见下面展示。
|
小程序 前端开发 Java
springboot+vue基本微信小程序的外卖点餐平台
餐饮行业是一个传统的行业。根据当前发展现状,网络信息时代的全面普及,餐饮行业也在发生着变化,单就点餐这一方面,利用手机点单正在逐步进入人们的生活。传统的点餐方式,不仅会耗费大量的人力、时间,有时候还会出错。小程序系统伴随智能手机为我们提供了新的方向。手机外卖点餐平台小程序的实现,首先服务员可以根据外卖点餐平台小程序系统确认点餐,并且根据账单来计算提成;其次餐厅管理人员可以根据订单记录,提前采购,提高顾客的满意度,而且更便于对员工的管理。这款基于小程序平台的外卖点餐平台小程序的设计与实现将会使外卖点餐平台小程序操作更加自如。本文通过对国内外现状的分析,明确了外卖点餐平台小程序在国内外的基本情况,
160 0
springboot+vue基本微信小程序的外卖点餐平台
|
前端开发 JavaScript 数据库
从零开始,搭建一个简单的购物平台(十五)前端商城部分
从零开始,搭建一个简单的购物平台(十五)前端商城部分
218 1
从零开始,搭建一个简单的购物平台(十五)前端商城部分
|
前端开发
从零开始,搭建一个简单的购物平台(十六)前端商城部分
从零开始,搭建一个简单的购物平台(十六)前端商城部分
237 1
从零开始,搭建一个简单的购物平台(十六)前端商城部分
|
JavaScript 前端开发 NoSQL
谷粒商城:项目简介(1)
谷粒商城:项目简介(1)
谷粒商城:项目简介(1)