StackTrading Docs

QnA Init Docs — UC_4.7.1: Notification Center - Bell & Dropdown

Ngày tạo: 2026-08-08 Phiên bản: v1 BA phụ trách: Trang Nguyen Trạng thái: ✅ BA đã trả lời 5/5 câu (1 điểm mở: 3 category Level Events/Payout Events/Mentor-Community Prompts còn chờ confirm riêng, xem QN-4.7.1-01)


Carried-forward context (đã confirm ở dashboard_common/UC_4.1.1-4.1.5/QnA_init_docs.md, KHÔNG hỏi lại)

  • A-08: Notification Center SIM (UC_4.7.1–4.7.3) và LIVE (UC_4.12.4) dùng event set khác nhau — không share business rule chung. (Source: docs/BA/UC_4.1-4.17/dashboard_common/UC_4.1.1-4.1.5/QnA_init_docs.md)
  • A-13: 5 category filter (Risk Warning / Level Events / Payout Events / System Status / Mentor-Community Prompts) là final, không promote thành Common Rule.

IDCâu hỏiGiả định (BA/QC đề xuất)BA chốt (ưu tiên cao nhất)Trạng thái
QN-4.7.1-01Category → backend event gap. notification_center_matrix.md xác nhận: chỉ 2/5 category (Risk Warning, System Status) có event confirmed đổ vào user_notifications (NC-RISK-01…05, NC-SYS-01). 3 category còn lại (Level Events, Payout Events, Mentor/Community Prompts) không có event nào — chỉ có overlay/Bento-Grid/Email-Klaviyo triggers. SRS UC_4.7.1 nên viết BR cho cả 5 category hay chỉ 2 category confirmed?Chỉ viết BR đầy đủ cho Risk Warning + System Status (có event source rõ ràng). 3 category còn lại: hiển thị tab filter (theo A-13) nhưng flag rõ trong SRS là "⚠️ Chưa có backend event xác nhận — dropdown sẽ hiển thị empty state cho category này cho đến khi có xác nhận từ client". Không block việc viết SRS.BA confirm đúng đề xuất: SRS chỉ mô tả đầy đủ 2 category Risk WarningSystem Status. 3 category còn lại (Level Events, Payout Events, Mentor/Community Prompts) chờ confirm riêng (chưa document business rule, chỉ giữ tab filter placeholder theo A-13).✅ Confirmed
QN-4.7.1-02SIM cụ thể dùng những event nào trong 6 event confirmed? A-08 xác nhận SIM/LIVE event set khác nhau, nhưng 6 event confirmed (NC-RISK-01…05 từ Flow 23/24, NC-SYS-01) không phân biệt rõ SIM-only hay LIVE-only trong zapier_v7_full.txt. Ví dụ Flow 24 (Overnight Margin & Swap Monitor) nghe có vẻ chỉ áp dụng cho account có margin/swap thật (LIVE)?Áp dụng cả 6 event cho SIM (News Protocol + Overnight Monitor chạy trên toàn bộ user, không phân biệt SIM/LIVE vì đây là risk enforcement ở cấp thị trường). Nếu sai, cần client xác nhận subset riêng cho SIM.BA sửa lại hướng đề xuất. SIM không có event Payout (đúng theo A-08 — SIM/LIVE event set khác nhau, Payout Events thuộc nhóm chưa confirm ở QN-4.7.1-01 nên không tồn tại ở SIM). Hiện tại chỉ confirm được event thuộc 2 category Risk WarningSystem Status — SRS UC_4.7.1 mô tả 6 event này (NC-RISK-01…05, NC-SYS-01) thuộc SIM trước, không suy diễn thêm event khác.✅ Confirmed — sửa đề xuất: bỏ giả định "áp dụng mọi event bất kể SIM/LIVE", chỉ giữ 6 event NC-RISK-01…05 + NC-SYS-01 thuộc 2 category đã confirm.
QN-4.7.1-03Bell badge unread count — có tính theo category filter đang active không? WBS chỉ nói "unread count badge", không nói rõ badge có tôn trọng filter hiện tại hay luôn đếm tổng.Badge đếm tổng số unread trên toàn bộ notification (không phụ thuộc filter đang chọn trong dropdown). Badge chỉ giảm khi user mark-read (single hoặc bulk).BA confirm đúng đề xuất.✅ Confirmed
QN-4.7.1-04target_timestamp — countdown-style message có tự update live trên client không? Data model có field target_timestamp (nullable, dùng cho message dạng "Market Close in 10m"). Nhưng các event confirmed (NC-RISK-01…04) là discrete push tại từng checkpoint (T-30/T-10/T-1/T+1), không phải 1 message tự đếm ngược liên tục.Message là discrete, không tự đếm ngược — mỗi checkpoint (T-30, T-10, T-1, T+1) là 1 notification row riêng với text tĩnh (vd "News Warning: [Event] in 30 mins"), không có client-side timer nào update text đó.BA confirm đúng đề xuất.✅ Confirmed
QN-4.7.1-05Cơ chế cập nhật real-time — WebSocket push hay phải poll GET /notifications? WBS mapping_be ghi "Push NOTIFICATION events via WebSocket". Cần xác nhận dropdown tự update ngay khi có WS event, không cần user refresh.WS push cập nhật store ngay lập tức → bell badge + dropdown re-render tự động, không cần gọi lại GET /notifications. GET /notifications chỉ dùng cho initial load lúc mount component.BA confirm đúng đề xuất.✅ Confirmed

Changelog

DateVersionUpdated itemBeforeAfterNotes
2026-08-08v1Initial creation5 QnA itemsInit Flow Step 1+2
2026-08-08v2BA review — 5/5 câu trả lời⏳ Chờ BA✅ Confirmed (1 điểm mở: 3 category chưa confirm)BA review round 1

On this page