ENGINEERING

技術亮點

一套 serverless 供應訂貨系統,已在真實的加盟供應鏈中正式上線運作。

一鍵接單:一筆交易怎麼走

從加盟店下單到總部與門市收到發票,每一步都經過驗證、分配與原子寫入。

交易流程

點選或滑過任一節點查看說明。

三個工程重點

交易一致性

接單扣庫存拆成多筆 DynamoDB transaction,中途失敗可從斷點續做,不會重複扣庫存;大筆收貨失敗自動回滾。

冪等 · 可續做 · 自動回滾

測試紀律

Playwright E2E 直接打真實測試環境,並注入 5xx、斷線、延遲等故障;後端數百個 Python 測試以 moto 隔離 AWS。

真實環境 · 故障注入

伺服器端重算

租戶只從登入 token 取得;金額由伺服器依商品目錄與稅率重新計算,前端無法竄改。

零信任前端

更多細節

面向做了什麼
前端效能
  • 約 2 MB 的商品目錄改為快取+按需讀取
  • 長列表使用虛擬列表(react-window)
  • 模組 import 循環從 743 個降到 0
資料模型
  • DynamoDB 單表設計,GSI 依到期日排序批次
  • 維護「可出庫批次」指標,分配時不必掃描全部批次
  • 批次只以生產日+到期日識別
上線與遷移
  • 已正式上線,並完成一次 production 資料模型遷移
  • 流程:dry-run → apply → verify
文件化
  • 每個 API 契約、資料表結構與技術決策都有文件

技術棧

前端

React 18Redux ToolkitMUIReact Routerreact-windowi18next

後端

AWS AmplifyCognitoAPI GatewayLambda (Python 3.12)DynamoDBS3SES

品質

Playwrightpytestmoto