Skip to content

Announcement: PRD ​

Domain Communications · function announcement · mã story COMM-ANN · SDD · Tests

Hiện trạng: một nửa. Đường đọc công khai có; đường soạn không có trong repo.

Mục tiêu ​

Nhà trường đăng một thông báo có thời hạn (lịch nghỉ, thay đổi chính sách, lớp mới mở) và người đọc thấy nó ở đúng nơi, đúng phạm vi.

User story ​

COMM-ANN-01: khách đọc danh sách thông báo ​

Là khách, tôi muốn xem các thông báo đã đăng của trường, lọc theo danh mục, để biết tin chính thức.

  • Given có thông báo status đã đăng và chưa hết hạn When mở www.conan.school/announcementsThen thấy danh sách phân trang, lọc được theo danh mục; thông báo ghim đứng đầu.

COMM-ANN-02: đọc một thông báo ​

  • Given một thông báo đã đăng When mở /announcements/:slugThen thấy nội dung đầy đủ; slug không có thật thì 404, không phải trang rỗng "đang cập nhật".

COMM-ANN-03: lỗi không biến thành "chưa có gì" ​

  • Given API thông báo trả 500 When www dựng trang Then trang báo lỗi, không hiện danh sách rỗng (luật catch của SEO).

COMM-ANN-04: người vận hành soạn và lên lịch thông báo ​

Là người vận hành, tôi muốn soạn, xem trước, đặt ngày đăng và ngày hết hạn cho thông báo trong admin, để không phải nhờ người chèn D1.

  • Given tôi soạn một thông báo nháp When đặt published_at trong tương lai Then nó chỉ hiện từ thời điểm đó và tự ẩn sau expires_at.

COMM-ANN-05: thông báo theo lớp ​

Là học viên một lớp, tôi muốn thấy thông báo riêng của lớp mình, để không lẫn với tin chung.

  • Given thông báo có scope lớp và class_idWhen tôi không thuộc lớp đó Then tôi không thấy nó.

COMM-ANN-06: thông báo quan trọng tới tận người ​

Là người vận hành, tôi muốn một thông báo ưu tiên cao được đẩy thêm qua email hoặc in-app, để người không vào trang vẫn biết. Phụ thuộc segment và in-app.

Tài liệu nội bộ nền tảng Conan School.