Skip to content

About

基于 Spring Cloud + MySQL + Redis 的电商微服务练习项目,含用户/商品/购物车/订单服务与 Vue3 管理后台

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

mini-mall-cloud

CI License Java Spring Cloud Vue

一个用来练手的电商微服务项目:后端用 Spring Boot / Spring Cloud 拆成用户、商品、 购物车、订单四个服务,配 MySQL + Redis,前端是一个 Vue3 管理后台。

目标是把「微服务怎么拆、网关怎么鉴权、服务间怎么调、缓存放哪里」这些初中级常见问题, 用一套能跑起来的小项目串起来。

技术栈

层 选型
框架 Spring Boot 3.2、Spring Cloud 2023、Spring Cloud Alibaba 2023
网关 Spring Cloud Gateway
服务调用 OpenFeign + LoadBalancer
注册中心 Nacos(可选,默认单机直连)
持久化 MyBatis-Plus + MySQL 8
缓存 Redis(商品详情缓存、购物车)
鉴权 JWT(jjwt)
前端 Vue 3 + Vite + Element Plus + Pinia

模块

mini-mall-cloud
├── mall-common      公共模块:统一响应 / 异常 / JWT / 当前用户上下文
├── mall-gateway     网关:统一入口、JWT 鉴权、路由(:8080)
├── mall-user        用户服务:注册、登录、个人信息(:8081)
├── mall-product     商品服务:分类、商品、库存、详情缓存(:8082)
├── mall-cart        购物车服务:Redis Hash 存储(:8083)
├── mall-order       订单服务:下单、支付、取消(:8084)
└── mall-admin-web   Vue3 管理后台

架构图和各模块职责见 docs/architecture.md。

快速开始

# 1. 起 MySQL + Redis(会自动建表 + 灌示例数据)
cd deploy && docker compose up -d && cd ..

# 2. 起后端(也可以用 scripts/run-local.sh 一键起)
mvn -pl mall-user    -am spring-boot:run
mvn -pl mall-product -am spring-boot:run
mvn -pl mall-cart    -am spring-boot:run
mvn -pl mall-order   -am spring-boot:run
mvn -pl mall-gateway -am spring-boot:run

# 3. 起管理后台
cd mall-admin-web && npm install && npm run dev

完整步骤、环境变量、Nacos 接入方式见 docs/usage.md, 接口清单见 docs/api-reference.md。

主流程

注册 → 登录拿 token → 浏览商品 → 加购物车 → 下单 → 支付。 可以直接用 examples/api.http 一条条点着跑。

测试

mvn -B verify                 # 后端:各模块单元测试(H2 + Mock)
cd mall-admin-web && npm run test:unit   # 前端:Vitest

CI 会在每次 push 跑后端 + 前端两条流水线。

文档

License

Apache-2.0

About

基于 Spring Cloud + MySQL + Redis 的电商微服务练习项目,含用户/商品/购物车/订单服务与 Vue3 管理后台

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages