Skip to content

[WIP] Implement automated notification system for new chapters - #18

Closed
ThanhNT2k with Copilot wants to merge 1 commit into
mainfrom
copilot/feature-notification-system
Closed

[WIP] Implement automated notification system for new chapters#18
ThanhNT2k with Copilot wants to merge 1 commit into
mainfrom
copilot/feature-notification-system

Conversation

Copilot AI commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Thanks for asking me to work on this. I will get started on it and keep this PR's description up to date as I form a plan and make progress.


This section details on the original issue you should resolve

<issue_title>Feature: Hệ thống thông báo chương mới (Notification System)</issue_title>
<issue_description># Feature Request: Hệ thống thông báo chương mới (Notification System)

📖 Mô tả tính năng

Triển khai hệ thống thông báo tự động cho độc giả khi bộ truyện họ đang theo dõi (follow) có chương mới được đăng tải.

🎯 Mục tiêu

  • Tăng tỷ lệ quay lại nền tảng của độc giả.
  • Giúp độc giả cập nhật nhanh nhất các nội dung mới nhất.
  • Cải thiện trải nghiệm người dùng (UX) thông qua việc cá nhân hóa thông tin.

📋 Yêu cầu chi tiết (User Stories)

1. Đối với Độc giả:

  • Đăng ký theo dõi: Người dùng có thể nhấn nút "Theo dõi" (Follow) các bộ truyện yêu thích.
  • Nhận thông báo: Người dùng nhận được thông báo ngay khi tác giả đăng chương mới.
  • Tùy chọn thông báo: Người dùng có thể bật/tắt nhận thông báo qua Email hoặc thông báo đẩy (Push Notification) trong phần cài đặt cá nhân.

2. Đối với Hệ thống:

  • Trigger sự kiện: Hệ thống tự động kích hoạt thông báo khi trạng thái chương chuyển từ "Draft" sang "Published".
  • Queue xử lý: Sử dụng hàng đợi (Message Queue - ví dụ: Redis, RabbitMQ) để gửi thông báo hàng loạt nhằm đảm bảo hiệu năng.
  • Lưu trữ lịch sử: Lưu danh sách các thông báo đã gửi cho từng người dùng vào database để kiểm tra lại (notification feed).

🛠 Đề xuất kỹ thuật (Technical Proposal)

Cấu trúc Database (Gợi ý)

  • Table follows:
    • user_id: Foreign Key
    • story_id: Foreign Key
    • created_at
  • Table notifications:
    • id: Primary Key
    • user_id: Foreign Key
    • message: String (Nội dung thông báo)
    • link: String (URL dẫn đến chương mới)
    • is_read: Boolean (Trạng thái đã đọc/chưa đọc)
    • created_at

API Endpoints

  • POST /api/stories/{id}/follow: Theo dõi bộ truyện.
  • DELETE /api/stories/{id}/follow: Hủy theo dõi.
  • GET /api/notifications: Lấy danh sách thông báo của người dùng.
  • PATCH /api/notifications/{id}/read: Đánh dấu đã đọc thông báo.

🎨 Giao diện (UI/UX)

  • Nút "Theo dõi/Bỏ theo dõi" hiển thị rõ ràng tại trang chi tiết truyện.
  • Icon hình chuông (Notification Bell) hiển thị số thông báo chưa đọc trên thanh điều hướng (Navbar).
  • Danh sách dropdown thông báo hiện ra khi bấm vào icon chuông.</issue_description>

Comments on the Issue (you are @copilot in this section)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Feature: Hệ thống thông báo chương mới (Notification System)

2 participants