FLYER Teacher · PRD · Sprint 110

📝 Giao bài tập

Luồng giao bài 3 bước là xương sống sản phẩm: chọn bài (kho hoặc link ngoài kiểu Google Classroom) → chọn lớp/học sinh → thiết lập thời gian. Sau giao là bộ theo dõi: tiến độ, chấm realtime, nhắc nhở, yêu cầu làm lại.

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)410.419 bài đã giao all-time38.120 bài giao/30 ngày
🔗 Link mẫu trên productBài đã giao ↗Demo ↗Demo card Zalo ↗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

Luồng giao bài 3 bước là xương sống sản phẩm: chọn bài (kho hoặc link ngoài kiểu Google Classroom) → chọn lớp/học sinh → thiết lập thời gian. Sau giao là bộ theo dõi: tiến độ, chấm realtime, nhắc nhở, yêu cầu làm lại.

2Người dùng & user stories

Vai tròUser storyƯu tiên
Giáo viênGiao 1 bài cho nhiều lớp/HS lẻ, đặt hạn + chế độ thi.P0
Giáo viênTheo dõi ai chưa làm, nhắc 1 chạm, xem chi tiết từng phần thi.P0
Phụ huynhTự giao bài cho con theo luồng riêng.P1

3Phạm vi & phase

PhaseNội dungTrạng thái
Phase 13 bước + theo dõi + luồng phụ huynhDone
Phase 2Khoá bài khi hết hạn (allowLateSubmit) + review/redo theo điểm tối thiểu (107)Done
Phase 3Chia sẻ qua Zalo (UI xong — chờ short-link backend); giao bài v3 kiểu Google Classroom mở rộngCần build

4Luồng sản phẩm

Bài tập đã giao — theo dõi + lọc
Bài tập đã giao — theo dõi + lọc
  1. Nhấn Giao bài (từ kho đề/lớp/danh sách) → B1 chọn bài hoặc link ngoài → B2 chọn lớp/HS (cảnh báo trùng) → B3 thời gian + tuỳ chọn → Giao
  2. HS làm trên exam → GV theo dõi + nhắc → xem chi tiết → yêu cầu làm lại

5Spec UI — cho Designer

Bước 3 giao bài — toggle Chia sẻ qua Zalo
Bước 3 giao bài — toggle Chia sẻ qua Zalo
Luồng phụ huynh giao bài
Luồng phụ huynh giao bài

6Business rules

RuleĐịnh nghĩa
Điều kiện giaoCó bài (hoặc title+URL hợp lệ) + có đối tượng + ngày hợp lệ theo toggle
Khoá bài hết hạnMặc định cho nộp muộn; bật khoá → HS không bắt đầu sau deadline; tự reset khi bỏ hạn nộp
Trùng bàiCảnh báo khi bài đã giao cho lớp được chọn
Phân quyền xemAdmin thấy mọi GV + lọc theo GV

7Data & API — cho Developer

8Edge cases đã xử lý

CaseHành vi chuẩn
Sửa bài đã giaoKhôi phục đủ cài đặt cũ kể cả allowLateSubmit
Hạn nộp đã qua khi sửaToggle hạn nộp bị khoá đúng trạng thái
Link ngoài sai URLValidate chặn ngay B1
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. Cảnh báo trước khi giao trùng lớp
  2. Khoá bài: HS không bắt đầu được sau deadline
  3. Nhắc làm bài gửi đúng danh sách chưa nộp
  4. Luồng phụ huynh tách bạch bài GV giao vs tự giao

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.