FLYER Teacher · PRD · Sprint 110

🗂️ Thư viện của tôi

Nhà kho của giáo viên: đề đã tạo, tài liệu đã upload, chủ đề nói — quản lý vòng đời (đăng, lưu trữ, thu hồi) và chia sẻ ra cộng đồng/trường/tên miền có kiểm duyệt (Sprint 104: popup thông báo chờ admin duyệt khi share cộng đồng).

Phiên bản
1.1
Ngày
14/08/2026
Owner
Tùng (Product)
Trạng thái
Đang chạy (production)
📈 Số liệu production (15/08/2026)42.379 đề trong hệ thống703 trường dùng tên miền riêng
🔗 Link mẫu trên productThư viện của tôi ↗Demo ↗tài khoản demo GV: 984855668 (CB Cái Bè) · bản demo tĩnh không cần đăng nhập

1Bối cảnh & mục tiêu

Nhà kho của giáo viên: đề đã tạo, tài liệu đã upload, chủ đề nói — quản lý vòng đời (đăng, lưu trữ, thu hồi) và chia sẻ ra cộng đồng/trường/tên miền có kiểm duyệt (Sprint 104: popup thông báo chờ admin duyệt khi share cộng đồng).

2Người dùng & user stories

Vai tròUser storyƯu tiên
Giáo viênQuản lý đề: sửa, nhân bản, lưu trữ, theo dõi lượt làm.P0
Giáo viênChia sẻ đề lên cộng đồng (có duyệt) hoặc nội bộ trường.P0
TrườngKho tài liệu chung theo quota, ai cũng tạo bài tập từ đó.P1

3Phạm vi & phase

PhaseNội dungTrạng thái
Phase 1Quản lý đề + tài liệu + chia sẻ 3 phạm viDone
Phase 2Popup chờ duyệt khi share cộng đồng (104); trang share slug /document/[id] (mới)Done
Phase 3Improvement UI My library/Resources (backlog 107)Đề xuất

4Luồng sản phẩm

Thư viện của tôi — đề + tài liệu
Thư viện của tôi — đề + tài liệu
  1. Tạo đề → đăng → chia sẻ cộng đồng → admin duyệt → xuất hiện ở Khám phá
  2. Upload giáo trình PDF → chia sẻ thư viện trường → đồng nghiệp tạo bài tập từ đó

5Spec UI — cho Designer

6Business rules

RuleĐịnh nghĩa
Kiểm duyệt cộng đồngĐề share công khai phải chờ admin FLYER duyệt
QuotaTài liệu ≤100MB/file theo dung lượng trường
Quyền adminAdmin thao tác được tài liệu của mọi GV trong trường

7Data & API — cho Developer

8Edge cases đã xử lý

CaseHành vi chuẩn
Hết quota dung lượngChặn upload kèm thông báo
Thu hồi đề đã giaoBài đã giao không gãy, đề rời kho chia sẻ
Slug privateTrang share hiện đúng trạng thái không quyền
Trạng thái rỗngMọi bảng/danh sách có Empty state riêng kèm CTA hành động kế tiếp
Đang tảiSkeleton/Spin cho khối dữ liệu; nút hành động disable khi thiếu điều kiện

9Acceptance criteria

  1. Đề gửi cộng đồng ở trạng thái Chờ duyệt trước khi public
  2. Hết quota chặn upload rõ ràng
  3. /document/[slug] đủ 5 trạng thái thiết kế

10Ngoài phạm vi / tương lai


← Danh mục 20 tính năng · Nguồn: quét trực tiếp codebase branch dev + backlog sprint 104–108 · 14/08/2026.