Mentee là prototype Learning-by-Teaching bằng tiếng Việt. Sau khi hoàn thành lab, sinh viên dạy lại một skill cho AI apprentice. Hệ thống lưu lời dạy thành external knowledge state, phản hồi lại sinh viên rồi cập nhật state từ câu trả lời mới.
Research hiện tập trung vào reciprocal interaction loop giữa learner và AI. Study đầu tiên đánh giá fidelity và feasibility của loop; comparative condition chưa được chốt.
Repository kết hợp ba phần đang được xây dựng song song:
- Nghiên cứu: literature review, evidence matrix, protocol và công cụ đo cho pilot.
- Backend: Go API với PostgreSQL, migration và các endpoint nền tảng.
- Frontend: Next.js 16 cho trải nghiệm web của Mentee.
Trạng thái: research foundation và technical foundation. Đây chưa phải ứng dụng sẵn sàng triển khai production. Frontend hiện chưa được nối vào luồng nghiệp vụ.
- Go tương thích với phiên bản khai báo trong
go.mod(hiện là1.26.5). - Docker Engine có Docker Compose.
- pnpm để chạy frontend.
make setup
make db-up
make migrate-up
make runHoặc dùng một lệnh:
make devAPI lắng nghe ở http://localhost:8080. Kiểm tra kết nối database:
curl http://localhost:8080/healthzKết quả trả về có status và trạng thái kết nối database.
Các lệnh migration dùng Docker host network.
Vì vậy, quy trình này dành cho môi trường Linux.
cd frontend
pnpm install --frozen-lockfile
pnpm devMở http://localhost:3000. Xem thêm hướng dẫn dành cho frontend tại
frontend/README.md.
| Method | Path | Mục đích |
|---|---|---|
GET |
/healthz |
Kiểm tra trạng thái service và PostgreSQL. |
POST |
/api/v1/users |
Tạo người dùng với email và name. |
GET |
/api/v1/users/{id} |
Lấy người dùng theo ID. |
POST |
/api/v1/auth/register |
Đăng ký; mật khẩu ≥ 8 ký tự; tạo cookie phiên. |
POST |
/api/v1/auth/login |
Đăng nhập với email, password; set cookie phiên. |
POST |
/api/v1/auth/logout |
Đăng xuất, xóa phiên hiện tại. |
GET |
/api/v1/auth/me |
Lấy người dùng hiện tại từ cookie phiên. |
Phiên đăng nhập dùng cookie mentee_session (HttpOnly, SameSite=Lax, hạn 7
ngày); server chỉ lưu SHA-256 hash của token trong bảng sessions. Frontend ở
origin khác được phép gọi kèm cookie qua CORS — cấu hình bằng biến CORS_ORIGIN
(mặc định http://localhost:3000).
Ví dụ đăng ký:
curl -X POST http://localhost:8080/api/v1/auth/register \
-H 'Content-Type: application/json' \
-d '{"email":"student@example.com","name":"Nguyen Van A","password":"secret123"}'cmd/api/ Entry point của Go API
internal/ HTTP server, database platform và các module nghiệp vụ
migrations/ PostgreSQL schema migrations
frontend/ Next.js 16 application
docs/ Nghiên cứu, protocol và tài liệu vận hành
Điểm bắt đầu của corpus nghiên cứu là docs/README.md. Các tài
liệu chính gồm:
docs/research/literature-review.md: tổng quan tài liệu và phạm vi bằng chứng.docs/research/evidence-matrix.csv: ma trận bằng chứng để tiếp tục mở rộng.docs/research/protocol.md: thiết kế pilot.docs/research/instruments.md: rubric, câu hỏi kiểm tra và biểu mẫu thu thập dữ liệu.docs/research/prompt-spec.md: điều kiện can thiệp active/passive và fidelity test set.
Chỉ thu thập dữ liệu sau khi hoàn tất phê duyệt đạo đức nghiên cứu. Hoàn tất usability pilot trước khi thu thập dữ liệu. Các khẳng định từ literature review cần được đối chiếu với paper gốc.
make help # Liệt kê lệnh backend, database và migration
make test # Chạy Go tests
make vet # Chạy go vet
make db-down # Dừng PostgreSQL
make db-reset # Xóa PostgreSQL volume cục bộmake db-reset xóa dữ liệu database cục bộ.
Không chạy lệnh này khi cần giữ dữ liệu pilot.
- Copy
.env.examplethành.envđể thay đổi cấu hình cục bộ. - Không commit
.env, database volume hoặc binary trongbin/. - Frontend dùng
pnpm; không tạo lockfile thứ hai. - Tham khảo
frontend/DESIGN.mdtrước khi thay đổi UI.
Chưa có license công bố. Không tái sử dụng mã nguồn hoặc tài liệu ngoài phạm vi được chủ sở hữu cho phép.