05 — Phase backlog & Work Packages
Thứ tự thực hiện dự án. AI chọn WP trong phase hiện tại — không nhảy cóc trừ khi user chỉ định.
Phase overview
mermaid gantt title WELIFE delivery phases dateFormat YYYY-MM-DD section P0 Platform auth places cms media :p0, 2026-07-24, 21d section P1 Rides wallet F&B parking fuel atm :p1, after p0, 35d section P2 Hotel rental pharmacy medical school :p2, after p1, 42d section P3 Social chat partner dashboards AI :p3, after p2, 42d section P4 Harden scale compliance :p4, after p3, 30d
P0 — Foundation (đang)
| WP | Domain | Surfaces | Mục tiêu | Status |
|---|---|---|---|---|
| WP-AUTH-01 | D-AUTH | All | OTP + JWT + Swagger | IMP CON |
| WP-AUTH-02 | D-AUTH | All | surface + RolesGuard + roles từ DB | IMP |
| WP-DRV-REG-01 | D-DRIVER | DRV, ADM | Register + approve → Role.DRIVER | IMP |
| WP-PAR-AUTH-01 | D-PARTNER | PAR, ADM | Onboarding + approve → PARTNER_OWNER | IMP |
| WP-FE-AUTH-01 | D-AUTH | CON | Mobile OTP + SecureStore | IMP |
| WP-DRV-APP-01 | D-DRIVER | DRV | Expo driver auth/register/online | IMP scaffold |
| WP-PAR-APP-01 | D-PARTNER | PAR | Expo partner auth/onboarding/staff | IMP scaffold |
| WP-USER-01 | D-USER | CON, ADM | Profile me | IMP |
| WP-USER-AVATAR-01 | D-USER | API | Avatar/cover upload · summary · /profile alias (baotienweb) |
IMP (2026-08-06) · report |
| WP-PLACE-01 | D-PLACE | CON, ADM | Nearby PostGIS + Prisma Place | IMP |
| WP-CMS-01 | D-CMS | CON, ADM | Terms/Privacy | IMP |
| WP-MEDIA-01 | D-MEDIA | All | Upload + presign | IMP |
| WP-MEDIA-URL-01 | D-MEDIA · D-SOCIAL · D-USER | CON, API | Stable URL lưu DB · re-sign GET khi private · feed/profile ảnh | IMP (2026-08-10) · report |
| WP-MEDIA-SOUND-01 | D-MEDIA · D-CHAT · D-NOTIF | All | MIME audio + Swagger SFX · brief 28 file SOUND-PACK-AI-BRIEF |
IMP |
| WP-MEDIA-STRIP-01 | D-MEDIA · D-SOCIAL | API, CON | Gỡ EXIF/GPS + nén JPEG/H.264 khi đăng tường/feed | IMP (2026-08-19) · report |
| WP-ADDR-01 | D-ADDR | CON | CRUD addresses | IMP |
| WP-DOC-01 | — | — | Bộ tài liệu + ma trận + BE audit | IMP |
| WP-FE-NAV-01 | — | CON | MainTabs 5 tab + AuthStack (xem doc 08) | IMP |
| WP-FE-HOME-01 | D-PLACE | CON | HomeMap lưới dịch vụ từ design | IMP |
| WP-FE-WALLET-01 | D-WALLET | CON | Ví + nạp MOCK | IMP |
| WP-FE-FNB-01 | D-FNB | CON | Merchants → menu → cart → order pay | IMP |
| WP-FE-GROCERY-01 | D-GROCERY | CON, API | Siêu thị kind=GROCERY · home+store · share cart/orders | IMP |
| WP-FE-RIDE-01 | D-RIDES | CON | Quote → book → detail | IMP |
| WP-FE-CHAT-01 | D-CHAT | CON | Conversations + thread | IMP |
| WP-FE-CHAT-CONTACT-01 | D-CHAT | CON | Hub Liên lạc: tin nhắn · cuộc gọi · danh bạ + gọi thoại/video | IMP |
| WP-FE-CHAT-CALL-UX-01 | D-CHAT | CON | CallScreen: mute/loa/camera · SFX · auto leave · ẩn tech log | IMP (2026-08-22) |
| WP-FE-CHAT-INCOMING-01 | D-CHAT | CON | Global call:ring → Call (callee) mọi tab |
IMP (2026-08-22) |
| WP-CHAT-CALL-LOCK-01 | D-CHAT · D-NOTIF | CON, API | Timeout MISSED 45s · push/inbox → Call · Android channels · skip push in-thread | IMP (2026-08-22) · report |
| WP-CHAT-CALL-SERVER-01 | D-CHAT | API, CON | Busy 409 · ICE STUN · presence online · sweep RINGING 15s · cập nhật bubble CALL | IMP (2026-08-22) · report |
| WP-FE-CHAT-THREAD-UX-01 | D-CHAT | CON | Thread: inverted scroll · empty · timestamp · safe area · send error tách | IMP (2026-08-22) |
| WP-FE-GEO-01 | D-PARK/FUEL/ATM | CON | Nearby lists | IMP |
| WP-FE-PLACE-01 | D-PLACE | CON | Places nearby list + map placeholder | IMP |
| WP-FE-PARK-01 | D-PARK | CON | Lots nearby → book → list/cancel | IMP |
| WP-FE-NOTIF-01 | D-NOTIF | CON | List + unread badge Account tab | IMP |
| WP-FE-USER-01 | D-USER | CON | Profile edit me | IMP |
| WP-FE-USER-AVATAR-01 | D-USER | CON | Avatar picker · AccountHome Image · AuthUser.avatarUrl | IMP (2026-08-06) |
| WP-USER-PREFS-01 | D-USER | CON, API | preferences JSON · GET/PATCH me · Settings persist |
IMP (2026-08-06) · report |
| WP-ATM-CASH-01 | D-ATM | CON, API | Atm.hasCash · bỏ hash mock «Hết tiền» |
IMP (2026-08-06) |
| WP-PHARM-CART-01 | D-PHARM | CON, API | Server pharmacy cart + checkout → prescription | IMP (2026-08-06) · report |
| WP-SOC-BOOKMARK-01 | D-SOCIAL | CON, API | Wire PostSave · Reels/Feed bookmark |
IMP (2026-08-06) |
| WP-SOC-COMMENT-LIKE-01 | D-SOCIAL | CON, API | CommentLike + CommentsSheet heart |
IMP (2026-08-06) |
| WP-SOC-ENGAGE-01 | D-SOCIAL | CON, API | Tim · bình luận · chia sẻ + shareCount · báo cáo luồng | IMP (2026-08-19) · report |
| WP-SOC-REELS-INGEST-01 | D-SOCIAL | CON, API, ADM | Mixed Reels + Invidious discovery + FFmpeg/MinIO ingest + preload ~10s | IMP (2026-08-22) · report |
| WP-FE-MOCK-KILL-01 | D-HOME·PLACE·SOCIAL·FNB | CON | Gỡ mock P0 · gắn Places/Addresses/Rides/Orders/Social avatar | IMP (2026-08-06) · report |
| WP-FE-ADDR-01 | D-ADDR | CON | Address list/add/default | IMP |
| WP-FE-ADDR-MAP-01 | D-ADDR · D-RIDES | CON | AddressForm autocomplete + MapView pin · submit lat/lng · RideHome Lưu Nhà | IMP (2026-08-14) · report |
| WP-FE-SHARED-01 | — | CON | Screen + Empty/Error + ListRow + TextField | IMP |
| WP-FE-SOC-01 | D-SOCIAL | CON | Posts feed + Reels list | IMP |
| WP-FE-SOC-03 | D-SOCIAL | CON | Friends + profile + follow | IMP |
| WP-FE-SOC-THREADS-01 | D-SOCIAL | CON | Reels/Social compact Threads-like | IMP (2026-08-19) · report |
| WP-FE-SOC-THREADS-02 | D-SOCIAL | CON | Tab Reels tối · composer · Đăng/Bạn bè CSS compact | IMP (2026-08-19) · report |
| WP-CHAT-WS-01 | D-CHAT | CON, API | Socket.IO /chat + WebRTC signal + Expo push |
IMP |
| WP-FE-WS-01 | D-CHAT | CON | Chat live + Call signaling screen | IMP |
| WP-NOTIF-PUSH-01 | D-NOTIF | CON, API | Register token + Expo send on chat/call | IMP |
| WP-NOTIF-HUB-01 | D-NOTIF | All | Catalog + dispatch booking/ride/order/call · deep-link · DRV/PAR token | IMP (2026-08-17) · arch · report |
| WP-FAV-01 | D-FAV | CON, API | Favorites Prisma + CRUD | IMP |
| WP-FE-FAV-01 | D-FAV | CON | Favorites list + save from Places | IMP |
| WP-AI-01 | D-ASSIST | CON, API | Assistant LLM (OpenAI-compat) + rule fallback + history | IMP |
| WP-FE-AI-01 | D-ASSIST | CON | Assistant sheet từ Home | IMP |
| WP-FE-DRV-TRIP | D-DRIVER | DRV | Online → accept → pickup → complete + GPS mô phỏng | IMP |
| WP-RIDE-WS-01 | D-RIDES | CON, DRV, API | Socket.IO /rides GPS · ride:join/location |
IMP |
| WP-FE-PAR-HOME | D-PARTNER | PAR | Partner home: overview · orders · staff | IMP |
| WP-PAR-STAFF-JWT-01 | D-PARTNER | PAR, API | addStaff → userId + Role.PARTNER_STAFF · me() STAFF · ẩn tab NV | IMP (2026-08-17) · report |
| WP-PAR-STAFF-OPS-01 | D-PARTNER | PAR, API | STAFF ops vertical theo org APPROVED (không ownerUserId) | IMP (2026-08-17) · report |
| WP-AUTH-HAT-SPLIT-01 | D-AUTH | CON, DRV, API | Khách ≠ tài xế: login surface + HTTP interceptor cấm hat chéo | IMP (2026-08-17) · report |
| WP-AUTH-ROLE-MATRIX-01 | D-AUTH | All | 7 JWT + capability tài xế + GET /users/me/hats + Admin duyệt việc |
IMP (2026-08-18) · ROLE-MATRIX |
| WP-RIDE-ROUTE-UUID-01 | D-RIDES · D-MEDIA | CON, API | Deploy nearby-drivers + passenger-location · proxy avatar MinIO | IMP (2026-08-17) · report |
P1 — Core consumer
| WP | Domain | Surfaces | Mục tiêu |
| ------------ | -------- | ------------- | ------------------------------------------- | ----------- |
| WP-WALLET-01 | D-WALLET | CON, DRV, ADM | Balance + ledger | IMP |
| WP-PAY-01 | D-PAY | CON, ADM | MoMo/VNPay/MOCK init + return | IMP MVP |
| WP-RIDE-01 | D-RIDES | CON, DRV, ADM | Quote + trip + RideRating + GPS WS | IMP |
| WP-DRV-01 | D-DRIVER | DRV | Online + accept/pickup/complete | IMP |
| WP-FNB-01 | D-FNB | CON, PAR, ADM | Merchants + menu + cart + order + pay | IMP |
| WP-PARK-01 | D-PARK | CON, PAR | Nearby + booking + partner check-in/pricing | IMP |
| WP-FUEL-01 | D-FUEL | CON, PAR | Stations + prices + partner inventory | IMP |
| WP-ATM-01 | D-ATM | CON, ADM | Nearby ATM (Prisma /atms) | IMP |
P2 — Vertical mở rộng
| WP | Domain | Surfaces |
| ------------------------------- | ----------------- | ------------- | ------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| WP-HOTEL-01 | D-HOTEL | CON, PAR, ADM | Hotels Prisma + book + partner rooms | IMP |
| WP-FE-HOTEL-01 | D-HOTEL | CON | List → detail/rooms → book → my bookings | IMP |
| WP-RENT-01 | D-RENTAL | CON, PAR, ADM | Listings + viewing + report + landlord | IMP |
| WP-FE-RENT-01 | D-RENTAL | CON | List → detail → đặt lịch xem → lịch hẹn | IMP |
| WP-PHARM-01 | D-PHARM | CON, PAR, ADM | Stores nearby + products + prescription | IMP |
| WP-FE-PHARM-01 | D-PHARM | CON | Pharmacy list → detail → toa | IMP |
| WP-MED-01 | D-MED | CON, PAR, ADM | Facilities + doctors + appointments | IMP |
| WP-FE-MED-01 | D-MED | CON | Medical nearby → book | IMP |
| WP-SCH-01 | D-SCHOOL | CON, PAR, ADM | Schools nearby + consultations | IMP |
| WP-FE-SCH-01 | D-SCHOOL | CON | Schools list → tư vấn | IMP |
| WP-FE-SCH-02 | D-SCHOOL | CON | Pixel list/detail/consult vs JPG 706f… | IMP |
| WP-REV-01 | D-REVIEW | CON, PAR, API | Polymorphic reviews + summary + partner reply | IMP |
| WP-PROMO-01 | D-PROMO | CON, PAR, API | List · validate · mine · partner create | IMP |
| WP-SUP-01 | D-SUPPORT | CON, API | FAQ + tickets | IMP |
| WP-FE-SUP-01 | D-SUPPORT | CON | Support screen | IMP |
| WP-FE-SUP-02 | D-SUPPORT | CON | FAQ · tickets · create · detail (JPG 6183…) | IMP |
| WP-ROUTE-01 | D-ROUTE | CON, API | Directions Haversine + geocode | IMP |
| WP-ROUTE-02 | D-ROUTE | CON, API | Mapbox directions/geocode nếu có token · fallback Haversine | IMP |
| WP-FE-ROUTE-01 | D-ROUTE | CON | RoutingDirections | IMP |
| WP-FE-ROUTE-03 | D-ROUTE | CON | Choose·Steps·Active b6ccd… | IMP |
| WP-KYC-02 | D-KYC | CON, ADM | User eKYC + admin | IMP |
| WP-AUTH-03 | D-AUTH | All | sessions · 2FA · social · logout-all | IMP |
| WP-AUTH-05 | D-AUTH | All | Email OTP + SMTP/Mailpit · bỏ SĐT login | IMP |
| WP-AUTH-GOOGLE-01 | D-AUTH | CON·API | Google idToken verify + LoginScreen Expo Auth Session | PREPARED · OWNER*REQUIRED Client ID *(2026-08-06)_ |
| WP-AUTH-CREDENTIALS-SESSIONS-01 | D-AUTH | CON·API | Email/password · sessions · devices · refresh rotation · new-device alert | IMP (2026-08-06) · Google live OWNER_REQUIRED |
| WP-AUTH-MAIL-2FA-01 | D-AUTH | CON·API | SMTP Mailpit port · register mail · 2FA email on password login | IMP (2026-08-06) · SMTP :1026 |
| WP-AUTH-COMPAT-01 | D-AUTH | API | Alias /register·/login·/auth/me · body email login · audit report | IMP (2026-08-06) · AUTH-API-AUDIT |
| WP-DASH-01 | ADM | ADM | dashboard/ Vite scaffold | IMP |
| WP-FE-PAR-HOTEL | D-HOTEL | PAR | Partner HotelPartnerScreen bookings | IMP |
| WP-FE-PAR-RENT | D-RENTAL | PAR | Partner RentalPartnerScreen listings+leads | IMP |
| WP-ROUTE-03 | D-ROUTE | CON | Polyline preview trên Chỉ đường | IMP |
| WP-FE-PAR-HOTEL | D-HOTEL | PAR | Partner Home tab KS | IMP |
| WP-FE-PAR-RENT | D-RENTAL | PAR | Partner Home tab thuê | IMP |
| WP-FE-PAR-PHARM | D-PHARM | PAR | Partner PharmacyPartnerScreen toa+kho · tab Thuốc | IMP |
| WP-FE-PAR-MED | D-MED | PAR | Partner MedicalPartnerScreen lịch+BN+DT · tab Y tế | IMP |
| WP-FE-PAR-MED-02 | D-MED | PAR | Multi-tab Tổng quan/Lịch/BN/DT/TK theo JPG 679afd… | IMP |
| WP-FE-HEALTH-01 | D-HEALTH | CON | Home định kỳ · Vax detail · History (JPG 884bc…) | IMP |
| WP-FE-PLACE-03 | D-PLACE | CON | PlaceSearch · PlaceDetail · polish PlacesNearby | IMP |
| WP-FE-PLACE-04 | D-PLACE | CON | Bind Nearby/Search to Place Catalog + categories động | IMP |
| WP-FE-PLACE-ADM-01 | D-PLACE | ADM | Admin Place CMS · categories + map_places | IMP |
| WP-FE-PLACE-ADM-02 | D-PLACE | ADM | Google Places import UI · POST /places/import/google | IMP |
| WP-PLACE-03 | D-PLACE | API, PAR, ADM | Partner place claim · mine · admin review | IMP |
| WP-FE-PLACE-PAR-01 | D-PLACE | PAR | Partner UI claim / edit place | IMP |
| WP-PLACE-MAP-01 | D-PLACE | CON, API | Map bounds aggregator · WelifeMapScreen · places:audit | IMP |
| WP-PLACE-MAP-02 | D-PLACE | CON | Grid clustering · autocomplete/geocode search (places DB) | IMP |
| WP-PLACE-LOCAL-SYNC-01 | D-PLACE | CON, API | /places/map/sync cursor+since · tile cache AsyncStorage · WelifeMap | IMP (2026-08-22) |
| WP-PLACE-MAP-SPREAD-01 | D-PLACE | API, Deploy | Grid diversify map pins · seed OSM/demo prod · charging imageUrl migrate | IMP (2026-08-22) |
| WP-PLACE-MAP-VN-01 | D-PLACE | API, Deploy | Seed 15 tỉnh/thành · bounds VN · SQL round-robin cả nước | IMP (2026-08-22) |
| WP-PLACE-02 | D-PLACE | API, ADM, PAR | Place catalog · categories · soft-delete · Google import | IMP |
| WP-FE-PAR-SCHOOL | D-SCHOOL | PAR | Partner SchoolPartnerScreen HV+học phí · tab Trường | IMP |
| WP-DASH-03 | D-HOTEL + D-PHARM | ADM | Dashboard Hotel/Pharmacy ops · /admin/overview | IMP |
| WP-ROUTE-04 | D-ROUTE | CON | react-native-maps MapView polyline · web fallback dots | IMP |
| WP-DRV-GPS | D-RIDES | DRV | expo-location watch · ride:location · fallback mô phỏng | IMP |
| WP-FNB-02 | D-FNB | API | Order luôn có addressSnapshot · smoke flatten object keys | IMP |
| WP-FE-PAR-PARK | D-PARK | PAR | Partner ParkingPartnerScreen · /partner/lots + check-in/out | IMP |
| WP-FE-PAR-FUEL | D-FUEL | PAR | Partner FuelPartnerScreen · /partner/stations + prices | IMP |
| WP-DASH-TICKET | D-SUPPORT | ADM | Dashboard SupportModule · admin list/reply | IMP |
| WP-DASH-MED | D-MED | ADM | Dashboard MedicalModule · /medical/admin/overview | IMP |
| WP-DASH-SCHOOL | D-SCHOOL | ADM | Dashboard SchoolsModule · /schools/admin/overview | IMP |
P3 — Social · Chat · AI · Dashboard đầy đủ
| WP | Domain | Surfaces | | ---------- | -------- | -------------- | ------------------------------------- | -------------------- | | WP-SOC-01 | D-SOCIAL | CON, ADM | Posts/NEWS/Reels + follow + friends | IMP | | WP-CHAT-01 | D-CHAT | CON, PAR, DRV | Conversations + messages + calls REST | IMP | | WP-AI-01 | D-ASSIST | CON, ADM | LLM + rule · history | IMP | | WP-DASH-01 | All ops | S-ADM scaffold | | WP-KYC-01 | D-KYC | DRV, ADM | Multi-face GPLX + admin review | IMP MVP (driver) |
P5 — Product polish (sau soft queue DONE) · chi tiết 12-NEXT-WORK-PLAN
| WP | Domain | Surfaces | Mục tiêu | Status |
| ------------------------- | ------------------ | ------------------- | -------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ------- |
| WP-SEED-01 | D-PARK/FUEL/MED | API | Seed partnerOrgId lot/station/facility | IMP |
| WP-DOC-SYNC-01 | — | Docs | Sync GAP/ops 267 + stale lines | IMP |
| WP-FE-PAR-HOTEL-02 | D-HOTEL | PAR | Room-type edit UI | IMP |
| WP-FE-PAR-RENT-02 | D-RENTAL | PAR | Create listing form | IMP |
| WP-FE-PAR-PIXEL | multi | PAR | Partner F&B pixel 1970… | IMP |
| WP-FE-GROCERY-02 | D-GROCERY | CON | Checkout flow riêng | IMP |
| WP-ROUTE-05 | D-ROUTE | CON, API | Mapbox live directions (optional token) | IMP |
| WP-ROUTE-06 | D-ROUTE | API | Smart autocomplete (type+catalog) · turn-by-turn steps | IMP |
| WP-FE-ROUTE-04 | D-ROUTE | CON | Nav camera smart zoom (overview/maneuver/arrival) | IMP |
| WP-FE-ROUTE-05 | D-ROUTE | CON | Pixel 4 màn Navigation theo JPG b6ccd… · Figma MCP deferred | IMP |
| WP-FE-ROUTE-05-FIGMA-SYNC | D-ROUTE | CON | Re-audit pixel (màu/spacing/radius/icon) khi có node-id MCP | DEFERRED |
| WP-ROUTE-MAPBOX-LIVE | D-ROUTE | API | Smoke live provider mapbox (npm run routing:mapbox:smoke) | OPTIONAL (OSM thay) |
| WP-ROUTE-OSM-01 | D-ROUTE | API, CON | OSRM directions + Nominatim geocode (không token) · routing:osm:smoke | IMP |
| WP-PLACE-DOCS-01 | D-PLACE | API | Đồng bộ Swagger places Hub+Catalog · audit @ApiTags (hết mismatch 6↔17) | IMP |
| WP-FE-HEALTH-02 | D-HEALTH | CON (+ medical API) | Bind Health → /medical/health/* (vax/history/book) | IMP |
| WP-MED-HEALTH-HISTORY-01 | D-HEALTH | API/CON | History include UPCOMING · FE badge Sắp tới · mapper tests | IMP |
| WP-FE-ATM-03 | D-ATM | CON | Pixel polish AtmNearby/Detail vs 6c9b… | IMP |
| WP-PLACE-SEED-02 | D-PLACE | API/CON | Gallery seed · featured markers Home/Nearby | IMP |
| WP-SEC-01 | D-SECURITY | API | Redis OTP · token blacklist · rate limits prod | IMP |
| WP-OBS-01 | D-OBS | API | Health/deps/metrics · logging | IMP |
| WP-SCALE-01 | D-SCALE | API | Index PostGIS · queue BullMQ | IMP (BullMQ N/A) |
| WP-PAY-02 | D-PAY | API | Refund + IPN MoMo/VNPay prod | IMP (MOCK smoke · live keys optional) |
| WP-SMS-01 | D-SMS | API | SMS http/esms/twilio prod | IMP (secure boot · live key STOP-GATE) |
| WP-DEPLOY-01 | D-DEPLOY | INFRA | Staging Ubuntu | IMP (api.minhtien.cloud · Docker · UFW) |
| WP-WEB-LANDING-01 | D-WEB | WEB | Apex marketing web/ từ welife3 | IMP (minhtien.cloud · Next static) |
| WP-FE-HOME-02 | D-PLACE | CON | Home pixel vs JPG 0293… | IMP |
| WP-FE-HOME-03 | D-PLACE | CON | Home polish 0293 · soft icons · nearby catalog bind | IMP |
| WP-FE-FNB-02 | D-FNB | CON | F&B pixel 44ba… | IMP |
| WP-FE-RIDE-02 | D-RIDES | CON | Ride pixel 090d… | IMP |
| WP-FE-RIDES-03 | D-RIDES | CON | Quote·Matching 090d… | IMP |
| WP-FE-WALLET-02 | D-WALLET | CON | Wallet/support pixel 6183… | IMP |
| WP-FE-SOC-02 | D-SOCIAL | CON | Create post + comments API sheet 9a111… | IMP |
| WP-FE-SOC-04 | D-SOCIAL | CON | Create/comments polish (discard · char · send err) | IMP |
| WP-FE-SCH-02 | D-SCHOOL | CON | Schools pixel 706f… | IMP |
| WP-FE-HOTEL-02 | D-HOTEL | CON | Hotels pixel 934d… | IMP |
| WP-FE-MED-02 | D-MED | CON | Medical pixel f16b… | IMP |
| WP-FE-MED-03 | D-MED | CON | ER·Specialty·Doctor·Map·Chat f16b… | IMP |
| WP-FE-MED-CHAT-01 | D-MED · D-CHAT | CON · API | MedicalChat → ChatApi.createDirect + WS · Doctor.userId | IMP |
| WP-NAV-CI-01 | TOOLING · NAV | CON | audit:nav CI + Root NotFound soft-404 | IMP |
| WP-HEALTH-FALLBACK-01 | D-HEALTH | CON | Bỏ DEFAULT_PROFILE / vax-hpv FE fake · empty hồ sơ thật | IMP |
| WP-FE-WALLET-PROMO-01 | D-WALLET · D-PROMO | CON | WalletHome ưu đãi ← PromotionsApi (bỏ Starbucks hardcode) | IMP |
| WP-FE-CMS-LEGAL-01 | D-CMS | CON · API | Terms/Privacy ← CmsApi /cms/terms | privacy | IMP |
| WP-ENV-STRUCTURE-01 | TOOLING · ENV | All | .env.example đủ Google/sessions · bootstrap clear placeholder | IMP |
| WP-ENV-LOCAL-01 | TOOLING · ENV | All | npm run dev:up PG+Redis+MinIO+Mailpit · migrate · env:check · Windows docs | IMP (2026-08-11) |
| WP-ENV-VPS-01 | Ops | VPS | OSRM healthy (no wget) · sync+resources · backup/health-watch cron | IMP (2026-08-11) |
| WP-ENV-MATRIX-01 | TOOLING · ENV | All | local/staging/production examples · compose.staging · CI matrix | IMP (2026-08-11) |
| WP-ENV-EXPO-01 | TOOLING · ENV | CON | Mirror APP Expo start/reset · staging/prod mobile env · report Auth/Pay+features | IMP (2026-08-12) · report |
| WP-PLATFORM-FOUNDATION-01 | Platform | API·CON | @welife/shared · feature-flags · /health/metrics | IMP (2026-08-11) |
| WP-OWNER-WIRE-01 | OWNER | All | Checklist paste secrets · wire khi OWNER cung cấp | READY (chờ secret) |
| WP-FE-PHARM-02 | D-PHARM | CON | Pharmacy pixel 24c3… | IMP |
| WP-FE-PHARM-03 | D-PHARM | CON | Cart·Success 24c3…/51ff… | IMP |
| WP-FE-RENT-02 | D-RENTAL | CON | Rentals pixel 0ea6… | IMP |
| WP-FE-RENT-03 | D-RENTAL | CON | Compare·Saved 0ea6… | IMP |
| WP-FE-RENT-04 | D-RENTAL | CON | RentalList MapView sheet · expand · pin → detail/maps | IMP |
| WP-FE-FNB-03 | D-FNB | CON | Map·Track·Rate 44ba…/0beb… | IMP |
| WP-FE-GROCERY-03 | D-GROCERY | CON | Filter·Success 160bc… | IMP |
| WP-FE-FUEL-02 | D-FUEL | CON | Fuel pixel 2905… | IMP |
| WP-FE-PARK-02 | D-PARK | CON | Parking pixel 25af… | IMP |
| WP-FE-PARK-03 | D-PARK | CON | Filter·PayOk 25af… | IMP |
| WP-FE-PARK-04 | D-PARK | CON | Nearby MapView sheet · expand · pin | IMP |
| WP-FE-ATM-02 | D-ATM | CON | ATM pixel 6c9b… list+detail+filter | IMP |
| WP-FE-AUTH-UI-01 | D-AUTH | CON | Splash·Onboard·Location·Session·Logout (bfb028/868c, email OTP) | IMP |
| WP-FE-BRAND-SPLASH-01 | D-AUTH | CON | Splash lockup: nền đen + logo Welife xanh (đúng file brand) | IMP (2026-08-17) |
| WP-FE-BRAND-SPLASH-02 | D-AUTH | CON | Expo reload/boot khớp lockup full · native splash giữ đến JS ready | IMP (2026-08-18) · BrandBootView · splash-icon full lockup |
| WP-FE-BRAND-ICONS-01 | D-AUTH | CON·DRV·PAR | Thay icon/splash Expo mặc định bằng mark Welife trên Driver + Partner | IMP (2026-08-18) · generate-brand-icons.mjs copy sang driver/partner |
| WP-FE-AUTH-UI-02 | D-AUTH | CON | Account·Settings·Activity depth bfb028… | IMP |
| WP-FE-SYS-01 | System | CON | Empty/offline/GPS/pay/legal shared 868c… | IMP |
| WP-FE-SCH-03 | D-SCHOOL | CON | Filter·Compare·Success·Saved 706f… | IMP |
| WP-FE-SCH-04 | D-SCHOOL | CON | SchoolList MapView sheet · expand · pin → detail/maps | IMP |
| WP-FE-HOTEL-03 | D-HOTEL | CON | Filter·Confirm·Success·Saved 934d… | IMP |
| WP-FE-HOTEL-04 | D-HOTEL | CON | HotelList MapView sheet · expand · pin → detail/maps | IMP |
| WP-FE-FUEL-03 | D-FUEL | CON | Detail·Filter·Route 2905… | IMP |
| WP-FE-FUEL-04 | D-FUEL | CON | Nearby MapView sheet · expand · pin | IMP |
| WP-FE-MAP-HARDEN-01 | D-FUEL+shared | CON | Map coord guards · Fuel price-sort RON95≤0 · unit tests | IMP |
| WP-FE-MAP-SHEET-01 | D-PLACE+shared | CON | NearbyMapSheet · PanResponder snap · pinch zoom | IMP (2026-08-11) |
| WP-FE-MAP-GAP-01 | D-ATM+PHARM+… | CON | ATM·Pharmacy·Charging·Transit·Grocery MapSheet | IMP (2026-08-11) |
| WP-FE-MAP-MIGRATE-01 | D-FUEL+shared | CON | Fuel·Park·Hotel·Rental·School → NearbyMapSheet | IMP (2026-08-11) |
| WP-FE-MAP-GPS-01 | D-PLACE+shared | CON | Device GPS toàn nearby (Hotel·Fuel·Park·ATM·…·Grocery·Transit·MerchantList) | IMP (2026-08-11) |
| WP-FE-MAP-MIGRATE-02 | D-MED·D-FNB | CON | MedicalMap + MerchantMap → NearbyMapSheet + GPS | IMP (2026-08-11) |
| WP-GEO-MERCHANTS-01 | D-FNB·D-GROCERY | API | merchants PostGIS nearby (+ hub GROCERY kind filter) | IMP (2026-08-11) |
| WP-FE-MAP-HOMESVC-01 | D-HOME | CON·API | Homeservices NearbyMapSheet · map-bounds · hub HOMESVC chip | IMP (2026-08-11) |
| WP-FE-HOME-REPAIR-01 | D-HOME | CON·API | Home: ẩn Trạm xăng → Xem thêm · ô Sửa chữa · lưới gọi thợ APP_DESIGN_BUILD | IMP (2026-08-21) |
| WP-FE-HOME-GRID-02 | D-PLACE | CON | Home: Siêu thị↔Sửa chữa · hàng 2 + Xem thêm icon không nền | IMP (2026-08-21) |
| WP-FE-HOME-REPAIR-02 | D-HOME | CON·API | Gọi thợ: mô tả → tìm thợ → xác nhận → đã gửi → theo dõi (APP_DESIGN_BUILD) | IMP (2026-08-21) |
| WP-FE-HOME-REPAIR-03 | D-HOME | CON | UX/UI gọi thợ: chrome, 4 cột hạng mục, thẻ 1 cột, CTA dính đáy | IMP (2026-08-21) |
| WP-FE-HOME-REPAIR-04 | D-HOME | API | Seed 50 thợ HCM + map WorkerType APP_DESIGN_BUILD / HomeFix import | IMP (2026-08-21) |
| WP-FE-HOME-REPAIR-05 | D-HOME | CON·API | Lưới 5 cột · 24 hạng mục · màn con danh mục + hồ sơ thợ thẩm mỹ | IMP (2026-08-21) |
| WP-FE-EVENT-01 | D-EVENT | CON | Xem thêm · Lễ–Sự kiện (Hỷ→Tang) hub + màn dịch vụ + PlaceSearch | IMP (2026-08-21) |
| WP-FE-EVENT-02 | D-EVENT | CON·API | Seed OSM POI HCM category=event · list gần bạn trên màn dịch vụ | IMP (2026-08-21) |
| WP-FE-EVENT-03 | D-EVENT | CON·API | CTA safe inset Android · map chip EVENT · PlaceSearch category event | IMP (2026-08-21) |
| WP-FE-EVENT-04 | D-EVENT | CON | Xem thêm: nhóm title «Lễ sự kiện» · toàn bộ icon dưới Tiện ích | IMP (2026-08-21) |
| WP-FE-EVENT-05 | D-EVENT·D-PLACE | API | Bulk OSM HCM (4 bbox) → catalog+hub EVENT · map pin dày | IMP (2026-08-21) |
| WP-RIDE-MAP-LIVE-01 | D-RIDES | CON | Ride Matching/Detail · MapView pickup·dropoff·driver (REST+WS) | IMP (2026-08-11) |
| WP-TRANSIT-IMG-01 | D-TRANSIT | API·CON | transit_stops.imageUrl · seed/demo · Nearby/Detail/hub cover | IMP (2026-08-11) |
| WP-FE-MAP-SOCIAL-01 | D-PLACE·D-SOCIAL | CON·API | GET /social/posts/map · CreatePost GPS · WelifeMap/Home pins · CHARGING/TRANSIT | IMP (2026-08-11) |
| WP-FE-MAP-IMG-PIN-01 | D-PLACE+shared | CON | Photo map pins (circle+tip) · WelifeMap/Home/NearbySheet · Figma 524:2 | IMP (2026-08-13) |
| WP-FE-MAP-IMG-PIN-02 | D-FUEL·PARK·ATM·… | CON | Domain pins: price (fuel/park) · bank badge (ATM) · photo (hotel/rent/school) | IMP (2026-08-13) · Figma 494/492/166:* view-only → JPG mockups |
| WP-FE-WALLET-03 | D-WALLET | CON | Expense stats·filter 1eabc… | IMP |
| WP-FE-WALLET-04 | D-WALLET | CON | TX detail·add card·payment methods 6183… | IMP |
| WP-FE-PAR-FNB-02 | D-FNB | PAR | FNB Partner multi-tab 1970…/c884… | IMP |
| WP-FE-PAR-FUEL-02 | D-FUEL | PAR | Fuel Partner multi-tab 7971… | IMP |
| WP-FE-PAR-PARK-02 | D-PARK | PAR | Parking Partner multi-tab 031d… | IMP |
| WP-FE-PAR-HOTEL-03 | D-HOTEL | PAR | Hotel Partner multi-tab 14e5… (rooms/cal) | IMP |
| WP-FE-PAR-RENT-03 | D-RENTAL | PAR | Landlord Partner multi-tab cfcf… | IMP |
| WP-FE-PAR-SCH-02 | D-SCHOOL | PAR | School Partner multi-tab f311… (HV/lịch/HP/ratings) | IMP |
| WP-FE-PAR-PHARM-02 | D-PHARM | PAR | Pharmacy Partner multi-tab 56cd… (toa/kho) | IMP |
P5f — Depth surfaces (Screen Matrix 14) · next
| WP | Domain | Surfaces | Mục tiêu | Status |
|---|---|---|---|---|
| WP-FE-DRV-UI-01 | D-DRIVER | DRV | Trips list/detail + Accept · BOARD-DRV-01 | IMP |
| WP-FE-DRV-UI-02 | D-DRIVER | DRV | In-trip · BOARD-DRV-02 | IMP |
| WP-FE-DRV-UI-03 | D-DRIVER | DRV | KYC/Wallet/Ratings · BOARD-DRV-03 | IMP |
| WP-FE-ADM-01 | Platform | ADM | Overview shell · BOARD-ADM-01 | IMP |
| WP-FE-ADM-02 | D-KYC/PARTNER/DRIVER | ADM | Approve queues · BOARD-ADM-02 | IMP |
| WP-FE-KYC-ADM-01 | D-KYC | ADM | Queue VN · search · reject presets | IMP |
| WP-FE-ADM-03 | Ops/Wallet/Support | ADM | Ops · ledger · desk · BOARD-ADM-03 | IMP |
| WP-FE-ADM-04 | D-CMS/PROMO/NOTIF | ADM | CMS edit · Promo admin · Broadcast | IMP |
| WP-FE-KYC-UI-01 | D-KYC | Shared | Wizard shared · BOARD-SHR-KYC | IMP |
| WP-FE-CHAT-UI-02 | D-CHAT | All FE | Empty/Error + PAR/DRV · BOARD-SHR-CHAT | IMP |
| WP-FE-WALLET-05 | D-WALLET | CON/DRV | Topup/Withdraw/Transfer · BOARD-SHR-WALLET | IMP |
| WP-FE-WALLET-06 | D-WALLET | CON, API | Transfer SĐT/UUID · edge + result copy | IMP |
| WP-FE-PAR-RENT-04 | D-RENTAL | PAR | Listing form depth · BOARD-PAR-FORM-01 | IMP |
| WP-FE-PAR-MED-03 | D-MED | PAR | Rx/patient forms · BOARD-PAR-FORM-02 | IMP |
| WP-FE-PAR-SCH-03 | D-SCHOOL | PAR | Add student/tuition · BOARD-PAR-FORM-03 | IMP |
| WP-FE-PAR-FNB-03 | D-FNB | PAR | Menu/promo/staff forms · BOARD-PAR-FORM-04 | IMP |
| WP-FE-SYS-02 | System | CON | Wire empty/error lists | IMP |
P4 — Harden
| WP | Mục tiêu | Status |
|---|---|---|
| WP-SEC-01 | Redis OTP, token blacklist, rate limits prod | IMP |
| WP-PAY-02 | Refund + MoMo/VNPay IPN prod | IMP |
| WP-SMS-01 | SMS http/esms/twilio · tắt OTP_DEV_CODE | IMP (live key STOP-GATE) |
| WP-OBS-01 | Health/deps/metrics, logging | IMP |
| WP-SCALE-01 | Index PostGIS, queue BullMQ | IMP (BullMQ N/A) |
| WP-DEPLOY-01 | Staging theo UBUNTU-DEPLOY | IMP (VPS 180.93.146.58 · minhtien.cloud) |
| WP-WEB-LANDING-01 | Apex marketing web/ từ welife3 |
IMP (minhtien.cloud · Next static) |
P6 — Journey UX (audit màn chức năng 2026-07-30)
Chi tiết evidence + chain: 15-COMPLETION-AUDIT-MATRIX §5–6.
| WP | Domain | Surfaces | Mục tiêu | Status |
|---|---|---|---|---|
| WP-FE-RIDE-RATE-01 | D-RIDES | CON | RideRateScreen + POST /rides/:id/rate |
IMP |
| WP-FE-RIDE-CHAT-01 | D-RIDES | CON | Wire RideDetail → ChatThread | IMP |
| WP-FE-FNB-SUCCESS-01 | D-FNB | CON | OrderSuccessScreen → Track (bỏ Alert) | IMP |
| WP-FE-DRV-HIST-01 | D-DRIVER | DRV | Tab lịch sử chuyến thật | IMP |
| WP-DRV-CANCEL-01 | D-DRIVER | API+DRV | Reject/cancel trip + CTA | IMP |
| WP-FE-DRV-EARN-01 | D-WALLET | DRV | Earnings/tx detail | IMP |
| WP-FE-MED-SUCCESS-01 | D-MED | CON | Booking success → Appointments | IMP |
| WP-FE-RENT-SUCCESS-01 | D-RENTAL | CON | Viewing success → Viewings | IMP |
| WP-FE-RENT-GPS-01 | D-RENTAL | CON | RentalList nearby theo GPS thiết bị | IMP |
| WP-FE-ROUTE-ACTIVE-01 | D-ROUTE | CON | RouteActive GPS follow + ETA/speed | IMP |
| WP-FE-ROUTE-NAV-COMPASS-01 | D-ROUTE | CON | GPS 3s + la bàn + snap lộ trình + camera heading | IMP (2026-08-13) · report |
| WP-FE-ROUTE-NAV-SCENARIOS-01 | D-ROUTE | CON | Auto-reroute đường ngắn nhất · GPS stale/wrong-way/pause · hardware nav | IMP (2026-08-13) · report |
| WP-FE-ROUTE-NAV-EXPLORE-01 | D-ROUTE | CON | Explore-on-route · photo thumbs · cluster · viewport debounce | IMP (2026-08-14) · report |
| WP-FE-PAR-PROMO-01 | D-PROMO | PAR | Promo create qua promotions API | IMP |
| WP-FE-PAR-PHARM-STOCK-01 | D-PHARM | PAR | Stock/price edit | IMP |
| WP-FE-PAR-MED-RX-02 | D-MED | PAR | Persist Rx | IMP |
| WP-FE-ADM-VERT-01 | multi | ADM | Ops actionable verticals | IMP |
| WP-FE-ADM-VERT-02 | multi | ADM | Rentals/fuel/parking admin | IMP |
| WP-FE-DRV-CALL-01 | D-DRIVER | DRV | In-trip call SĐT passenger | IMP |
| WP-FE-PAR-EMPTY-01 | multi | PAR | Empty/Error/Success tabs | IMP |
P7 — Harden · Release · Ops (audit 2026-07-31)
Chi tiết + AC: 16-PHASE-P7-HARDEN. Soft next mặc định.
| WP | Domain | Surfaces | Mục tiêu | Status |
|---|---|---|---|---|
| WP-SEC-WALLET-01 | D-WALLET | API · VPS | Tắt internal wallet credit prod | IMP (2026-07-31) |
| WP-SEC-SWAGGER-01 | Platform | API · VPS | Tắt Swagger/detail health public | IMP (2026-07-31) · OWNER override 2026-08-14: SWAGGER_ENABLED=true · /docs ON · sync default true |
| WP-DOC-P7-01 | docs | — | Trỏ 00/09/12/15 → P7 | IMP |
| WP-BACKUP-PG-01 | Ops | VPS | Cron dump + restore drill | IMP (2026-07-31) |
| WP-ROUTE-OSRM-SELF-01 | D-ROUTE | API | Self-host OSRM | IMP (2026-07-31) |
| WP-OBS-02 | Ops | VPS | Health watch cron 5 phút | IMP (2026-07-31) |
| WP-EAS-01 | CON | mobile | eas.json + preview profiles | IMP · APK 845b6a3d (2026-08-13) |
| WP-EAS-DRV-01 | DRV | driver | eas.json + projectId linked | IMP · APK 18716e82 (2026-08-13) |
| WP-EAS-PAR-01 | PAR | partner | eas.json + projectId linked | IMP · APK e0e55329 (2026-08-13) |
| WP-CI-01 | repo | — | GH Actions workflow | IMP |
| WP-ADM-DEPLOY-01 | ADM | dashboard | Deploy script · admin→prod API | IMP |
| WP-FE-PROMO-02 | D-PROMO | CON | Promo apply checkout | IMP (2026-07-31) |
| WP-FE-NOTIF-02 | D-NOTIF | CON | Notif detail screen | IMP (2026-07-31) |
| WP-FE-CHAT-NOTIF-CHILD-01 | D-CHAT·D-NOTIF | CON·API | CallDetail · ConversationInfo+mute · MediaViewer · NotifPrefs · archive | IMP (2026-08-22) · report |
| WP-NOTIF-HUB-01 | D-NOTIF | All | Hub dispatch · booking/ride/order/call matrix · deep-link | IMP (2026-08-17) · NOTIFICATION-SYSTEM · report |
| WP-RENT-VIEW-CANCEL-01 | D-RENTAL | CON · API | Cancel/reschedule viewing | IMP (2026-07-31) |
| WP-S3-LEASTPRIV-01 | Ops | VPS | MinIO app user ≠ root | IMP (2026-07-31) |
| WP-FE-RIDE-ADDR-01 | D-RIDES | CON | Shortcut Nhà/Công ty từ addresses | IMP (2026-07-31) |
| WP-FE-PAY-SMS-DISC-01 | D-PAY | CON | Disclaimer Pay/SMS + nạp gateway | IMP (2026-08-03) |
| WP-FE-PAY-CHECKOUT-01 | D-PAY | CON · API | Checkout không ép mockConfirm · default VNPay | IMP (2026-08-03) |
| WP-FE-PAY-RESULT-01 | D-PAY | CON | PaymentResult success/pending · deep link · FNB/Grocery/QR | IMP (2026-08-12) · mirror APP payment UX |
| WP-FE-PAY-RESULT-02 | D-PAY · D-WALLET | CON | Wallet topup gateway → PaymentResult (Account+Map) | IMP (2026-08-12) |
| WP-PAY-LIVE-01 | D-PAY | API | MoMo/VNPay live | IMP (2026-08-10) VNPay sandbox · return LAN · poll · deeplink welife:// · smoke |
| WP-AUTH-SMS-01 | D-AUTH | API | SMS OTP live (esms) | IMP env (e2e) |
P8 — GAP verticals (mockup Tất cả dịch vụ · 2026-08-04)
Chi tiết: 17-PHASE-P8-GAP-VERTICALS
| WP | Domain | Surfaces | Mục tiêu | Status |
|---|---|---|---|---|
| WP-P8-STUB-01 | P8 | API | Scaffold 6 modules + Prisma | IMP (2026-08-04) |
| WP-CHARGING-01 | D-CHARGING | API | Trạm sạc nearby | IMP (2026-08-04) |
| WP-TRANSIT-01 | D-TRANSIT | API | Xe buýt stops/routes | IMP (2026-08-04) |
| WP-HOME-01 | D-HOME | API | Tại nhà categories/bookings | IMP (2026-08-04) |
| WP-DELIVERY-01 | D-DELIVERY | API | Giao hàng quote/orders | IMP (2026-08-04) |
| WP-QR-01 | D-QR | API | Quét mã resolve + pay | IMP (2026-08-04) |
| WP-BILLS-01 | D-BILLS | API | Hóa đơn providers/pay | IMP (2026-08-04) |
| WP-P8-PARTIAL-01 | multi | API·CON | Villa/bakery/market/skill+catalog | IMP (2026-08-04) |
| WP-FE-P8-TOKENS-01 | P8 FE | CON | Fix type.h2/bodyBold → tokens | IMP (2026-08-04) |
| WP-FE-CHARGING-02 | D-CHARGING | CON | Detail + brand chips + navigate | IMP (2026-08-05) |
| WP-FE-TRANSIT-02 | D-TRANSIT | CON | Stop detail + line filter | IMP (2026-08-05) |
| WP-FE-HOME-02 | D-HOME | CON·API | Provider detail + book + bookings | IMP (2026-08-05) |
| WP-FE-DELIVERY-02 | D-DELIVERY | CON·API | Orders list/detail + cancel | IMP (2026-08-05) |
| WP-FE-QR-02 | D-QR | CON | Resolve samples + result + pay | IMP (2026-08-05) |
| WP-FE-BILLS-02 | D-BILLS | CON | Invoice list/detail + pay | IMP (2026-08-05) |
| WP-UI-BUG-SURFACES-01 | multi | CON·PAR·DRV·ADM | Fix hooks/chat/geo/UX bugs | IMP (2026-08-05) |
| WP-REPO-CLEAN-01 | tooling | — | Root junk + gitignore hygiene | IMP (2026-08-05) |
| WP-REPO-STRUCTURE-02 | tooling | — | design/mockups + structure audit | IMP (2026-08-05) |
Post-audit follow-ups (2026-08-06)
Nguồn: FUNCTIONAL-AUDIT-2026-08-06.md · WP-FUNCTIONAL-AUDIT-01
COMPLETE_WITH_EXTERNAL_BLOCKERS
| WP | Domain | Surfaces | Mục tiêu | Status |
| ----------------------------- | --------------- | --------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| WP-FUNCTIONAL-AUDIT-01 | TOOLING | API | Smoke + extra domain audit · corrected classification | DONE (2026-08-06) |
| WP-FIGMA-FE-AUDIT-01 | DESIGN | CON | Figma access + local inventory + gap matrix + FE queue | DONE (2026-08-06) |
| WP-FIGMA-TOKENS-01 | DESIGN | CON | Expand tokens from local JPG · shared UI wire | DONE (2026-08-06) |
| WP-FIGMA-HOME-NAV-01 | D-PLACE | CON | Replace ServiceStub tiles with real stacks where API exists | IMP (2026-08-06) · navigateService |
| WP-FIGMA-HOME-01 | D-PLACE | CON | Home map visual vs JPG 029311… (Figma sync deferred) | IMP (2026-08-06) · pixel polish JPG |
| WP-FIGMA-HOME-SYNC-01 | D-PLACE | CON | Home Figma 365:10 · header row · solid icons · service drawer | IMP (2026-08-13) · MCP OPEN |
| WP-FIGMA-HOME-MAP-01 | D-PLACE | CON | Home map peek full-bleed · fade · teardrop/photo pins vs 029311… | IMP (2026-08-13) · Figma MCP rate-limit → JPG |
| WP-FE-HOME-MAP-DENSITY-01 | D-PLACE | CON | Map vừa khung · denser nearby pins · badge · PlacesNearby fit + 40 pin | IMP (2026-08-13) · report |
| WP-FE-MAP-LIST-PEEK-01 | D-RENTAL+ | CON | Map đầu list · navbar vuốt xuống mở lớn (Rent·Hotel·Pharmacy·HomeSvc) | IMP (2026-08-13) · report |
| WP-DEMO-SEED-IMG-01 | D-PLACE | API·VPS·CON | Dense Q1 places + images (MinIO local · Unsplash VPS) | IMP (2026-08-13) · report |
| WP-FIGMA-FNB-SYNC-01 | D-FNB | CON | FNB list Figma 25:761 · brand header · Danh mục cards · promo carousel | IMP (2026-08-13) · MerchantListScreen |
| WP-FIGMA-FUEL-SYNC-01 | D-FUEL | CON | Fuel Figma 25:899 · price pins · search/chips · station cards | IMP (2026-08-13) · FuelNearbyScreen + MapPricePin |
| WP-FIGMA-PARK-SYNC-01 | D-PARK | CON | Parking Figma 25:1037 · search overlay · status pins · list sheet cards | IMP (2026-08-13) · ParkingNearbyScreen |
| WP-FIGMA-ATM-SYNC-01 | D-ATM | CON | ATM Figma 25:1232 · bank badge pins · map chips · nearby sheet cards | IMP (2026-08-13) · AtmNearbyScreen + MapBadgePin |
| WP-FIGMA-HOTEL-SYNC-01 | D-HOTEL | CON | Hotel Figma 25:1379 · search/chips · hero cards · Chọn phòng CTA | IMP (2026-08-13) · HotelListScreen |
| WP-FIGMA-RENT-SYNC-01 | D-RENTAL | CON | Rental Figma 25:1686 · brand header · type chips · hero price cards | IMP (2026-08-13) · RentalListScreen |
| WP-FIGMA-RENT-PIXEL-02 | D-RENTAL | CON | Re-sync list-first Figma · «Bản đồ» toggle (bỏ map luôn trên đầu) | IMP (2026-08-14) · report · JPG 0ea6… (MCP rate-limit) |
| WP-FIGMA-HOTEL-PIXEL-01 | D-HOTEL | CON | List-first Figma 25:1379 · «Bản đồ» · detail overlay + map lân cận | IMP (2026-08-17) · report |
| WP-FIGMA-HOTEL-PIXEL-02 | D-HOTEL | CON·API | Lịch tháng · dual slider giá · trừ/hoàn ví WELIFE · thẻ OWNER | IMP (2026-08-17) · report |
| WP-FIGMA-RENT-MEDIA-01 | D-RENTAL | CON·PAR·API | Gallery hiện trạng phòng · upload ảnh/video · carousel 1/N | IMP (2026-08-17) · report · JPG 2e017… 0ea6… |
| WP-FIGMA-RENT-MAP-01 | D-RENTAL | CON | Map đầu trang · pin ảnh phòng + giá/sao · peek card đánh giá | IMP (2026-08-17) · report · JPG 0ea6… |
| WP-FIGMA-RENT-DENSITY-01 | D-RENTAL | CON | 2 cột card · chrome/icon/chữ nhỏ-mỏng · map + pin ảnh to hơn | IMP (2026-08-17) |
| WP-RENT-DEPOSIT-01 | D-RENTAL | CON·PAR·API | Cọc ví escrow 2 bên · hợp đồng online · WELIFE chứng kiến | IMP (2026-08-17) · report |
| WP-DEMO-SEED-MAP-01 | D-PLACE | API | Densify demo map: 8–12 điểm/danh mục + 6 tài xế (seed-map-demo.mjs) | IMP (2026-08-17) · +87 rows local · idempotent |
| WP-DEMO-SEED-GG-01 | D-PLACE | API | POI thật Google Places; key invalid → OSM Overpass HCM vào DB hiện tại | IMP (2026-08-18) · 2066 places · report |
| WP-DEMO-SEED-MENU-01 | D-FNB/GROCERY | API·CON | Backfill menu FNB+grocery cho merchant OSM thiếu món (template VN + ảnh) | IMP (2026-08-22) · 708 quán · 8024 món · report |
| WP-FE-HOME-COMPACT-01 | D-PLACE | CON | Home service grid compact: circle 40 · icon 17 · chữ 9 · pill 28px | IMP (2026-08-17) · ServiceGridItem + QuickDestinationPills |
| WP-FE-HOME-MAP-PINS-01 | D-PLACE | CON | Home map pin ảnh + badge icon danh mục (MapCategoryPin) · limit 40 | IMP (2026-08-17) · categoryIcon mapCategories |
| WP-FE-HOME-DRIVER-PINS-01 | D-RIDES | CON | Home map layer tài xế online · pin icon xe theo vehicleType (🛵/🚗/🚙) | IMP (2026-08-17) · RidesApi.nearbyDrivers 3km |
| WP-FE-HOME-MAP-EXPAND-01 | D-PLACE | CON | Vuốt xuống Map tab → map rộng · vuốt lên lưới dịch vụ · pan/zoom khi mở | IMP (2026-08-17) |
| WP-FE-HOME-EXPLORE-COMPACT-01 | D-PLACE | CON | Home «Khám phá gần bạn» compact (icon 22 · card 48) | IMP (2026-08-18) |
| WP-FE-MAP-HOME-STD-01 | D-PLACE·RIDES | CON | Map/sheet CON = Home 68% · pan mượt · icon pill | IMP (2026-08-18) · NearbyMapSheet + Ride overlay |
| WP-FE-MAP-NATIVE-01 | D-PLACE | CON | Khôi phục MapView Android · Mapbox UrlTile Home/sheet | IMP (2026-08-21) · report |
| WP-FE-MAP-LIST-TPL-01 | D-HOTEL·RENTAL | CON | Template map trên + pin ảnh + card 2 cột (KS/trọ/trường/tại nhà) | IMP (2026-08-18) · report |
| WP-FE-MAP-LIST-TPL-02 | D-FNB·FUEL·… | CON | Map đầu trang + pin ảnh khi có media (FNB·xăng·thuốc·ATM·đỗ·siêu thị·y tế·sạc·buýt) | IMP (2026-08-18) · report |
| WP-FE-MAP-EXPAND-SWIPE-01 | D-PLACE | CON | Vuốt xuống map nearby → bản đồ lớn (overlay, không để MapView nuốt gesture) | IMP (2026-08-18) · report |
| WP-FE-MAP-EXPAND-TOOLS-01 | D-PLACE | CON | Map lớn: zoom ± · GPS · fit pin · lớp Đường/Vệ tinh · giao thông · POI native | IMP (2026-08-18) · report |
| WP-FIGMA-RENT-TOUR-01 | D-RENTAL | CON | Bỏ chỉ đường trên tin · Ảnh/Video/Map phố (Street View) · chrome compact | IMP (2026-08-17) · report · JPG 0ea6… |
| WP-FIGMA-REELS-PIXEL-01 | D-SOCIAL | CON | Tab Reels full-bleed video · overlay Figma 9a111… (header/side/caption/đĩa nhạc) | IMP (2026-08-18) · report |
| WP-FIGMA-SOC-PIXEL-02 | D-SOCIAL | CON | Social search + lưới 2 cột Video đề xuất vs 9a111… | IMP (2026-08-18) · report |
| WP-ADM-AGENT-GATE-01 | D-DOCS | ADM · API | OWNER pause/duyệt WP agent · Dashboard Agent · agent-owner-gate.json | IMP (2026-08-18) · report |
| WP-ADM-AGENT-GATE-02 | D-DOCS | ADM · API | Catalog WP click-to-approve trên Dashboard Agent (AI) | IMP (2026-08-18) · report |
| WP-ADM-HUB-01 | D-USER | ADM · API | Super-admin Gmail · KPI users/đặt xe/giao hàng · phân quyền JWT | IMP (2026-08-20) · report |
| WP-FIGMA-SOC-PIXEL-03 | D-SOCIAL | CON | Create · Comments · Profile pixel vs 9a111… | IMP (2026-08-18) · report |
| WP-RIDE-API-AUDIT-01 | D-RIDES | CON·API·DRV | Smoke quote→create→track→cancel · gap match/pay UI | AUDIT (2026-08-14) · report |
| WP-RIDE-MATCH-UX-01 | D-RIDES | CON·API | Matching timeout 45/120s · rematch · no-driver banner | IMP (2026-08-14) · report |
| WP-FIGMA-SCHOOL-SYNC-01 | D-SCHOOL | CON | School Figma 26:2958 · map search · type pins · hero cards · Chi tiết CTA | IMP (2026-08-13) · SchoolListScreen + MapBadgePin caption |
| WP-FIGMA-RIDE-SYNC-01 | D-RIDES | CON | Ride Figma 28:3207 · brand · dest search · vehicle sheet · Đặt xe ngay | IMP (2026-08-13) · RideQuoteScreen + RideHomeScreen shell |
| WP-FIGMA-MARKET-SYNC-01 | D-GROCERY | CON | Market Figma 25:1550 · deliver · categories · HOT DEAL · store carousel | IMP (2026-08-13) · GroceryHomeScreen |
| WP-FIGMA-MED-SYNC-01 | D-MED | CON | Medical Figma 25:1858 · 115 banner · specialties · nearby · online doctors | IMP (2026-08-13) · MedicalListScreen |
| WP-FIGMA-PHARM-SYNC-01 | D-PHARM | CON | Pharmacy 25:2014 · JPG 24c3… fallback (MCP limit) · categories · nearby | IMP (2026-08-13) · PharmacyListScreen |
| WP-FIGMA-SYS-STATES-01 | System | CON | Wire Empty/Offline/Error from 868c944… across lists | IMP (2026-08-06) · useOnline + ListStateGate |
| WP-FIGMA-AUTH-SHELL-01 | D-AUTH | CON | Splash·Onboard·Location·Login shell vs bfb028… (email OTP) | IMP (2026-08-06) · visual shell polish |
| WP-SMOKE-IDEMPOTENCY-01 | TOOLING | API | Harden driver.register / partner.onboarding re-run + error codes | IMP (2026-08-06) · 409 ALREADY_REGISTERED |
| WP-CHAT-AUTH-E2E-01 | D-CHAT | API | Socket.IO /chat JWT join/send/ack/persist (no device) | IMP (2026-08-06) · report |
| WP-ROUTING-PROVIDER-01 | D-ROUTE | API | OSRM/Mapbox vs Haversine evidence · không bịa credential | IMP (2026-08-06) · report |
| WP-AUTH-GOOGLE-LIVE-01 | D-AUTH | CON·API | Real Google Web Client ID + live idToken verify | IMP (2026-08-10 · OWNER confirm OK trên app) · report |
| WP-AUTH-FIREBASE-HYBRID-01 | D-AUTH | CON·API | Firebase Auth IdP → Nest JWT (welife-2412) · Email/Google/Phone | IMP code (2026-08-07) · OWNER Console/SA · report |
| WP-AUTH-FIREBASE-WEB-01 | D-AUTH | CON | Web app + Email/Google Auth deploy · Firestore users · Firebase-first login | IMP code (2026-08-10) · OWNER firebase-owner-setup.mjs · report |
| WP-AUTH-SHARED-01 | D-AUTH | CON·API | SSO HomeFix Nest users ↔ WELIFE · Firebase FCM vẫn riêng | IMP code (2026-08-13) · OWNER SHARED_AUTH_* · report |
| WP-RIDE-PAY-REFUND-02 | D-RIDES | CON·DRV·API | Hoàn ví/gateway khi user/driver/admin hủy | IMP (2026-08-13) · report |
| WP-RIDE-SETTLE-01 | D-RIDES | DRV·API | Settle lúc complete · earnings + platform fee 15% | IMP (2026-08-13) |
| WP-RIDE-PROMO-01 | D-RIDES | CON·API | promoCode trên create ride · discount BE | IMP (2026-08-13) |
| WP-RIDE-PAY-GATEWAY-01 | D-RIDES | CON·API | MoMo/VNPay RIDE_PAY gắn ride · PREPAID trước match | IMP (2026-08-13) |
| WP-FE-RIDE-PAY-GATEWAY-02 | D-RIDES | CON | Quote MoMo/VNPay · mở payUrl · Matching AWAITING_PAYMENT | IMP (2026-08-14) · report |
| WP-FE-RIDE-MAP-SHEET-01 | D-RIDES | CON | RideHome MapView + sheet kéo lên UI / kéo xuống map | IMP (2026-08-14) · report |
| WP-FE-RIDE-UI-01 | D-RIDES | CON | Gọi xe compact · thẻ loại xe nhỏ · map lộ trình Đón/Đến | IMP (2026-08-17) · RideHome + RideQuote + RideLiveMap |
| WP-FE-RIDE-UI-02 | D-RIDES | CON | RideQuote: hàng chọn xe 1 dòng · chip pay đều · summary trước CTA | IMP (2026-08-17) · RideQuote + rideVehicles.shortName |
| WP-FE-PAY-MOMO-HIDE-01 | D-PAY | CON | Ẩn MoMo checkout (resultCode 13) · Ví/gọi xe mặc định VNPay/tiền mặt | IMP (2026-08-17) · gatewayFlags + RideQuote + WalletAction |
| WP-PAY-VNPAY-RIDE-RETURN-01 | D-PAY · D-RIDES | CON·API | Bỏ welife:// khỏi vnp_ReturnUrl · return HTTPS + HTML deeplink | IMP (2026-08-17) · RideQuote + PaymentsService |
| WP-RIDE-ROUTE-FARE-01 | D-RIDES | CON·API | Quote+map theo tuyến driving · không polyline chim bay | IMP (2026-08-17) · RidesService.directions + RideLiveMap |
| WP-RIDE-GPS-LIVE-02 | D-RIDES | CON·DRV·API | GPS tài xế realtime trên map CON · fallback lastLat · sim khi chưa ping live | IMP (2026-08-17) · RideLiveMap follow + trail · tracking fallback · RidesGpsSim · driver broadcast |
| WP-RIDE-GPS-ROAD-01 | D-RIDES | CON·DRV·API | Sim GPS + vệt map đi theo tuyến driving · không chim bay / vòng giả | IMP (2026-08-17) · stepAlongPolyline + remain useRideRoadPolyline · InTrip bỏ sine GPS |
| WP-RIDE-GPS-PAX-01 | D-RIDES | CON·DRV·API | GPS hành khách 3s persist + icon Đón/Đến · pin xe+biển số+tên · avatar bạn | IMP (2026-08-17) · ride:passenger-location + POST /rides/:id/passenger-location |
| WP-RIDE-GPS-PING-02 | D-RIDES | CON·DRV·API | Audit GPS user · ping-pong WS-first · nearby bbox · chống spoof | IMP (2026-08-19) · report |
| WP-FE-RIDE-PHASE-UX-01 | D-RIDES | CON·DRV | Tuyến đón 1 màu · pin user = điểm đón · realtime đón/trong chuyến · rate+cash | IMP (2026-08-17) · RideLiveMap polylineColor · Detail alert rate/tiền mặt · DRV nav dropoff |
| WP-FE-RIDE-PIN-AVATAR-01 | D-RIDES | CON | Pin map hiện avatar ảnh/chữ cái + icon xe · không vector-icon trong Marker | IMP (2026-08-17) · RideLiveMap AvatarPin + badge 🛵🚗 · UserAvatar fallback URL lỗi |
| WP-FE-RIDE-PIN-SMOOTH-01 | D-RIDES | CON | Chip tên/avatar đủ khung · GPS nội suy không giật | IMP (2026-08-17) · useSmoothCoord + markerRoot 152px · camera follow throttle |
| WP-FE-RIDE-PIN-CROP-01 | D-RIDES | CON | Logo/avatar pin map không cắt cánh · khung Marker Android đủ chỗ | IMP (2026-08-17) · contain + inset · markerFrame |
| WP-FE-RIDE-PIN-OVERLAY-01 | D-RIDES | CON | Pin tên/icon không cắt nửa · overlay RN thay Marker snapshot Android New Arch | SUPERSEDED · overlay bị MapView native đè / không vẽ · xem WP-FE-RIDE-PIN-NATIVE-01 |
| WP-FE-RIDE-PIN-NATIVE-01 | D-RIDES | CON | Icon gọi xe (bike/car) + Đón/Đến = Marker image PNG, không snapshot View | IMP (2026-08-17) · report |
| WP-FE-RIDE-SHEET-DRAG-01 | D-RIDES | CON | Sheet map↔thông tin kéo được ở Quote/Matching/Detail (hook chung) | IMP (2026-08-17) · useOverlaySheetDrag + overlaySheetLevels (unit test) |
| WP-FE-RIDE-SHEET-COMPACT-01 | D-RIDES | CON | Sheet thấp · icon KM nhỏ · padding đặc các màn gọi xe | IMP (2026-08-17) · peek 26–36% · PromoCheckoutField gọn · Quote/Match/Detail denser |
| WP-FE-RIDE-SEARCH-TOP-01 | D-RIDES | CON | Ô điểm đón + điểm đến sát header (không trong sheet) | IMP (2026-08-17) · report · JPG 090d… |
| WP-FE-RIDE-SEARCH-MAP-01 | D-RIDES | CON | Reverse-geocode trên thanh · ghim pin map · chạm map chọn điểm | IMP (2026-08-17) · report |
| WP-FE-RIDE-PIN-CONFIRM-01 | D-RIDES | CON | Thả ghim điểm đón → xác nhận → điểm đến → xác nhận → xem giá | IMP (2026-08-17) · report |
| WP-FE-RIDE-HUB-SHEET-01 | D-RIDES | CON | Sheet gọi xe kiểu Grab: loại xe · giá · hay đi · hoạt động · bỏ Gần đây | IMP (2026-08-17) · report |
| WP-FE-RIDE-BOOK-FLOW-01 | D-RIDES | CON | Audit bước đặt xe: GPS đón sẵn → tìm đến → Đặt xe · ghim map nhánh phụ | IMP (2026-08-17) · report |
| WP-FE-RIDE-PICKUP-NEARBY-01 | D-RIDES | CON | Ấn ô đón: GPS + điểm đón quanh bạn (list + pin map) + ghim Đón | IMP (2026-08-17) · report |
| WP-RIDE-ARRIVE-NOTIF-01 | D-RIDES·D-NOTIF | CON·DRV·API | Tài xế «đã đến đón» → notif khách · màn DRV ≠ CON | IMP (2026-08-17) · report |
| WP-RIDE-ARRIVE-GEO-01 | D-RIDES·D-NOTIF | CON·DRV·API | GPS tài xế ≤50 m người gọi xe → auto ARRIVED + push «đã đến» | IMP (2026-08-18) · shouldAutoArrivePickup + ride.arrived CON |
| WP-DOC-MOBILITY-MATRIX-01 | D-RIDES·D-DOCS | docs | Matrix gọi xe / FNB / delivery / school + thoát app | IMP (2026-08-18) · MOBILITY-MATRIX |
| WP-RIDE-SWAP-01 | D-RIDES | CON | Nút đổi chiều đón↔đến Home + Quote | IMP (2026-08-18) · RideHome + RideQuote swap-vertical |
| WP-RIDE-LOC-MODEL-01 | D-RIDES | CON·DRV·API | SELF vs FOR_OTHER · đặt hộ không GPS booker · arrive 50 m theo mode | IMP (2026-08-18) · bookingMode Ride/Quote |
| WP-RIDE-BOOK-FOR-01 | D-RIDES | CON·DRV·API | Đặt hộ: tên/SĐT/ghi chú + nhãn đón/đến · DRV gọi rider | IMP (2026-08-18) · Prisma rider* · InTrip |
| WP-DELIVERY-MATCH-01 | D-DELIVERY | CON·DRV·API | Clone matching Ride cho DeliveryOrder · không dùng Ride | IMP (2026-08-18) · driverId + /delivery/driver/* · Home DRV đơn giao |
| WP-FNB-COURIER-01 | D-FNB·D-GROCERY | CON·DRV·PAR·API | Shipper trên Order sau PAR nhận · không Ride.FOOD | IMP (2026-08-18) · orders.driverId · /orders/driver/* |
| WP-FE-DELIVERY-ORDER-01 | D-DELIVERY | CON | Ô Home «Đặt hàng» icon chim 1 cánh quắp hàng · điểm lấy/giao GPS + địa chỉ thật | IMP (2026-08-18) · report · BirdParcelIcon + deliveryOrder |
| WP-FE-DELIVERY-TRACK-01 | D-DELIVERY | CON·DRV·API | Map theo dõi · timeline trạng thái · ảnh hàng/lấy/giao · poll GPS tài xế | IMP (2026-08-18) · report · RideLiveMap + /tracking |
| WP-DELIVERY-MEDIA-01 | D-DELIVERY | CON·DRV·API | Prisma 3 URL ảnh · upload lúc đặt/lấy/giao | IMP (2026-08-18) · migration 20260818140000_delivery_media |
| WP-FE-DELIVERY-MAPBOX-01 | D-DELIVERY | CON·DRV | Mapbox Streets trên Đặt hàng + theo dõi đơn · tuyến driving Mapbox/OSRM | IMP (2026-08-19) · report · UrlTile + EXPO_PUBLIC_MAPBOX_TOKEN |
| WP-DELIVERY-VEHICLE-01 | D-DELIVERY | CON·DRV·API | 5 loại xe giao + icon + tải trọng + giá km đầu/tiếp + 7 tuyến cố định HCM | IMP (2026-08-19) · report |
| WP-FE-RIDE-ENROUTE-MAP-01 | D-RIDES | CON | Pin không ô trắng · tuyến đón + ETA lúc tài xế đang đến | IMP (2026-08-17) · report |
| WP-FE-ANDROID-NAV-INSET-01 | D-RIDES | CON | CTA/tab không bị thanh điều hướng Android che (edge-to-edge) | IMP (2026-08-17) · report |
| WP-FE-RIDE-MAP-CTRL-01 | D-RIDES | CON | Nút bản đồ: bám tài xế · về điểm đón · xem toàn tuyến | IMP (2026-08-17) · RideLiveMap showControls |
| WP-FE-RIDE-MAP-PINS-01 | D-RIDES | CON·API | Pin map: nút nhỏ · avatar user 22px · tài xế gần 44px · tài xế ghép 56px | IMP (2026-08-17) · GET /rides/nearby-drivers + RideLiveMap avatar pins |
| WP-FE-RIDE-MAP-ZOOM-01 | D-RIDES | CON | Map gọi xe zoom sát user (~550 m) khi chưa có điểm đến | IMP (2026-08-18) · RideLiveMap USER_LAT_DELTA 0.005 + userStreetZoom |
| WP-FE-RIDE-PIN-SIZE-01 | D-RIDES | CON | Icon tài xế lớn hơn: gần 56px · ghép 64px · PNG xe 192px | IMP (2026-08-18) · RideLiveMap + NativeBitmapMarker size |
| WP-FE-RIDE-SEARCH-ADDR-01 | D-RIDES·D-ROUTE | CON·API | Ô đón/đến: đúng số nhà · nút X xoá · không GPS che lúc gõ | IMP (2026-08-18) · RideHome X + geocode không át POI hub |
| WP-FE-RIDE-LAYOUT-01 | D-RIDES | CON | Bố cục Gọi xe: search card · quick grid Nhà/Ghim · tab loại xe · sheet | IMP (2026-08-18) · mockup 090d… · RideHome + RideServiceTiles |
| WP-FE-RIDE-UI-ICON-01 | D-RIDES | CON | Icon xe SVG · hàng chọn xe không cắt · pin Đón/Đến Image | IMP (2026-08-19) · report |
| WP-FE-RIDE-UI-ICON-02 | D-RIDES | CON·DRV | Icon xe PNG 3D Bike/Car/SUV 7 chỗ · pin map radar · CSS contain | IMP (2026-08-19) · report |
| WP-RIDE-VEHICLE-05 | D-RIDES | CON·API·DRV | 5 loại xe 1 hàng: Bike · VIP · Car · Plus · 7 chỗ | IMP (2026-08-19) · report |
| WP-FE-RIDE-HEADING-01 | D-RIDES | CON·DRV | Icon vector đầu/đuôi · xoay theo hướng chạy + la bàn IMU | IMP (2026-08-19) · report |
| WP-FE-RIDE-ICON-ALIGN-01 | D-RIDES | CON·DRV | Icon map nhỏ hơn · vuông · mũi bám polyline (không lệch tuyến) | IMP (2026-08-19) · report |
| WP-RIDE-VIRTUAL-FLEET-01 | D-RIDES | API·CON·DRV | 36 tài xế mồi HCM (isVirtual) · match thật trước · sim tuyến + đèn/cua | IMP (2026-08-19) · report |
| WP-FE-RIDE-ROUTE-PIN-01 | D-RIDES | CON | Fit tuyến khỏi sheet · pin USER/DRIVER PNG theo loại xe | IMP (2026-08-19) · report |
| WP-FE-RIDE-SEARCH-GG-01 | D-RIDES·D-ROUTE | CON·API | Tìm Google-first · ẩn sheet Hoạt động · gợi ý realtime dưới ô tìm | IMP (2026-08-18) · googleFirst autocomplete · gõ 366 |
| WP-RIDE-AUDIT-BOOKING-01 | D-RIDES | CON·API | Audit đặt xe: TLS làm routing fallback chim bay · smoke 13 check | IMP (2026-08-17) · report · npm run smoke:ride |
| WP-ROUTE-AUTOCOMPLETE-02 | D-ROUTE | API, CON | Autocomplete OSM/Mapbox fallback · Chỉ đường «Tìm đường» + geocode bias | IMP (2026-08-14) · report |
| WP-ROUTE-HOUSE-SEARCH-01 | D-ROUTE | API·CON | Tìm số nhà / tên tòa: Google trước POI · không bị reverse-geocode xóa chữ | IMP (2026-08-17) · report |
| WP-ROUTE-GOOGLE-MATCH-01 | D-ROUTE | API | Places New + chấm điểm số nhà/đường · Mapbox types=address khi key Google invalid | IMP (2026-08-17) · OWNER paste key valid · report |
| WP-RIDE-MATCH-01 | D-RIDES | DRV·API | Auto/geo match · available sort theo GPS tài xế | IMP (2026-08-13) |
| WP-AUTH-REGISTER-01 | D-AUTH | CON·API | Register Firebase→Nest OTP · prod-local OTP không SMTP · lỗi VI | IMP (2026-08-11) |
| WP-AUTH-GMAIL-OTP-01 | D-AUTH | API·VPS | OTP email qua Gmail SMTP authenticated · sync VPS · mailSent smoke | IMP (2026-08-11) |
| WP-FE-AUTH-PHONE-UI-01 | D-AUTH | CON | Phone+OTP shell vs bfb028… · numpad · social · phone-first khi Firebase ON | IMP (2026-08-10) · PhoneFirebaseScreen + PhoneNumpad |
| WP-FE-AUTH-SMS-ESMS-01 | D-AUTH | CON, API | Phone login Nest eSMS (thay Firebase Phone) · /auth/otp/send | verify | IMP (2026-08-14) · report |
P9 — Figma/JPG function-on-image (2026-08-15)
Chi tiết + AC: 19-FIGMA-FUNCTION-QUEUE.md · JSON:
figma-fe-work-queue.jsonKhông thêm*Screen.tsx· không invent API · Read JPG trước code.
| WP | Domain | Surfaces | Việc | Status |
|---|---|---|---|---|
| WP-DOC-P9-FN-QUEUE-01 | D-DOCS | docs | Tổ chức queue P9 + nextRecommended | IMP (2026-08-15) |
| WP-DOC-AUDIT-01 | D-DOCS | docs | Audit tài liệu P9 + entry-point stale | IMP (2026-08-17) |
| WP-FIGMA-FN-FNB-01 | D-FNB | CON | Menu/cart/track/rate vs 44ba… 0beb… |
IMP (2026-08-15) |
| WP-FIGMA-FN-GROCERY-01 | D-GROCERY | CON | Store/filter/checkout vs 160bc… |
IMP (2026-08-15) |
| WP-FIGMA-FN-RIDE-01 | D-RIDES | CON | Matching/in-trip/chat vs 090d… |
IMP (2026-08-15) |
| WP-FIGMA-FN-HOTEL-01 | D-HOTEL | CON | Filter/room/confirm vs 934d… |
IMP (2026-08-15) |
| WP-FIGMA-FN-RENT-01 | D-RENTAL | CON | Filter/saved/compare vs 0ea6… |
IMP (2026-08-15) |
| WP-FIGMA-FN-MED-01 | D-MED | CON | 115/specialty/doctor/map/chat vs f16b… |
IMP (2026-08-15) |
| WP-FIGMA-FN-PHARM-01 | D-PHARM | CON | Category/Rx/cart vs 24c3… 51ff… |
IMP (2026-08-15) |
| WP-FIGMA-FN-PARK-01 | D-PARK | CON | Filter/detail/book vs 25af… |
IMP (2026-08-15) |
| WP-FIGMA-FN-FUEL-01 | D-FUEL | CON | Filter/detail/route vs 2905… |
IMP (2026-08-15) |
| WP-FIGMA-FN-ATM-01 | D-ATM | CON | Filter/detail/cash vs 6c9b… |
IMP (2026-08-15) |
| WP-FIGMA-FN-SCHOOL-01 | D-SCHOOL | CON | Filter/compare/consult vs 706f… |
IMP (2026-08-15) |
| WP-FIGMA-FN-HOME-01 | D-PLACE | CON | Pills/explore/search vs 0293… 61a37… |
IMP (2026-08-15) |
| WP-FIGMA-FN-WALLET-01 | D-WALLET | CON | Methods/add-card/stats/topup vs 6183… |
IMP (2026-08-15) |
| WP-FIGMA-FN-SOC-01 | D-SOCIAL | CON | Create/comments/profile/follow vs 9a111… |
IMP (2026-08-15) |
| WP-FIGMA-REELS-PIXEL-01 | D-SOCIAL | CON | Tab Reels full-bleed vs 9a111… |
IMP (2026-08-18) |
| WP-FIGMA-SOC-PIXEL-02 | D-SOCIAL | CON | Search + lưới Video đề xuất vs 9a111… |
IMP (2026-08-18) |
| WP-ADM-AGENT-GATE-01 | D-DOCS | ADM | OWNER pause/duyệt WP agent | IMP (2026-08-18) |
| WP-ADM-AGENT-GATE-02 | D-DOCS | ADM | Catalog WP click trên Agent (AI) | IMP (2026-08-18) |
| WP-ADM-HUB-01 | D-USER | ADM | Super-admin Gmail + KPI + phân quyền | IMP (2026-08-20) |
| WP-ADM-ROLES-01 | D-USER | ADM | Ma trận 4 hat × 7 JWT · gán theo nhóm | IMP (2026-08-20) |
| WP-ADM-ROLES-02 | D-USER | ADM·API | CRUD tài khoản theo hat · khoá OTP/JWT | IMP (2026-08-20) |
| WP-ADM-SESSION-01 | D-AUTH | ADM | Persist JWT Dashboard · OTP/password chung app | IMP (2026-08-20) |
| WP-FE-ADM-LOGIN-01 | D-AUTH | ADM | Login UI giống app · Google GIS /auth/google |
IMP (2026-08-20) |
| WP-ADM-AUDIT-01 | D-DOCS | ADM | Audit 19 màn vs ma trận · plan gap | IMP (2026-08-20) |
| WP-FE-ADM-IA-01 | Platform | ADM | Nav VI · nhóm việc · mục đích · Health thẻ | IMP (2026-08-20) |
| WP-ADM-DELIVERY-OPS-01 | D-DELIVERY | ADM·API | Chi tiết + hủy đơn giao (cần PATCH admin) | DOC |
| WP-FE-ADM-OPS-SPLIT-01 | D-FNB | ADM | Filter grocery vs FNB trên Ops | DOC |
| WP-FE-ADM-DRIVER-CAP-01 | D-DRIVER | ADM | Checkbox capability RIDE/COURIER/DELIVERY | DOC |
| WP-ADM-MOD-01 | D-SOCIAL | ADM·API | Moderation social/review/chat | DOC · OWNER |
| WP-ADM-MAP-CMS-01 | D-PLACE | ADM | ATM/sạc/buýt CMS (Places hoặc overview) | DOC |
| WP-ADM-PAY-OPS-01 | D-PAY | ADM | Payment ops sau OWNER Pay | DOC · OWNER |
| WP-FIGMA-SOC-PIXEL-03 | D-SOCIAL | CON | Create/Comments/Profile vs 9a111… |
IMP (2026-08-18) |
| WP-FIGMA-FN-ROUTE-01 | D-ROUTE | CON | 4 nav screens CTA vs b6ccd… |
IMP (2026-08-15) |
| WP-FIGMA-FN-AUTH-01 | D-AUTH | CON | Account/settings/saved/activity/AI vs bfb028… |
IMP (2026-08-15) |
| WP-FIGMA-FN-SYS-01 | D-SYS | CON | Empty/offline/GPS/pay vs 868c… |
IMP (2026-08-15) |
| WP-FIGMA-FN-PAR-FNB-01 | D-FNB | PAR | Tạo món/nhận đơn/sửa quán vs 1970… ad9d… |
IMP (2026-08-15) |
| WP-FIGMA-FN-PAR-FUEL-01 | D-FUEL | PAR | Cập nhật giá xăng vs 7971… |
IMP (2026-08-15) |
| WP-FIGMA-FN-PAR-PARK-01 | D-PARK | PAR | Slot/gate/pricing vs 031d… 5ad2… |
IMP (2026-08-15) |
| WP-FIGMA-FN-PAR-HOTEL-01 | D-HOTEL | PAR | Hạng phòng/đơn/KM vs 14e5… 40e7… |
IMP (2026-08-15) |
| WP-FIGMA-FN-PAR-RENT-01 | D-RENTAL | PAR | Đăng tin/tiện ích/KYC vs cfcf… 2e017… |
IMP (2026-08-15) |
| WP-FIGMA-FN-PAR-SCH-01 | D-SCHOOL | PAR | HV/CT/reviews vs f311… |
IMP (2026-08-15) |
| WP-FIGMA-FN-PAR-PHARM-01 | D-PHARM | PAR | Toa/kho/reviews vs 56cd… |
IMP (2026-08-15) |
| WP-FIGMA-FN-PAR-MED-01 | D-MED | PAR | BN/toa/lịch vs 679af… |
IMP (2026-08-15) |
| WP-FIGMA-FN-DRV-01 | D-DRIVER | DRV | Trip/accept/in-trip vs 7b769… |
IMP (2026-08-15) |
Quy tắc chọn WP cho AI
- Soft next =
STATUS.md. «tiếp» → P9 hết (DONE_QUEUE) · OWNER Pay/SMS/MoMo. BE STUB empty — không invent API. - Một turn / PR = một WP · OWNER secret không fake.
- Vertical có Partner: Wave C riêng sau CON pack.
- Cập nhật doc 19 + JSON + file này + STATUS.md khi Done P9 WP.
| WP | Domain | Surfaces | Việc | Status |
|---|---|---|---|---|
| WP-DOC-STATUS-01 | D-DOCS | docs | Snapshot STATUS + đồng bộ entry-point docs | IMP (2026-08-14) |
| WP-DOC-AUDIT-01 | D-DOCS | docs | Audit tài liệu P9 + sửa entry-point stale | IMP (2026-08-17) |
| WP-UI-BTN-COMPACT-01 | D-UI | CON·DRV·PAR | Nút CTA nhỏ hơn (h40 · type.button 13) · cân Home | IMP (2026-08-14) |
| WP-UI-CHIP-COMPACT-01 | D-UI | CON | Chip/filter/Grocery compact (h32 · 10×5) | IMP (2026-08-14) |