Tổng quan vận hành

Một màn hình để nhìn rõ trạng thái thành viên

Mở hồ sơ thành viên

Trang dashboard gom đúng 4 nguồn dữ liệu Team 1 đã khóa: danh tính, subscription, referral và points. Team 2 chỉ cần render đúng trạng thái, không tự suy diễn business rule.

GET /auth/meGET /subscription/meGET /referral/meGET /points/me

mock-adapter

Mock adapter đang active

Member app đang dùng dữ liệu mô phỏng theo contract đã khóa. Chỉ cần bật env để chuyển sang Team 1 API mà không đổi component.

Endpoint status

  • GET /healthfallback

    Mock adapter đang active qua NEXT_PUBLIC_USE_REAL_API=false.

  • GET /auth/mefallback

    Mock adapter đang active qua NEXT_PUBLIC_USE_REAL_API=false.

  • GET /subscription/mefallback

    Mock adapter đang active qua NEXT_PUBLIC_USE_REAL_API=false.

  • GET /referral/mefallback

    Mock adapter đang active qua NEXT_PUBLIC_USE_REAL_API=false.

  • GET /points/mefallback

    Mock adapter đang active qua NEXT_PUBLIC_USE_REAL_API=false.

RoleMEMBER

Dashboard shell is live

PlanAuth not configured

config-missing

Referral$0

Mock earnings

Points0

Mock milestone state

Nhịp phối hợp hiện tại

  • Dashboard đang chạy bằng adapter mock để Team 2 hoàn thiện layout trước.
  • Khi bật env thật, toàn bộ shell sẽ giữ nguyên.
  • Team 1 vẫn là nguồn logic duy nhất.
Tầng hiện tạiL2 -> L3

Sẵn sàng đẩy lên paid sau checkout thành công.

Mục tiêu thu nhập$1k-$2k

Hiển thị như một đích vận hành, không phải lời hứa lợi nhuận.

Nguồn dữ liệu4 APIs

Tất cả đã có contract bàn giao từ Team 1.

Trạng thái shellReady

UI đã đủ để gắn auth state, cards và activity feed.

Khối hiển thị bắt buộc

Những khối này phải ổn định từ mobile tới desktop để người dùng vừa vào là hiểu mình đang ở đâu.

  • Thông tin user + verified badge
  • Plan hiện tại + trạng thái active/past_due
  • Referral earnings + share link
  • Total points + milestone kế tiếp

Quy tắc phối hợp

Nếu Team 2 cần thêm field cho dashboard, cập nhật contract trước rồi mới đụng component. Không đọc DB trực tiếp từ frontend.

  • Không hardcode trạng thái thanh toán
  • Không tự tính điểm phía client
  • Ưu tiên empty/loading/error state rõ ràng
  • Giữ copy mang tính vận hành, không quảng cáo