Skip to content

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ăngScope
News / contentTheo moduleId = news
Campaign / voucherTheo campaign, voucher_management
EventTheo event_management
Facebook datasetTheo fb_dataset

Ghi chú: module.ts cho thấy permission được chia theo subdomain, không phải một role set duy nhất cho toàn module.

Feature Groups

GroupMô tảPages
Posts & PagesQuản lý post, page, categoryPosts, PostCreate, Pages, PageCreate, PostCategories*
BannersBanner, banner group, placementBanners, BannerCreate, BannerGroupCreate, BannerGroupDetail
CampaignsCampaign marketing và voucher-linked flowCampaigns, CampaignCreate, CampaignDetail
EventsAccumulation, gift event, lucky drawevent/accumulation/*, event/gift-event/*, event/lucky-draw/*
Facebook DatasetDataset marketing audienceFacebookDataset, 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

ServiceVai trò
controller (Hasura)CRUD bảng cms và một phần event metadata
ecommerce-apiCampaign/voucher actions, duplicate campaign, approve/change status voucher campaign
restful-apiMột số webhook marketing như Facebook event notification

Databases

DBKey tables / functions
cmspost, post_category, banner, banner_group, banner user view functions
ecommercecampaign, 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.

Ghi chú coverage