Skip to content

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mentee

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ụ.

Bắt đầu nhanh

Yêu cầu

  • 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.

Chạy backend và PostgreSQL

make setup
make db-up
make migrate-up
make run

Hoặc dùng một lệnh:

make dev

API lắng nghe ở http://localhost:8080. Kiểm tra kết nối database:

curl http://localhost:8080/healthz

Kế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.

Chạy frontend

cd frontend
pnpm install --frozen-lockfile
pnpm dev

Mở http://localhost:3000. Xem thêm hướng dẫn dành cho frontend tại frontend/README.md.

API hiện có

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"}'

Cấu trúc repository

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

Nghiên cứu

Đ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:

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.

Lệnh hữu ích

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.

Quy ước

  • Copy .env.example thành .env để thay đổi cấu hình cục bộ.
  • Không commit .env, database volume hoặc binary trong bin/.
  • Frontend dùng pnpm; không tạo lockfile thứ hai.
  • Tham khảo frontend/DESIGN.md trước khi thay đổi UI.

License

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.

About

Nghiên cứu và prototype Learning-by-Teaching, nơi sinh viên dạy một AI học trò.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages