Nền tảng (Thông báo · Cài đặt · Audit) Phase 1 Built
Tài liệu nghiệp vụ (BA)
UC — Use Case · SRS — Đặc tả yêu cầu · UI — Đặc tả giao diện
Module nền tảng gom ba trụ cột vận hành xuyên suốt: thông báo đa kênh (Push · SMS · Email · Zalo OA) cùng in-app inbox để chủ sân và nhân viên luôn nắm trạng thái sân; cài đặt cơ sở, giờ hoạt động, chính sách huỷ và tích hợp bên thứ ba (Zalo OA, Google Calendar, cổng thanh toán, máy in); và audit log immutable ghi lại mọi thao tác nhạy cảm toàn hệ thống.
1. Định danh
| Thuộc tính | Giá trị |
|---|---|
| Module ID | F-04 / OW-10 / SYS-02 |
| Hạng | Core |
| Trạng thái | Built (P1) · In-progress (Zalo OA · Google Calendar · DND) |
| Giai đoạn | P1 (thông báo, cài đặt cơ bản, audit log) · P2 (Zalo, T-VAN, DND, cảnh báo) |
| Ưu tiên | HIGH |
| Người dùng chính | Chủ sân · Quản lý ca · Thu ngân · Xem báo cáo |
2. Mục đích & Phạm vi
| Bao gồm | Loại trừ |
|---|---|
| Thông báo đa kênh: Push (FCM) · SMS · Email · Zalo OA/ZNS | Tạo ra sự kiện nghiệp vụ (các module khác emit, module này phân phối) |
| In-app inbox: bell + badge, đánh dấu đọc, deep link, lưu 30 ngày | Xác thực & phân quyền (do Người dùng · Phân quyền sở hữu) |
| Cài đặt cơ sở: thông tin sân, giờ hoạt động, múi giờ, thuế | Bộ máy đặt sân và POS (chỉ đọc cấu hình từ đây) |
| Chính sách: huỷ & hoàn tiền, đặt cọc, tự duyệt booking | Phát hành hoá đơn điện tử (module hoá đơn xử lý) |
| Tích hợp: Zalo OA, Google Calendar, VNPay/MoMo, SMS, máy in | |
| Audit log immutable: đăng nhập, thay đổi dữ liệu, diff, cảnh báo |
3. Năng lực
| Năng lực | Người dùng làm được gì |
|---|---|
| Thông báo đa kênh | Nhận Push/SMS/Email/Zalo cho booking mới, huỷ sân, kho thấp, nhắc kết ca, báo cáo ngày |
| In-app inbox | Xem timeline thông báo, badge chưa đọc, đánh dấu đã đọc, deep link vào đúng module |
| Cấu hình thông báo | Bật/tắt per loại; thông báo bắt buộc không tắt được; giờ yên tĩnh (DND) |
| Cài đặt cơ sở | Cập nhật thông tin sân, logo, giờ mở/đóng theo ngày, múi giờ UTC+7, thông tin thuế |
| Chính sách huỷ | Cấu hình % hoàn theo thời gian (vd trước 24h hoàn 100%), % đặt cọc, tự duyệt booking |
| Tích hợp Zalo OA | Gửi thông báo đặt sân/nhắc lịch qua Zalo Official Account |
| Tích hợp Google Calendar | Sync lịch booking lên Google Calendar của nhân viên (P2) |
| Tích hợp thanh toán & in | Kết nối VNPay/MoMo, máy in nhiệt 58/80mm, tuỳ chỉnh nội dung receipt |
| Audit log | Owner điều tra ai đổi giá/huỷ booking/đăng nhập; xem diff cũ→mới; export CSV |
| Cảnh báo bảo mật | Alert real-time khi đăng nhập IP lạ, thao tác nhạy cảm ngoài giờ |
| Immutability | Log append-only, không sửa/xoá, lưu tối thiểu 5 năm phục vụ kiểm toán |
4. Phụ thuộc Module
| Phụ thuộc vào | Vì sao |
|---|---|
| Phân quyền | Xác định ai nhận loại thông báo nào; branch scope cho thông báo và audit log |
| Người dùng & Xác thực | Nhận sự kiện đăng nhập/khoá tài khoản để ghi log và gửi cảnh báo bảo mật |
| Mọi module nghiệp vụ | Các module emit sự kiện kích hoạt thông báo và audit event |
| FCM · SMS · SendGrid · Zalo OA/ZNS | Kênh gửi push, SMS khẩn, email transactional và tin nhắn Zalo |
5. Backend Packages
Chi tiết triển khai nằm trong tài liệu lập trình viên - mục này chỉ ánh xạ module tới các service vận hành nó.
| Package | Vai trò | Tài liệu lập trình viên |
|---|---|---|
@nx/notification | Notification engine, đa kênh, in-app inbox, queue/retry, giờ yên tĩnh | notification |
@nx/settings | Cài đặt cơ sở, chính sách kinh doanh, tích hợp bên thứ ba (mã hoá credentials) | settings |
@nx/audit | Ghi log immutable append-only, diff data, alert rules, archive cold storage | audit |
6. Luồng người dùng chính
Thông báo booking mới đa kênh
Cấu hình chính sách huỷ
Audit log - điều tra sự cố
7. Vai trò & Phân quyền
| Vai trò | Được phép | Không được phép |
|---|---|---|
| Owner (Chủ sân) | Toàn quyền cài đặt/tích hợp/chính sách; nhận mọi thông báo; xem & export toàn bộ audit log | - |
| Manager (Quản lý ca) | Xem thông tin cơ sở, cấu hình máy in chi nhánh; nhận thông báo vận hành; xem log nhân viên chi nhánh | Đổi chính sách, tích hợp thanh toán, cài đặt nhạy cảm |
| Cashier (Thu ngân) | Test in receipt; nhận nhắc kết ca và booking sân đang trực; xem log của chính mình | Đổi cài đặt, xem log người khác |
| Viewer (Xem báo cáo) | Chỉ nhận báo cáo định kỳ nếu được cấu hình | Truy cập cài đặt và audit log |
8. Trạng thái & Lộ trình
| Giai đoạn | Năng lực |
|---|---|
| P1 | Push FCM, in-app inbox, Email, SMS khẩn, deep link; cài đặt cơ sở/giờ/thuế, chính sách huỷ & đặt cọc, VNPay, máy in nhiệt; audit log immutable, diff, lưu 5 năm |
| P2 | Zalo OA/ZNS, giờ yên tĩnh (DND), chọn kênh per loại, cảnh báo bảo mật; T-VAN hoá đơn điện tử, Google Calendar, MoMo/ZaloPay; export log, anomaly detection rules |
| P3 | AI phân loại thông báo, digest, webhook ra ngoài; webhook engine & API key; log integrity chain, compliance reports |
9. Trang liên quan
- Người dùng & Xác thực
- Phân quyền (RBAC)
- Tài liệu lập trình viên: Notification Service · Settings · Audit