WELIFE — Báo cáo tổng hợp hiện trạng
Snapshot lịch sử 2026-07-27 (268 ops / 33 tags). Số live + soft next:
STATUS.md· audit tài liệu DOCS-AUDIT-2026-08-17. Ngày: 2026-07-27 Repo: monorepowelife(NestJS API + Expo Consumer / Driver / Partner + Dashboard) Nguồn số liệu BE lúc chụp:npm run audit:refresh· ma trận 01-MATRIX-TRACEABILITY.md · FE audit 11-FE-SURFACE-AUDIT.md
1. Tóm tắt một trang
WELIFE là siêu ứng dụng lifestyle Việt Nam (map + gọi xe + F&B + đô thị + ví), 3 client Expo + Dashboard admin dùng chung một NestJS API.
| Hạng mục | Giá trị |
|---|---|
| Swagger tags | 33 |
| Operations | 268 |
| IMP (business thật) | 268 |
| STUB (contract only) | 0 |
| Domain BE tags | 33 IMP · 0 STUB |
| Apps FE | Consumer mobile/ · Driver :8082 · Partner :8083 · Dashboard :5173 |
| Dashboard admin | WP-DASH-SCHOOL IMP (KYC · Partner · Driver · Hotel · Medical · Pharmacy · School · Support · Health) |
| Infra local | Postgres+PostGIS :5434 · Redis :6380 · MinIO :9000/9001 |
Smoke chain: 44/44 PASS (avg 95.3%) — cần docker compose up -d minio trước smoke media.
Đã chạy end-to-end: OTP → user → places → media → địa chỉ → ví → F&B/grocery → ride+GPS WS → driver trip → partner onboarding → ATM/parking/fuel → hotels/rentals → pharmacy/medical/schools → reviews/promo/support/routing/kyc → chat WS + social + notif.
2. Kiến trúc đang có
Consumer (Expo) ─┐
Driver (Expo) ─┼─► NestJS api/ :3000 ─► Postgres+PostGIS
Partner (Expo) ─┤ │ Redis (OTP + blacklist)
Dashboard (Vite)─┘ ├─► MinIO (media)
├─► Socket.IO /chat · /rides
└─► Swagger /docs
| Path | Vai trò | Trạng thái |
|---|---|---|
api/ |
NestJS · Prisma 6 · JWT · Swagger · WS | 265/265 IMP |
mobile/ |
Consumer Expo | Auth + tabs + verticals P1/P2/P3 IMP |
driver/ |
Driver Expo :8082 | Auth + register + trip + GPS mô phỏng |
partner/ |
Partner Expo :8083 | Auth + onboarding + F&B + hotel/rental screens |
dashboard/ |
Admin Vite :5173 | OTP ADMIN + KYC/Partner/Driver/Health modules |
docs/ |
Ma trận, audit, local test, deploy | Đồng bộ 2026-07-27 |
deploy/ |
Nginx mẫu | DOC |
secrets/ |
Credential local | gitignore — không đẩy GitHub |
3. Chức năng đã IMP
3.1 Platform
| Domain | Tag | Ops | Nội dung chính |
|---|---|---|---|
| Health | health |
5 | /health, /env, /deps, admin |
| Auth | auth |
13 | OTP, refresh, logout, sessions, 2FA verify/disable, social |
| User | users |
2 | GET/PATCH /users/me |
| Places | places |
2 | Nearby PostGIS + detail |
| CMS | cms |
2 | Terms / privacy |
| Media | media |
9 | Upload MinIO + presign + multipart |
| Addresses | addresses |
7 | CRUD + default |
| Favorites | favorites |
4 | Polymorphic CRUD |
| Wallet | wallet |
8 | Balance, topup/withdraw/transfer |
| Payments | payments |
12 | MOCK/MoMo/VNPay |
| Notifications | notifications |
8 | In-app + Expo push |
| Assistant | assistant |
4 | LLM + rule fallback |
| Chat | chat |
11 | DM + calls + Socket.IO |
| Social | social |
23 | Posts/NEWS/Reels + friends |
| Partners | partners |
8 | Onboarding, admin, staff, analytics |
| KYC | kyc |
4 | Submit + admin review |
| Support | support |
4 | Tickets |
| Routing | routing |
3 | Directions + geocode (Mapbox optional) |
| Reviews | reviews |
6 | Polymorphic + partner reply |
| Promotions | promotions |
4 | Validate · claim · mine |
3.2 Verticals
| Domain | Tag | Ops | Nội dung |
|---|---|---|---|
| F&B + Grocery | merchants+cart+orders |
27+ | List/menu, cart, order, kind=GROCERY |
| Rides | rides |
7 | Quote, create, cancel, GPS WS |
| Driver | driver |
16 | Register, KYC, trip flow, earnings |
| ATM/Park/Fuel | atm/parking/fuel |
18 | Nearby + bookings |
| Hotels | hotels |
11 | Nearby + book + partner |
| Rentals | rentals |
9 | Listings + viewings |
| Pharmacy | pharmacy |
8 | Nearby + prescriptions |
| Medical | medical |
7 | Clinics + appointments |
| Schools | schools |
6 | Listings + consultations |
3.3 FE surfaces
| App | Đã có |
|---|---|
| Consumer | Home grid, Wallet, F&B, Grocery, Rides, Park/Fuel/ATM, Hotel, Rental, Pharm/Med/School, Routing polyline, Support, KYC, 2FA, Reviews, Promo, Chat, Social |
| Driver | OTP, register, trip, GPS mô phỏng |
| Partner | OTP, onboarding, F&B + Hotel/Rental/Pharm/Med/School/Parking/Fuel |
| Dashboard | OTP ADMIN, eKYC, partner/driver, Hotel/Medical/Pharmacy/School, Support desk, health |
4. Gap còn lại (soft — post-BE)
BE queue DONE. Xem 11-FE-SURFACE-AUDIT.md:
| # | WP | Mục tiêu |
|---|---|---|
| — | media.upload |
|
| — | ||
| — | ||
| — | ||
| — | ||
| — | ||
| — | ||
| — | ||
| — | ||
| — | ||
| — |
Soft queue polish: empty.
Nợ sản phẩm: xem plan 12-NEXT-WORK-PLAN.md — pixel JPG · seed partnerOrg · Partner depth · P4 harden/pay/SMS.
5. Design assets
| Asset | Số lượng | Trên GitHub |
|---|---|---|
| Mockup JPG (root) | 39 | Có — design-index.md |
| PDF UI export | 40 (~351 MB) | Không — gitignore |
| Figma | tùy share | MCP Figma khi có URL |
6. Kiểm thử local
Theo LOCAL-TEST.md:
| Gate | Kết quả |
|---|---|
npm run audit:refresh |
265/0 PASS |
| Smoke chain | 44/44 |
| Dashboard build | PASS |
npm run infra:up # postgres redis minio
npm run api:dev
node scripts/smoke-chain-audit.mjs
7. Tài liệu liên quan
| File | Mục đích |
|---|---|
| 11-FE-SURFACE-AUDIT.md | Audit FE/surface + soft queue |
| 09-AGENT-AUDIT-QUEUE.md | Queue agent (BE done) |
| GAP-BE-VS-MATRIX.md | Gap snapshot |
| SWAGGER-AUDIT.md | Ops theo tag |
8. Kết luận
Repo welife đã đóng 100% BE Swagger STUB→IMP (265 ops). Soft FE/surface polish queue: DONE.