feat: Order & Checkout System - cart, checkout, order history, tracking

- Backend: Add GET /api/orders/:id, PUT /api/orders/:id/cancel, GET /api/orders/:id/tracking with mock Yamato data
- Frontend: Zustand cart store with localStorage persistence (key 'cart')
- Frontend: CartPage (/cart) with quantity controls, item removal, JPY totals
- Frontend: CheckoutPage (/checkout) with shipping address form, auth guard, POST to /api/orders
- Frontend: OrderHistoryPage (/account/orders) with Japanese status labels, auth guard
- Frontend: OrderDetailPage (/account/orders/:id) with cancel button, tracking section, auth guard
- Updated App.tsx with all four new routes
- Updated ProductDetail.tsx to use cart store with View Cart link after adding
- Updated Navbar.tsx with cart icon badge (item count) and 注文履歴 order history link
This commit is contained in:
2026-02-21 22:06:25 +00:00
parent cc695c6f28
commit 325d2944fe
10 changed files with 1045 additions and 43 deletions

7
.saac/config.json Normal file
View File

@@ -0,0 +1,7 @@
{
"applicationUuid": "7a82508b-9f93-46dc-acb4-f925182d7e30",
"applicationName": "shokuninmarche",
"subdomain": "shokuninmarche",
"domainSuffix": "startanaicompany.com",
"gitRepository": "https://git.startanaicompany.com/tester/shokuninmarche.git"
}