🔒 Hướng dẫn vận hành

Chỉ giáo viên xem được — đăng nhập tài khoản của anh.
🚫 Trang này chỉ dành cho giáo viên.

📋 Hướng dẫn vận hành — Nộp bài & Chấm bài

Quy trình đầy đủ, từ giao bài đến trả kết quả cho học sinh.
1. Giao bài 2. HS nộp bài 3. Gom bài 4. Chấm bài 5. Xuất kết quả

1 Giao bài cho lớp

Trang writing-assign.html — mỗi ngày làm 1 lần cho 1 đề T1 + 1 đề T2.

  • Mở writing-assign.html (link ở trang chính) → đăng nhập tài khoản giáo viên.
  • Tab Task 2: chọn Chủ đề → chọn Đề (từ kho 226 đề có sẵn) → bấm Tạo link → Copy link.
  • Tab Task 1: nhập mã đề tự đặt (vd T1-2026-07-12-Bar) → dán đề bài → upload ảnh biểu đồ → bấm Tải ảnh & tạo link → Copy link.
  • Gửi link vừa copy cho cả lớp (1 link dùng chung, không cần tạo riêng từng học sinh).
  • Mục "Giao cho" trong mỗi form: mặc định Cả lớp, có thể đổi sang Một nhóm (chọn nhóm đã tạo sẵn ở panel "👥 Nhóm học sinh") hoặc Cá nhân (tick chọn 1 vài bạn) — HS không thuộc đối tượng được giao sẽ không thấy đề này, kể cả vào bằng link trực tiếp.
  • Panel "📜 Đề đã giao trước đây": bấm ↻ Giao lại trên 1 đề cũ (kể cả đề đã Đóng) để giao lại đúng đề đó cho đối tượng MỚI (vd giao riêng cho bạn nộp thiếu/nộp muộn) mà không cần dán lại đề bài/ảnh từ đầu — đề cũ tự đóng lại, không còn 2 bản active chồng nhau.
  • Đề nào quá hạn nộp 7 ngày mà anh quên bấm Đóng sẽ tự động đóng (cron chạy 00:00 mỗi đêm) — muốn mở lại thì bấm ↻ Giao lại như trên.

2 Học sinh nộp bài

Trang writing-submit.html — không cần anh làm gì ở bước này.

  • Học sinh bấm link → đăng nhập tài khoản lớp → thấy đề + ô nộp bài.
  • Hệ tự nhận biết đây là Version mấy (1/2/3...) của đề đó, không cho học sinh tự chọn.
  • Bài nộp lưu thẳng vào Supabase (bảng writing_submissions).
  • Anh muốn tự kiểm tra đề nào đang mở (kể cả đề chỉ giao riêng 1 nhóm/1 bạn) thì đăng nhập chính trang này bằng tài khoản giáo viên — sẽ thấy HẾT mọi thẻ đề, không bị lọc theo nhóm/cá nhân như tài khoản học sinh.

35 Chấm bài — làm trong Terminal

Khi muốn chấm đợt bài mới, mở Terminal và làm theo đúng thứ tự:

  • Bước 1 — Mở Terminal. ⌘+Space → gõ "Terminal" → Enter.
  • Bước 2 — Vào đúng thư mục project rồi mở Claude Code:
    cd ~/AI\ Project/Ai\ Writing\ project
    claude
  • Bước 3 — Gõ: gom bài đi
    Claude tự kết nối Supabase, lấy các bài status=submitted chưa gom lần nào trước đó (có sổ theo dõi cục bộ để không lấy trùng bài đã chấm rồi), tải kèm ảnh biểu đồ Task 1 nếu có, xuất thành 1 file .txt trong grading_inbox/. Claude báo lại số bài + đường dẫn file.
  • Bước 4 (tuỳ chọn) — Mở file đó xem qua nếu muốn kiểm tra trước khi chấm. Không bắt buộc.
  • Bước 5 — Gõ: chấm đi
    Claude đọc từng bài, áp đúng bộ task1_core_prompt.txt / task2_core_prompt.txt + 4 file attachment (GRA/LR/CC/TA hoặc TR) sẵn có trong project để chấm — Claude chấm trực tiếp trong phiên làm việc, không tốn phí API riêng (không dùng score.py, hệ đó không dùng nữa).
  • Bước 6 — Claude hỏi đặt tên đợt này là gì (vd "Test 9" hoặc theo ngày) để biết ghi vào file kết quả nào (tạo mới hoặc thêm version-panel vào file cũ nếu là bài sửa lại).
  • Bước 7 — Claude ghép kết quả thành trang HTML đúng kiểu các trang kết quả hiện có, lưu vào deploy/.
  • Bước 8 — Claude deploy lên Cloudflare (sẽ báo trước khi deploy) để lớp xem được ngay.
  • Bước 9 — Claude đánh dấu các bài vừa chấm vào sổ theo dõi cục bộ để lần "gom bài" sau không lấy lại.
Lưu ý: nếu lớp đông (vd ~20 bài/lượt), Claude sẽ chấm theo từng đợt nhỏ (5–7 bài) thay vì dồn hết 1 lượt để giữ chất lượng nhận xét, và báo tiến độ giữa chừng.

🔗 Link nhanh