🌐 English Vào học →

Hệ thống hoạt động thế nào

Mô tả ngắn và thật về kiến trúc — viết cho thầy cô, cán bộ tin học và bất cứ ai muốn tự dựng một bản cho trường mình.

Hình dạng hệ thống

FitForm cố ý làm nhỏ: một tiến trình Node.js và một file SQLite. Không điều phối container, không hàng đợi tin nhắn, không máy chủ cơ sở dữ liệu riêng. Chính vì thế một trường mới nuôi nổi, và một học sinh mới hiểu được từ đầu đến cuối.

LớpLà gì
Máy chủNode.js 18+ với Express, pm2 giữ cho chạy liên tục
Cơ sở dữ liệuSQLite qua better-sqlite3, chế độ WAL — gọi đồng bộ, không cần pool kết nối
Tài khoảnMật khẩu băm bằng bcrypt; JSON Web Token đặt trong cookie httpOnly
Nhận dạng tư thếMediaPipe pose_landmarker_lite, chạy trong trình duyệt, trên GPU
Vẽ khung xươngCanvas 2D phủ lên thẻ video đang phát
FitPassMã QR sinh ở máy chủ; quét bằng html5-qrcode
Chấm bằng AIClaude Messages API, chỉ gọi từ phía máy chủ
TrangHTML tĩnh trong public/; bài đọc công khai và các trang này dựng ở máy chủ

Dữ liệu đi đường nào

  1. Camera → chỉ trình duyệt. Khung hình lấy từ getUserMedia, đưa vào mô hình tư thế rồi vẽ lên canvas. Không bao giờ được mã hoá, tải lên hay lưu lại.
  2. Trình duyệt → máy chủ. Cuối buổi tập: mã bài tập, số lần, số giây, điểm. Phần học: làm mục nào, đúng hay sai, bao nhiêu phút. Cứ 30 giây có một tín hiệu báo đang tập hay đang học.
  3. Máy chủ → Anthropic. Chỉ khi học sinh bấm "chấm bằng AI", và chỉ gửi phần chữ của bài viết cùng tiêu đề. Không gửi gì khác về học sinh.
  4. RSS → máy chủ. Hỏi các nguồn công khai để lấy tiêu đề; chỉ lưu tiêu đề, đoạn trích ngắn, tên nguồn và link.

Cần biết trước khi tin một con số

  • Đếm động tác là một máy trạng thái dựa trên góc khớp. Nó chịu được rung lắc, nhưng ánh sáng, quần áo và góc camera đều ảnh hưởng. Hãy chờ đợi nó bỏ sót nhiều hơn là tự nghĩ ra.
  • Ghi buổi tập bị giới hạn tần suất và các buổi gần trùng được gộp, nên bảng chống được spam, nhưng đây không phải sổ kiểm toán chống sửa. Đây là bảng xếp hạng của một trường học.
  • Bạn đồng hành ảo được đánh dấu is_bot trong cơ sở dữ liệu, hiện kèm 🤖 ở một lớp riêng, không đăng nhập được, và bị lọc khỏi mọi thống kê kể cả trong cổng quản trị.
  • Chấm nhanh bài viết là thuật toán cố định và chỉ tính những đặc điểm đo được. Chấm bằng AI là mô hình ngôn ngữ, có thể sai mà vẫn rất tự tin — giao diện ghi rõ điều đó ở mọi bản nhận xét.

Tự dựng một bản

Hướng dẫn triển khai đi hết một VPS Ubuntu nhỏ: Node, pm2, Nginx, chứng chỉ Let's Encrypt, sao lưu và cập nhật. Một trường có thể chạy trên gói rẻ nhất, trỏ tên miền về, và giữ toàn bộ dữ liệu trên máy chủ của mình.

Hướng dẫn triển khai →

Hỏi về kỹ thuật và báo lỗi: @hailong:garlic7749.

Số Zalo liên hệ — hiện dưới dạng ảnh