概述
本系列文章是爲了記錄搭建一個電商網站所學到的知識點。採用的技術棧爲:
- 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. 顧客可根據訂單狀態篩選訂單,可選的狀態有:待付款、已付款、已發貨、已取消 |
訂單狀態流轉
- 正常情況下,銷售訂單的狀態變化爲:
已下單,未付款 ⇒ 已付款,未發貨 ⇒ 已發貨,未確認收貨 ⇒ 已確認收貨,訂單完成 - 當顧客在付款前取消訂單,銷售單狀態應變更爲已取消
- 當顧客發起退貨/退款時,銷售單狀態應該變更爲已關閉,並且生成一張新的退貨單或者退款單
- 正常情況下,退貨單的狀態變化爲:
發起退貨申請 ⇒ 客服已確認,同意退貨 ⇒ 退貨的商品已收到,未發起退款 ⇒ 已發起退款,客戶未確認退還款項到賬 ⇒ 客戶確認收到退款,退貨單完成 - 正常情況下,退款單的狀態變化爲:
發起退款申請 ⇒ 客服已確認,同意退款 ⇒ 已發起退款,客戶未確認退還款項到賬 ⇒ 客戶確認收到退款,退款單完成