FLYER Teacher · PRD · Sprint 110

📚 Chương trình

Chương trình = giáo trình có cấu trúc unit → bài học, dùng xuyên suốt để dạy và giao bài tự động. Giáo viên dùng chương trình FLYER dựng sẵn, lấy từ cộng đồng/trường, hoặc tự tạo — bằng tay hoặc bằng AI.

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)345 lớp đang chạy chương trình theo lịch9,7 triệu lượt làm bài Study paths all-time
🔗 Link mẫu trên productChương trình ↗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

Chương trình = giáo trình có cấu trúc unit → bài học, dùng xuyên suốt để dạy và giao bài tự động. Giáo viên dùng chương trình FLYER dựng sẵn, lấy từ cộng đồng/trường, hoặc tự tạo — bằng tay hoặc bằng AI.

2Người dùng & user stories

Vai tròUser storyƯu tiên
Giáo viênChọn nhanh một chương trình chuẩn (FLYER Original, Global Success…) cho lớp.P0
Giáo viênTự soạn chương trình theo giáo án riêng, kéo-thả bài từ kho.P0
Trung tâmDuyệt & chia sẻ chương trình nội bộ toàn trường.P1

3Phạm vi & phase

PhaseNội dungTrạng thái
Phase 14 nguồn + tạo tay + tạo AI + chia sẻ kiểm duyệtDone
Phase 2Thêm Study (lộ trình Duolingo) vào Program (Sprint 106)Done
Phase 3Kiểm tra lại luồng tạo (AI Pre-A1 hiển thị IELTS) — bug backlog 107Đề xuất

4Luồng sản phẩm

Danh sách chương trình — 4 nguồn
Danh sách chương trình — 4 nguồn
  1. Chọn chương trình nguồn FLYER → nhân bản → chỉnh unit → chia sẻ Thư viện trường
  2. Tạo bằng AI → duyệt từng unit → dùng cho Giao bài tự động

5Spec UI — cho Designer

Tạo chương trình thủ công
Tạo chương trình thủ công
Tạo chương trình bằng AI
Tạo chương trình bằng AI

6Business rules

RuleĐịnh nghĩa
Sở hữuChỉ chủ sở hữu sửa/xoá; nhân bản tạo bản sao thuộc người nhân bản
Kiểm duyệtĐăng cộng đồng → trạng thái Chờ kiểm duyệt → duyệt mới public
Giới hạnSố unit/bài học và số bài mỗi bài học có limit hệ thống

7Data & API — cho Developer

8Edge cases đã xử lý

CaseHành vi chuẩn
Thoát giữa chừng khi soạnGuard xác nhận, không mất unit đã thêm
Chương trình bị gỡ duyệtVề trạng thái riêng tư, lớp đang dùng không gãy
AI sinh thiếu unitNút Tạo lại giữ nguyên prompt
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. Nhân bản giữ nguyên toàn bộ unit/bài
  2. Chia sẻ cộng đồng chỉ hiện sau duyệt
  3. AI sinh đúng số unit + cấp độ chọn
  4. Guard chặn mất dữ liệu khi thoát

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.