Skip to content

Gamification Lucky Shaking Deep Dive

Bộ tài liệu này đào sâu flow gamification-lucky-shaking theo code thực tế hiện tại. Đây là package reverse-engineer trong docs/modules, không phải PRD/spec delivery. Mục tiêu là chốt một mental model rõ ràng cho 4 lớp rất dễ bị lẫn:

  • campaign là shell quản trị của game, không phải toàn bộ runtime phía khách hàng,
  • mission, own gift và giveaway gift là ba engine dữ liệu khác nhau nhưng đi chung form,
  • gamification_claim_logs là bảng runtime chung cho spin, gift-to-friend và receive gift,
  • statistics và notification là read-model/scheduled sidecar, không phải logic lõi của publish/edit.

Đọc file nào?

Bạn là ai?Nên đọc trướcMục tiêu
PO / BAshared-rules.mdChốt thuật ngữ, state model, gift taxonomy, claim log semantics
FE Devtype-campaign-lifecycle-and-publishing.mdHiểu route, create/update, publish/pause/end/copy, drift FE constants
BE Devtype-gift-mission-and-giveaway-engine.mdHiểu action update, duplicate, gifting, receive gift, mission share log
QAtype-statistics-notification-and-history.md, shared-rules.mdThiết kế test theo history tabs, statistics RPC, notification scheduling
Người mới vào hệ thốngmodule-overview.mdCó bản đồ tổng trước khi đi sâu

Files

FileVai trò
module-overview.mdBản đồ tổng: route families, lifecycle, backend boundaries, data layers
shared-rules.mdThuật ngữ chuẩn, status/gift/source matrix, invariants, master-data drift
type-campaign-lifecycle-and-publishing.mdDeep dive cho create/update, publish/pause/resume/end/cancel/copy
type-gift-mission-and-giveaway-engine.mdDeep dive cho missions, own-gift, giveaway-gift, gift-to-friend, receive-gift
type-statistics-notification-and-history.mdDeep dive cho claim_logs, statistics RPC, notification config/logs, scheduler

Kết luận ngắn

  1. lucky-shaking hiện là một campaign-management shell khá hoàn chỉnh, nhưng backend còn rộng hơn UI đang mount.
  2. Campaign lifecycle thật được chia giữa insert/update trực tiếp trên Hasura và action changeGamificationStatus.
  3. gamification_claim_logs là trục runtime trung tâm cho cả shake history lẫn gift history.
  4. Có drift thật giữa constants FE và master data DB, dù phần lớn labels runtime hiện đã né drift này bằng query master data.

Liên kết tài liệu liên quan

Phạm vi của bộ docs này

  • Bám theo code hiện tại của diva-admin, ecommerce-api, Hasura metadata và migrations của DB ecommerce.
  • Ưu tiên mô tả hệ thống đang chạy như thế nào thay vì flow mobile/gameplay lý tưởng.
  • Chủ động ghi ra các drift hoặc dấu hiệu bug ở FE constants, action logic, statistics view và notification config runtime.