WP-FE-DELIVERY-TRACK-01 + WP-DELIVERY-MEDIA-01
Domain: D-DELIVERY · Surfaces: CON · DRV · API · Ngày: 2026-08-18
Map theo dõi giao hàng · timeline trạng thái · ảnh hàng/lấy/giao.
1. Phạm vi
| Yêu cầu user |
Giải pháp |
| Map giao hàng |
DeliveryDetailScreen + RideLiveMap · tuyến theo trạng thái |
| Tình trạng đơn hàng |
GET /delivery/orders/:id/tracking · timeline 4 bước |
| Hình ảnh đơn hàng |
parcelImageUrl · pickedImageUrl · deliveredImageUrl |
2. Backend (WP-DELIVERY-MEDIA-01)
| Thay đổi |
Chi tiết |
| Prisma |
3 cột VARCHAR(512) trên delivery_orders |
| Migration |
20260818140000_delivery_media |
POST /delivery/orders |
body thêm parcelImageUrl? |
POST /delivery/driver/:id/picked |
body { imageUrl? } → pickedImageUrl |
POST /delivery/driver/:id/delivered |
body { imageUrl? } → deliveredImageUrl |
GET /delivery/orders/:id/tracking |
steps + message + ETA + driver GPS |
Logic timeline: api/src/modules/delivery/delivery-tracking.ts (5 unit tests).
3. Consumer (WP-FE-DELIVERY-TRACK-01)
| Màn / file |
Nội dung |
DeliveryDetailScreen |
Map ~38% màn hình · pin lấy/giao/tài xế · polyline theo phase · poll 4s |
|
Timeline tiến độ · gallery ảnh · gọi tài xế |
DeliveryHomeScreen |
Chụp/chọn ảnh hàng trước khi đặt (MediaApi.uploadSingle) |
DeliveryOrdersScreen |
Thumbnail ảnh hàng · pill trạng thái |
deliveryLabels.ts |
Nhãn VI + headline theo phase |
DeliveryApi.tracking |
Client tracking endpoint |
Map polyline:
- Chưa có tài xế: pickup → dropoff (preview tuyến)
- Có tài xế, chưa lấy: tài xế → pickup
PICKED: tài xế → dropoff
4. Driver
| Thay đổi |
Chi tiết |
DeliveryDriverApi.picked/delivered |
Gửi { imageUrl } tuỳ chọn |
HomeScreen |
Alert «Chụp ảnh / Bỏ qua» khi lấy/giao |
5. Verify
| Check |
Kết quả |
nest build (api) |
PASS |
jest delivery-tracking.spec.ts |
5/5 PASS |
deliveryOrder.test.ts (mobile) |
12/12 PASS |
Deploy DB: chạy migration trên VPS/local trước khi smoke prod:
cd api && npx prisma migrate deploy
6. Gap còn lại
| Gap |
WP đề xuất |
| GPS WS realtime (poll 4s) |
WP-DELIVERY-GPS-LIVE-01 |
| Màn in-trip DRV riêng (map full) |
WP-DRV-DELIVERY-TRIP-01 |
| Thanh toán phí giao |
OWNER Pay |
Domain: D-DELIVERY
WP: WP-FE-DELIVERY-TRACK-01 + WP-DELIVERY-MEDIA-01
Surfaces: CON · DRV · API
Status: IMP
Local: PASS
Next: WP-DELIVERY-GPS-LIVE-01