Dashboard / Telemetry — Tổng quan
Dashboard / Telemetry là domain thống kê vận hành (bảng thống kê vận hành): bảng Analytics Dashboard cho Staff/Admin, Customer Dashboard cho khách hàng, và gán username vào telemetry Application Insights cho việc truy vết.
Dashboard là một read-only query aggregate — không có state, không có domain events, không có state transition. Mọi con số đều được tính từ dữ liệu của các domain khác (Booking, Attendance, Master Data) qua aggregate query + cache TTL.
Hình dung nhanh
Dashboard bao phủ những gì?
| Mảng | Một câu |
|---|---|
| Analytics Dashboard | Bảng thống kê Staff/Admin, scope theo BusinessUnit: attendance, booking, revenue, account/attendee. |
| Customer Dashboard | Trang của khách hàng: thông tin account, booking active, invoice còn nợ, booking calendar. |
| Cache TTL | Mọi endpoint trả qua cache với TTL riêng; eventual consistency, không invalidation theo sự kiện. |
| Validation | BU phải active, fromDate ≤ toDate, site thuộc BU, groupBy whitelist, JWT bắt buộc. |
| User telemetry | Gán AuthenticatedUserId + custom property userName cho request trong Application Insights. |
Đọc theo thứ tự
- Góc nhìn end-user — Staff/Admin và khách hàng thấy gì.
- Khái niệm cốt lõi — sub-aggregate, công thức metric, invariants.
- Kiến trúc & dữ liệu — chuỗi Topi → Tuke → Tux, cache, timezone, telemetry.
- Dữ liệu & bảng đọc/ghi — bảng dashboard đọc từ domain khác.
- Case thường gặp — số liệu lag, timezone, site filter, telemetry.
Liên quan
- Booking — nguồn của
TermBooking/TermBookingOrder(StatusId) và attendance. - Master Data — BusinessUnit, Org/Site, Account, Attendee, Program/Category để scope.
- Nền tảng dùng chung → Timezone — giờ địa phương BU và DST.