WELIFE Docs Swagger Admin Web

AUDIT — VPS Welife vs APP_DESIGN_BUILD

Ngày: 2026-07-31 VPS: root@180.93.146.58 · host Megahost.1785139359 · app /opt/welife Tham chiếu: D:\APP_DESIGN_BUILD (HomeFix / Construction platform) Welife repo: D:\welife


0. Verdict ngắn

Câu hỏi Kết luận
Máy chủ Welife đang có gì? API + Postgres/PostGIS + Redis + MinIO + Mailpit · Nginx HTTPS · health OK
Còn trống gì trên VPS? 2 env trống: MAPBOX_ACCESS_TOKEN, OPENAI_API_KEY · thiếu key Pay/SMS live
Thiếu so với APP_DESIGN_BUILD? Không cùng sản phẩm — APP = xây dựng/CRM/AI design (~162 feature); Welife = siêu ứng dụng đời sống (rides/FNB/rentals/…)
Cần làm gì tiếp (Welife)? Harden prod (Pay/SMS) · optional AI · deploy dashboard static · (sau) OSRM self-host

Không copy nguyên APP_DESIGN_BUILD vào Welife — domain nghiệp vụ khác nhau.


1. Máy chủ Welife — đang có

1.1 Containers (docker compose)

Container Status Port (host)
welife-api Up 127.0.0.1:3000
welife-postgres healthy 127.0.0.1:5432
welife-redis healthy 127.0.0.1:6380→6379
welife-minio healthy 127.0.0.1:9000–9001
welife-mailpit healthy (SMTP OTP inbox)

1.2 Domains (HTTP 200)

URL Vai trò
https://api.minhtien.cloud Nest API + WS
https://admin.minhtien.cloud Admin UI
https://docs.minhtien.cloud Docs
https://www.minhtien.cloud / https://minhtien.cloud Web

Health: {"status":"ok","service":"welife-api","env":"production"}

1.3 API runtime

1.4 Surfaces trên VPS filesystem

Path Trên VPS? Ghi chú
/opt/welife/api Có Source + container
mobile / driver / partner Không trên VPS Đúng — Expo client build local/EAS, không cần copy lên API host
dashboard Không dưới /opt/welife Admin đang phục vụ qua Nginx (build tĩnh riêng)
docs Không trong tree depth-2 Docs domain riêng

2. Env VPS — đầy / trống

Nhóm Trạng thái
JWT / DB / Redis / S3 Đầy (53 key có giá trị)
SMTP / OTP email / Mailpit Đầy (OTP_CHANNEL=email)
OSRM / Nominatim Đầy (ROUTING_PROVIDER=auto)
MAPBOX_ACCESS_TOKEN EMPTY — OK (đã có OSRM)
OPENAI_API_KEY EMPTY — assistant AI yếu / tắt
MoMo / VNPay keys MISSING — PAYMENTS_MOCK đang bật
eSMS / Twilio MISSING — SMS_PROVIDER console/không SMS live

Đếm: ~53 filled · 2 empty (Mapbox, OpenAI) · Pay/SMS live chưa cấu hình.


3. APP_DESIGN_BUILD là gì (tham chiếu)

APP_DESIGN_BUILD WELIFE
Sản phẩm Construction / HomeFix Lifestyle super-app
Prod homefix.asia minhtien.cloud
FE Expo Router monorepo (~630 screens, 162 feature-map) Expo apps tách: mobile / driver / partner
BE Nest + Perfex CRM + Strapi + AI gateway + LiveKit… Nest monorepo api/ (1 stack)
Roles customer · worker · contractor · engineer USER · DRIVER · PARTNER · ADMIN
Domain chính Dự án, chấm công, CRM, VLXD, AI design, live công trình Đặt xe, FNB, KS, phòng trọ, y tế, ví, social

Feature APP có — Welife không nhắm (ngoài scope)

Pattern APP có — Welife đã có tương đương / một phần

APP Welife
Chat WS Chat WS
Map / geo Places + Routing OSRM + RN Maps
Orders / cart / payments Cart · Orders · Payments (mock)
Auth OTP Auth OTP email (+ SMS stub)
Admin dashboard dashboard/ + admin.minhtien.cloud
AI assistant Assistant module (cần OPENAI_API_KEY)
Notifications Notifications
Profile / KYC User · KYC

Welife có — APP không (siêu app đời sống)

Rides + Driver · Parking · Fuel · ATM · Hotels · Rentals · Pharmacy · Medical · Schools · Social · Wallet transfer · Partner multi-vertical · Grocery/FNB marketplace kiểu Grab.


4. Còn thiếu / cần làm (Welife only)

P0 — Harden production (OWNER)

# Việc Lý do
1 Pay live: MoMo/VNPay + PAYMENTS_MOCK=false Hiện mock
2 SMS OTP live (eSMS/Twilio) nếu bỏ email-only Hiện email/Mailpit
3 OPENAI_API_KEY nếu muốn assistant thật Đang trống
4 Tắt / siết ALLOW_INTERNAL_WALLET_CREDIT nếu còn true Rủi ro ví

P1 — Infra / UX

# Việc
5 (Optional) Self-host OSRM thay router.project-osrm.org
6 Deploy/cập nhật pipeline dashboard → admin.minhtien.cloud từ CI
7 EAS build mobile/driver/partner (APP có eas.json; Welife chưa)
8 Monitoring stack (APP có monitoring/) — Welife chưa bắt buộc

P2 — Không làm trừ khi đổi product brief


5. Checklist “máy chủ đủ cho Welife MVP?”

Hạng mục Đủ?
API HTTPS + health ✅
DB PostGIS + Redis + MinIO ✅
OTP email ✅
Directions đường thật (OSRM) ✅
Admin web ✅ (HTTP 200)
Consumer/Driver/Partner native ⚠️ Build trên máy/EAS — không nằm VPS
Pay / SMS live ❌ OWNER
AI assistant live ❌ OWNER (key)
Mapbox Không bắt buộc

Kết luận máy chủ: đủ chạy Welife MVP production API. Chưa đủ parity với APP_DESIGN_BUILD vì đó là app xây dựng khác — và cũng chưa đủ “full harden” (pay/SMS/AI).

ENV packaging (2026-07-31): xem ENV-PACKAGING.md · npm run env:bootstrap · npm run env:check.


6. Next khuyến nghị

  1. Không merge APP_DESIGN_BUILD → Welife.
  2. Owner điền Pay/SMS/OpenAI nếu go-live cứng.
  3. Giữ OSRM; Mapbox optional.
  4. Nếu muốn “giống APP về mặt vận hành”: thêm EAS + monitoring — riêng WP.
Audit: VPS Welife vs APP_DESIGN_BUILD
Status: DIFFERENT_PRODUCTS · VPS_MVP_OK · HARDEN_OWNER
Empty env: MAPBOX · OPENAI
Missing live: Pay · SMS