Yuruicamp

Backend 實作代辦清單(線 A~J)

欄位 內容
狀態 Active
日期 2026-07-20
對齊 java-backend-architecture-proposal.md §8
API 契約索引 docs/api/README.md(P0+P1 已寫死,欄位策略甲)
商品契約 docs/api/product-api-contract.md

勾選規則:驗收通過再打勾。Schema 變更另見 backend-schema-change-checklist.md


總覽

階段 名稱 狀態
Schema DB 欄位/ENUM/保留逾時
契約 P0+P1 API Contracts(甲) ✅ 見 docs/api/README.md
A 骨架(Security/Session/Envelope/OpenAPI)
B Catalog 公開讀(商品) 🔄 B-4 已驗收;B-5b、B-7 已實作,待完整驗收
C Checkout + 庫存保留 + 15 分排程 ✅ C-1~C-8 已驗收;C-4 優惠券套用另待 F-2
D Payment(ECPay + COD) ⬜(契約已鎖)
E Booking(營位 + 租借) ✅ E-0~E-7 已完成;Payment Confirmation 延後至線 D
F Coupon 三種規則 ⬜(契約已鎖)
G Admin 細 RBAC + 後台 CRUD ⬜(契約已鎖)
H calendar/文章/評價 ⬜(可延後;契約未寫)
I 共用 REST 基礎 + 商城 Checkout 前端接線 🔄 I-2a~I-6 已完成;I-1、I-7~I-8 待完成
J GCP/Flyway/ADR 收尾

Schema(備查)


線 A — 骨架


線 B — Catalog 公開讀

定案(2026-07-20)

# 決策
1 階段劃分 A~J OK
2 先做可通流程當範例 + 教學註解
3 欄位採 :對齊 DB/View 的精簡契約(見 Product API Contract)
4 本輪做 B-1 + B-2 + 教學註解
編號 項目 狀態
B-1 GET /api/products 列表(active)
B-2 GET /api/products/{id} 詳情
B-3 分頁 pagesizesort ✅ PostgreSQL/Controller 整合驗收通過(Product API Contract v0.2)
B-4 篩選 category/brand/價格 ✅ PostgreSQL 實際端點驗收通過;無篩選、品牌、價格與錯誤區間皆符合契約
B-5a 基本商品規格 variants[] ✅ 已隨 B-1/B-2 落地;只回 active variant,包含 SKU/顏色/尺寸/規格/價格
B-5b 規格層級可售庫存(View/Read Model) 🔄 Product API Contract v0.3 與程式已完成;待 PostgreSQL 驗收
B-6 Security:GET /api/products/** 公開
B-7 (作業)GET /api/branches 同套路 🔄 已實作公開 Envelope、固定排序與 Swagger;待實際端點驗收

驗收

B-3 驗收細節與執行指令見 b3-product-pagination-validation.md。 B-4/B-5b/B-7 流程見 b4-b5b-b7-catalog-public-read.md,Swagger 見 b-catalog-public-swagger.md


線 C — Checkout + 庫存保留(P0)

C-1/C-2/C-3/C-5/C-7 已於 2026-07-20 通過 PostgreSQL 驗收;C-4/C-6/C-8 已於 2026-07-21 通過。C-1 見 c1-entity-schema-validation.md;C-2~C-8 的唯一整合流程與驗收文件見 checkout/README.md


線 D — Payment(P0)


線 E — Booking(P1)

線 E 完成的是 Booking Prepare/Reservation。ECPay 表單、Notify 驗簽、paidconfirmed、租借 fulfilled 與付款後導頁仍由線 D 負責。


線 F — Coupon(P1)

線 F 的領券與商城套券已完成;F-2 要完整勾選前,需先決定 Booking Coupon 關聯 Schema。付款成功或 COD 成立後將 claim 改為 consumed,由線 D 在同一付款交易呼叫。流程見 coupon/README.md,Swagger 見 f-coupon-swagger.md


線 G — Admin(P1)

G-1/G-5 已通過 PostgreSQL 整合測試(2 項、0 失敗、0 錯誤、0 跳過)並完成權限頁雙模式接線;全站 AdminAPI 正式切換仍由 G-6 負責。流程見 admin/g1-g5-admin-rbac.md,Swagger 見 g1-g5-admin-rbac-swagger.md

G-2a 已完成後台 Customers API、RBAC、兩階段列表查詢、前端 Mock/Backend 分流與 PostgreSQL 整合驗收。流程見 customer/g2a-admin-customers.md,Swagger 見 g2a-admin-customers-swagger.md

G-2b 已完成 Admin Orders/Bookings 查詢、履約狀態命令、RBAC、前端雙模式、AdminFulfillmentPostgreSqlIntegrationTest 與 Swagger 驗收。流程見 order/g2b-admin-orders.mdbooking/g2b-admin-bookings.md,人工流程見 g2b-admin-orders-bookings-swagger.md


線 H — 可延後(P2)


線 I — 共用 REST 基礎 + 商城 Checkout 前端接線

責任邊界:I-1 是全域模式基線;I-2a~I-2b 是全前端共用 API 基礎;I-3a~I-8 只負責商城 Checkout。E-7 負責 Booking 前端接線,必須重用 I-2a/I-2b,不可另建 Token、REST、Envelope 或錯誤處理流程。


線 J — GCP/工程收尾(P3)