Appearance
CMS Module
Mục đích
Quản lý nội dung marketing và campaign-facing assets của Diva: bài viết, trang tĩnh, banner, campaign, voucher/event và dữ liệu Facebook dataset. Đây là lớp nội dung và marketing operations.
Quy mô
- 30 FE pages
- 226 FE components
- 8 GraphQL files
- 5 nhóm nghiệp vụ chính
Actors & Permissions
| Nhóm chức năng | Scope |
|---|---|
| News / content | Theo moduleId = news |
| Campaign / voucher | Theo campaign, voucher_management |
| Event | Theo event_management |
| Facebook dataset | Theo fb_dataset |
Ghi chú:
module.tscho thấy permission được chia theo subdomain, không phải một role set duy nhất cho toàn module.
Feature Groups
| Group | Mô tả | Pages |
|---|---|---|
| Posts & Pages | Quản lý post, page, category | Posts, PostCreate, Pages, PageCreate, PostCategories* |
| Banners | Banner, banner group, placement | Banners, BannerCreate, BannerGroupCreate, BannerGroupDetail |
| Campaigns | Campaign marketing và voucher-linked flow | Campaigns, CampaignCreate, CampaignDetail |
| Events | Accumulation, gift event, lucky draw | event/accumulation/*, event/gift-event/*, event/lucky-draw/* |
| Facebook Dataset | Dataset marketing audience | FacebookDataset, FacebookDatasetInfo |
Liên kết Modules
- notification — route notification xuất hiện trong navigation marketing
- settings — template, label, knowledge và một số master data vận hành marketing
- ecommerce — voucher, campaign order, event redemption
- report — campaign report và referral/reporting lấy dữ liệu từ campaign/event
Backend Services
| Service | Vai trò |
|---|---|
| controller (Hasura) | CRUD bảng cms và một phần event metadata |
| ecommerce-api | Campaign/voucher actions, duplicate campaign, approve/change status voucher campaign |
| restful-api | Một số webhook marketing như Facebook event notification |
Databases
| DB | Key tables / functions |
|---|---|
| cms | post, post_category, banner, banner_group, banner user view functions |
| ecommerce | campaign, campaign_order, voucher/event related tables |
Đặc điểm kiến trúc
- Navigation FE gom nhiều nhánh dưới "Marketing", "Event", "Yêu cầu", "Chi phí", nên CMS không chỉ là content mà đã gắn chặt với campaign operations.
- Số component cao phản ánh UI form-heavy: banner form, campaign form, post form, offline voucher dialogs, activation flows.
- Event pages được chia theo subtype ngay ở thư mục
pages/event/*, cho thấy mỗi event có workflow riêng.