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).
Một chỗ quản lý mọi học liệu của GV
Kho trường được cộng đồng GV đóng góp
Chia sẻ an toàn qua kiểm duyệt
2Người dùng & user stories
Vai trò
User story
Ưu tiên
Giáo viên
Quản lý đề: sửa, nhân bản, lưu trữ, theo dõi lượt làm.
P0
Giáo viên
Chia sẻ đề lên cộng đồng (có duyệt) hoặc nội bộ trường.
P0
Trường
Kho tài liệu chung theo quota, ai cũng tạo bài tập từ đó.
P1
3Phạm vi & phase
Phase
Nội dung
Trạng thái
Phase 1
Quản lý đề + tài liệu + chia sẻ 3 phạm vi
Done
Phase 2
Popup chờ duyệt khi share cộng đồng (104); trang share slug /document/[id] (mới)
Done
Phase 3
Improvement 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
Tạo đề → đăng → chia sẻ cộng đồng → admin duyệt → xuất hiện ở Khám phá
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
Stat cards tổng đề/đã lên/lưu trữ; bảng đề với badge trạng thái chia sẻ + kiểm duyệt
Modal chia sẻ 3 phạm vi + danh sách nơi đã chia sẻ; popup xác nhận chờ duyệt
Tài liệu: card grid + multi-select + Trình chiếu + Tạo bài tập
Toàn bộ theo design system FLYER Teacher: antd 6 + Tailwind, màu chủ đạo tím #955DCB (primary), chữ #212B36, phụ #637381, viền #EEF0F2, bo góc 8–16px, font Public Sans.
Song ngữ VI/EN qua next-translate; mọi trạng thái lọc/tab persist trên URL để share được link.
6Business rules
Rule
Định nghĩa
Kiểm duyệt cộng đồng
Đề share công khai phải chờ admin FLYER duyệt
Quota
Tài liệu ≤100MB/file theo dung lượng trường
Quyền admin
Admin thao tác được tài liệu của mọi GV trong trường
7Data & API — cho Developer
GraphQL v2 checkpoints + documents; slug SSR /document/[id] với 5 trạng thái ok/not_found/private/no_permission/error
Route: /exams, /document/[id]
8Edge cases đã xử lý
Case
Hành vi chuẩn
Hết quota dung lượng
Chặn upload kèm thông báo
Thu hồi đề đã giao
Bài đã giao không gãy, đề rời kho chia sẻ
Slug private
Trang share hiện đúng trạng thái không quyền
Trạng thái rỗng
Mọi bảng/danh sách có Empty state riêng kèm CTA hành động kế tiếp
Đang tải
Skeleton/Spin cho khối dữ liệu; nút hành động disable khi thiếu điều kiện
9Acceptance criteria
Đề gửi cộng đồng ở trạng thái Chờ duyệt trước khi public
Hết quota chặn upload rõ ràng
/document/[slug] đủ 5 trạng thái thiết kế
10Ngoài phạm vi / tương lai
UI mới cho My library/Resources (backlog 107)
Tặng kim cương theo rating/lượt submit cho bài GV build (backlog 108)
← 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.