Appearance
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_logslà 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ước | Mục tiêu |
|---|---|---|
| PO / BA | shared-rules.md | Chốt thuật ngữ, state model, gift taxonomy, claim log semantics |
| FE Dev | type-campaign-lifecycle-and-publishing.md | Hiểu route, create/update, publish/pause/end/copy, drift FE constants |
| BE Dev | type-gift-mission-and-giveaway-engine.md | Hiểu action update, duplicate, gifting, receive gift, mission share log |
| QA | type-statistics-notification-and-history.md, shared-rules.md | Thiết kế test theo history tabs, statistics RPC, notification scheduling |
| Người mới vào hệ thống | module-overview.md | Có bản đồ tổng trước khi đi sâu |
Files
| File | Vai trò |
|---|---|
| module-overview.md | Bản đồ tổng: route families, lifecycle, backend boundaries, data layers |
| shared-rules.md | Thuật ngữ chuẩn, status/gift/source matrix, invariants, master-data drift |
| type-campaign-lifecycle-and-publishing.md | Deep dive cho create/update, publish/pause/resume/end/cancel/copy |
| type-gift-mission-and-giveaway-engine.md | Deep dive cho missions, own-gift, giveaway-gift, gift-to-friend, receive-gift |
| type-statistics-notification-and-history.md | Deep dive cho claim_logs, statistics RPC, notification config/logs, scheduler |
Kết luận ngắn
lucky-shakinghiện là một campaign-management shell khá hoàn chỉnh, nhưng backend còn rộng hơn UI đang mount.- Campaign lifecycle thật được chia giữa insert/update trực tiếp trên Hasura và action
changeGamificationStatus. gamification_claim_logslà trục runtime trung tâm cho cả shake history lẫn gift history.- 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
- docs/modules/gamification/overview.md
- docs/modules/notification/overview.md
- docs/modules/ecommerce/overview.md
- docs/modules/phase-2-backlog.md
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 DBecommerce. - Ư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.