APMATHS — Báo cáo Đợt 3B–5 (ngày 12/10/2026)

CẬP NHẬT 13/10/2026: PR #4 đã merge vào main, squash commit e1f337b7ceddc914222b70936d34732742953e7d. Người dùng đã kết nối tên miền apmaths.io.vn với Cloudflare Pages. Chưa xác minh độc lập deployment Production mới và nghiệm thu E2E. Chưa Cloudinary, thanh toán hoặc chuyển hướng domain cũ. Xem checklist chốt phiên sau merge.

Mốc quan trọng

Đợt Đã làm Còn chờ
3B — Đăng ký giáo viên Supabase 2: hồ sơ giáo viên + Admin [email protected] đã xác minh và cấp platform_admin, giao diện /platform/ Auth allowed redirects/Email config, CAPTCHA và E2E đăng ký bằng tài khoản thật
3C — Lớp/học sinh Workspace, tạo/đổi tên/lưu trữ lớp, mã mời, ghi danh, rời lớp và xóa học sinh Test browser thực tế và tải đồng thời; nâng cấp quản lý trợ giảng
3D — Ngân hàng/kiểm tra platform_question_banks, platform_questions, platform_exams, platform_exam_questions, platform_exam_attempts; UI /platform/exams/; server grading E2E, import/export đề, CLO, tự luận, cấu hình đề nâng cao
3E — Guest thu hút traffic /practice/try/ 24 câu Đại số tuyến tính, offline-in-browser, từ PR #3; link từ /practice/ Mở rộng ngân hàng công khai có duyệt, SEO/content và đo tải thực
3F — Khóa học của bạn Supabase 1: 4 bảng thương mại, thêm ràng buộc liên kết personal_courses.subject_id tới môn AI-CLO đã có. /courses/apmaths/ giới thiệu; sinh viên xem Khóa học của tôi ngay trong AI-CLO từ state.subjects Chưa thanh toán/đối soát hay tự động cấp membership sau mua; giữ nguyên môn cũ
4 — Thương mại Supabase 2: platform_service_plans, platform_workspace_subscriptions, platform_usage_events; tự cấp gói free khi tạo workspace Chốt giá, nhà cung cấp thanh toán, webhook/đối soát, chi phí và enforce hạn mức
5 — Website/tên miền Trên repo Private mới: _config.yml canonical về apmaths.io.vn; robots/sitemap từ Jekyll; noindex trang quản lý, bổ sung liên kết cổng Xác minh DNS/Cloudflare domain, Preview browser, kiểm tra canonical/sitemap thực tế, URL mapping và thực hiện redirect sau duyệt

Ranh giới hai Supabase

Điều kiện để phát hành

  1. Auth: xác thực email, URL allowlist, CAPTCHA và hạn mức signup/rpc; thử ít nhất Admin, giáo viên đã duyệt, giáo viên chưa duyệt, hai giáo viên khác nhau, học sinh.
  2. Thi bảo mật: kiểm thử browser thật để khẳng định học sinh không nhìn thấy đáp án trước nộp, không thể sửa điểm hoặc xem bài làm của người khác.
  3. Guest: đảm bảo JSON 24 câu chỉ là nội dung công khai; thực hành không gọi backend. Khi mở rộng ngân hàng đề có bản quyền, xây đường xuất bản riêng.
  4. Gói học: không cho trình duyệt tự đánh dấu paid; chỉ cấp quyền sau đối soát thanh toán bằng backend khi đã tích hợp provider.
  5. Website: GitHub Actions Node+Jekyll pass; Cloudflare Preview thực tế, kiểm tra mobile, 404, CSS/JS, Auth redirects; xác nhận apmaths.io.vn trước khi thay đổi đường dẫn công khai.
  6. Quyền riêng tư: giảm thiểu dữ liệu học sinh chưa thành niên; quy trình xóa dữ liệu, hỗ trợ, thời hạn lưu.
  7. Rollback/backup: lấy snapshot và kiểm tra dữ liệu ở mỗi project trước khi sửa sâu; 2 Supabase có folder migration riêng.

Mục tiêu chuyển URL — chỉ là kế hoạch

Đường dẫn Phương án
apmaths.github.io/ Khi kiểm thử miền chính hoàn tất, có thể chuyển sang apmaths.io.vn/
apmaths.github.io/knowledge/... Chuyển từng trang qua URL nội dung tương ứng; không redirect mù
apmaths.github.io/courses/... Chỉ chuyển trang có mapping và không phá link lớp cũ
apmaths.github.io/ai-clo/ cùng toàn bộ đường dẫn con Giữ nguyên, không redirect
apmaths.github.io/tools/ cùng toàn bộ đường dẫn con Giữ nguyên, không redirect

Không có redirect mới nào được áp dụng trong PR #4; không sửa repository Public cũ.

Dấu vết triển khai và kiểm thử

Trạng thái nghiệm thu: Mã nguồn đã merge vào main và schema đã được triển khai; chưa nghiệm thu đầy đủ môi trường Cloudflare production/đăng nhập/luồng kiểm tra, chưa thu phí. Theo dõi các bước còn lại tại docs/10.