Skip to content

商城项目需求与架构

整本教程贯穿一个主线项目:"小而全"的商城系统。它覆盖了企业项目最典型的业务:用户、商品、购物车、订单。麻雀虽小,五脏俱全。

1. 需求背景

我们要做一个在线商城,模拟真实电商的核心闭环:

注册登录 → 浏览商品 → 加购 → 下单 → 支付(模拟)→ 查看订单

2. 功能模块

前台(用户端)

  • 用户模块:注册、登录(JWT)、个人信息
  • 商品模块:商品列表(分页/关键词搜索/分类筛选)、商品详情
  • 购物车模块:加入购物车、修改数量、删除、清空
  • 订单模块:提交订单、订单列表、订单详情、取消订单

后台(管理端,可选进阶)

  • 商品管理:上架 / 下架 / 库存维护
  • 订单管理:发货 / 订单状态流转
  • 分类管理

新手先把前台五件事完整跑通,后台管理作为进阶练习。

3. 角色与权限

角色能力
游客浏览商品、查看详情
注册用户+ 加购、下单、查看自己的订单
管理员+ 管理商品与订单

4. 核心数据实体

用户 User ──┬──< 购物车 CartItem(属于用户,指向商品)
            └──< 订单 Order ──< 订单明细 OrderItem ──> 商品 Product
商品 Product ──> 分类 Category
  • User 用户
  • Category 商品分类
  • Product 商品(含库存 stock、价格 price、主图 image)
  • CartItem 购物车条目
  • Order 订单主表(订单号、总金额、状态、收货信息)
  • OrderItem 订单明细(快照商品信息,防止商品改名/下架影响历史订单)

5. 技术架构

mermaid
flowchart TB
    subgraph Front[前端 - 双实现]
        V[Vue 3 端<br/>Element Plus]
        R[React 端<br/>Ant Design]
    end
    subgraph Back[后端]
        API[Spring Boot 3 REST API]
        AUTH[JWT 认证]
        M[MyBatis-Plus]
    end
    subgraph Data[数据层]
        DB[(MySQL 8)]
    end
    subgraph Ops[部署层]
        D[Docker]
        N[Nginx]
    end
    V --> API
    R --> API
    API --> M --> DB
    N --> V
    N --> R

6. API 设计概览(RESTful)

方法路径说明鉴权
POST/api/auth/register注册公开
POST/api/auth/login登录,返回 token公开
GET/api/product/list商品分页查询公开
GET/api/product/商品详情公开
GET/api/cart我的购物车登录
POST/api/cart加入购物车登录
POST/api/order提交订单登录
GET/api/order/list我的订单登录

这是需求文档的"骨架"

真实企业里,需求会先写成 PRD(产品需求文档),再拆出接口文档。本教程把每一步都展开讲,跟着做即可。

基于 MIT 协议发布,可自由学习与修改