FLYER Học sinh (exam.flyer.us) · PRD · Sprint 110

🏫 Lớp học & bài tập được giao

Cầu nối với FLYER Teacher: học sinh join lớp bằng mã, nhận "Nhiệm vụ được giao" với hạn nộp, trạng thái Cần Làm Lại, khoá đáp án/khoá bài theo cài đặt của giáo viên — cùng chương trình của trường và kỳ thi tập trung.

Phiên bản
1.0
Ngày
15/08/2026
Owner
Tùng (Product)
Trạng thái
Đang chạy (production)
📈 Số liệu production (15/08/2026)1,13 triệu lượt học sinh trong lớp38.120 bài được giao/30 ngày
🔗 Link mẫu trên productJoin lớp bằng mã ↗Modal nhắc bài tập ↗đăng nhập tài khoản demo HS: 0909469666

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

Cầu nối với FLYER Teacher: học sinh join lớp bằng mã, nhận "Nhiệm vụ được giao" với hạn nộp, trạng thái Cần Làm Lại, khoá đáp án/khoá bài theo cài đặt của giáo viên — cùng chương trình của trường và kỳ thi tập trung.

2Người dùng & user stories

Vai tròUser storyƯu tiên
Học sinhNhập mã lớp cô đưa để vào lớp và nhận bài.P0
Học sinhThấy rõ bài nào phải làm, hạn nộp, bài nào cần làm lại.P0
Học sinhVào phòng thi tập trung của trường đúng giờ.P1

3Phạm vi & phase

PhaseNội dungTrạng thái
Phase 1Join lớp/trường + mission + trạng thái + hạn nộpDone
Phase 2Khoá bài sau hạn (allowLateSubmit) + ẩn đáp án + trial khi được thêm vào lớpDone
Phase 31 HS nhiều lớp song song (documenting backlog 108)Đề xuất

4Luồng sản phẩm

Lớp học & bài tập được giao
Màn hình thực tế — Lớp học & bài tập được giao (exam.flyer.us).
  1. Nhận mã lớp → /join-class → chọn người chơi → nhập mã → vào lớp → tab Nhiệm vụ hiện bài được giao
  2. Làm bài giao → nộp → GV thấy realtime; bị yêu cầu làm lại → trạng thái "Cần Làm Lại"
  3. Kỳ thi trường: banner "Bạn đang trong phòng thi" + VÀO THI NGAY

5Spec UI — cho Designer

6Business rules

RuleĐịnh nghĩa
Khoá bài hết hạn"Bạn không thể bắt đầu làm bài vì đã hết hạn nộp." khi GV bật khoá
Ẩn đáp ánisHiddenAnswer chặn cả trang review + lịch sử
Làm lại sau hạnTính là tự luyện, không vào báo cáo bài giao
Giới hạn lớpLỗi join: đủ chỗ/đang rời lớp/đã ở trong lớp… có message riêng

7Data & API — cho Developer

8Edge cases đã xử lý

CaseHành vi chuẩn
Chưa có profileĐẩy sang /create-profile rồi quay lại join
Link mời kèm checkpointTự vào thẳng bài sau khi join
Rời lớpLeaveClassModal xác nhận, có lỗi đang-rời-lớp
Khách chưa đăng nhậpĐược làm thử/preview; toast + modal nhắc đăng nhập để lưu kết quả
Mạng chậmCảnh báo cáp quang/network chậm (remote config); SpeedTest ở home

9Acceptance criteria

  1. Join đúng lớp bằng mã, có xác nhận tên lớp
  2. Bài hết hạn không bắt đầu được khi GV khoá
  3. Đáp án ẩn hoàn toàn khi GV bật ẩn
  4. Trạng thái REDO hiện đúng sau khi GV yêu cầu làm lại

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


← Danh mục PRD · Nguồn: quét codebase flyer-webs/apps/exam + số liệu read-replica production · 15/08/2026.