Skip to content

Customer Analytics — Technical Map

Route / page map

SurfaceMain page / shell
Customer reportCustomerReport.tsx
Customer cycleCustomerCycleReport.tsx
MembershipMembershipReport.tsx
Customer by revenueRankReport.tsx tab CUSTOMER_BY_REVENUE_REPORT

GraphQL / data model map

SurfaceQuery / model chính
Customer reportsearch_report_contact_book + aggregate trong report_customer.graphql
Membershipreport_customer + customer_level filters trong report_customer.graphql
Customer by revenuesearch_report_customer_revenue trong report_rank.graphql
Customer cyclereportOverviewCustomer*, reportPurchaseCycle*, reportCustomerCycle*, reportCustomerRate qua report_customer_cycle.graphql + Hasura actions

Boundary với module khác

ModuleBoundary kỹ thuật
ecommerceCustomer analytics dùng functions/views/materialized views của source ecommerce
userTable component mở route customer detail sang module user
crmKhông phải source chính, nhưng có drill-out sang customer-related pages

Rủi ro / Findings kỹ thuật

MứcFinding
CaoCustomerReport.tsx đang update userBehavior bằng key của campaign report.
CaoCustomerCycleReport chấp nhận CUSTOMER_CYCLE_RATE trong state nhưng panel rate không được render ở page shell.
Trung bìnhCustomerCycleRateReport ghi state sai key CUSTOMER_CYCLE_PURCHASE, làm bleed state giữa hai tab.
Trung bìnhMembershipReport.tsx export name là CustomerServiceReport, cho thấy copy-paste residue.