9. Thông báo#
Mục tiêu#
Hiển thị thông báo hệ thống cho người dùng: kết quả duyệt content, hoa hồng, cập nhật chiến dịch.
Luồng nghiệp vụ#
- Hệ thống gửi thông báo qua nhiều kênh:
- In-app: Danh sách thông báo trên giao diện
- Push notification: Firebase Cloud Messaging (FCM)
- Email: SendGrid
- SMS: eSMS
- Người dùng xem danh sách thông báo → nhấn để đánh dấu đã đọc.
API đã triển khai#
GET /notifications— Danh sách thông báoGET /notifications/:id— Đánh dấu đã đọcPOST /users/device— Đăng ký device token cho push notification
Tiêu chí chấp nhận (Acceptance Criteria)#
| # | Tiêu chí | Điều kiện đạt |
|---|---|---|
| AC-9.1 | Hiển thị danh sách thông báo | Trang thông báo hiển thị danh sách, sắp xếp mới nhất trước, hỗ trợ phân trang |
| AC-9.2 | Đánh dấu đã đọc | Nhấn vào thông báo → trạng thái chuyển "đã đọc", badge số thông báo chưa đọc giảm |
| AC-9.3 | Push notification | Khi có thông báo mới + user đã đăng ký device token → nhận push notification trên thiết bị |
| AC-9.4 | Gửi email | Thông báo quan trọng (duyệt content, hoa hồng) → email gửi đến email đã đăng ký |
10. Trang giới thiệu, Thể lệ & Bài viết#
Mục tiêu#
Hiển thị thông tin giới thiệu chương trình, quy tắc, hướng dẫn, thể lệ, tin tức.
Luồng nghiệp vụ#
- Trang chủ hiển thị banner, thông tin chương trình, danh sách thử thách.
- Người dùng xem bài viết/thể lệ → nội dung được quản lý từ Admin CMS.
- Trang tin tức cập nhật thông tin mới nhất.
API đã triển khai#
GET /articles/:id— Chi tiết bài viếtGET /news— Danh sách tin tứcGET /quick-actions— Danh sách hành động nhanh (hỗ trợ)
Tiêu chí chấp nhận (Acceptance Criteria)#
| # | Tiêu chí | Điều kiện đạt |
|---|---|---|
| AC-10.1 | Trang chủ hiển thị đúng | Banner, thông tin chương trình, danh sách thử thách hiển thị đúng nội dung từ CMS |
| AC-10.2 | Xem bài viết/thể lệ | Nhấn vào bài viết → hiển thị nội dung đầy đủ (rich text, hình ảnh) |
| AC-10.3 | Trang tin tức | Danh sách tin tức hiển thị, sắp xếp mới nhất trước, hỗ trợ phân trang |