概述
本系列文章是为了记录搭建一个电商网站所学到的知识点。采用的技术栈为:
- Node.js (Koa)
- MySQL
本项目是为了练手,所以并不会包含电商平台的所有功能。本项目包含的功能如下:
- 商品管理功能:商品属性管理、商品价格管理、商品库存管理
- 顾客管理功能:新增顾客、修改顾客信息、查看顾客信息
- 订单管理功能:新增销售单、新增退货/退款单、订单详情
功能详情
商品管理功能
# | Requirement | Description |
---|---|---|
1 | 商品类别管理 | 1. 可以新增商品类别,商品类别必须具备名称和简单的描述 2. 商品类别的名称和描述均支持修改 |
2 | 商品属性管理 | 1. 商品的属性应该可以增加,属性必须具备属性名称和属性值 2. 商品属性的名称和值都应支持修改 |
3 | 商品价格管理 | 1. 商品价格共有两种,1) 零售价格;2) 成本价格。 2. 为满足各种促销活动,商品的零售价格需要能够随着时间而变化。比如双11活动期间是活动价格,双11活动结束后自动恢复正常价格。 |
4 | 商品库存管理 | 1. 商品的库存共有两种,1) 实际库存;2) 可用库存。 2. 实际库存是指商品在仓库中的实际数量;可用库存是指可以被出售的数量。 |
7 | 商品管理 | 1. 商家应可以新增、修改、删除商品 |
顾客管理功能
与淘宝等电商平台不同,顾客不必注册账号就可在这个平台下单。
# | Requirement | Description |
---|---|---|
1 | 注册 | 顾客可以在平台注册账号,注册时必须填写手机号码、用户名(登录用)、密码,可选填写暱称、性别、生日 |
2 | 登录 | 1. 顾客可通过用户名、密码登录 2. 顾客可通过手机号登录 |
3 | 地址管理 | 1. 只有注册过的顾客可以使用这个功能 2. 顾客可以保存多个收货地址 3. 顾客下单时,可以在已保存的收货地址中选择一个地址,也可以手动输入一个新的收货地址并保存 |
订单管理功能
# | Requirement | Description |
---|---|---|
1 | 下单 | 顾客可以下单购买商品 |
2 | 退货 | 顾客对商品不满意,可以发起退货,商家收到货物后,将退款给顾客 |
3 | 退款 | 顾客对商品不满意,且商家尚未发货时,顾客可发起退款 |
4 | 订单查询 | 1. 顾客可查看自己的订单 2. 顾客可根据订单状态筛选订单,可选的状态有:待付款、已付款、已发货、已取消 |
订单状态流转
- 正常情况下,销售订单的状态变化为:
已下单,未付款 ⇒ 已付款,未发货 ⇒ 已发货,未确认收货 ⇒ 已确认收货,订单完成 - 当顾客在付款前取消订单,销售单状态应变更为已取消
- 当顾客发起退货/退款时,销售单状态应该变更为已关闭,并且生成一张新的退货单或者退款单
- 正常情况下,退货单的状态变化为:
发起退货申请 ⇒ 客服已确认,同意退货 ⇒ 退货的商品已收到,未发起退款 ⇒ 已发起退款,客户未确认退还款项到账 ⇒ 客户确认收到退款,退货单完成 - 正常情况下,退款单的状态变化为:
发起退款申请 ⇒ 客服已确认,同意退款 ⇒ 已发起退款,客户未确认退还款项到账 ⇒ 客户确认收到退款,退款单完成