Lập kế hoạch học tập myBK từ terminal

Công cụ dòng lệnh chỉ-đọc cho sinh viên Đại học Bách Khoa TP.HCM: theo dõi GPA, xem bảng điểm, tiến độ CTĐT, thời khóa biểu, lịch thi, và gợi ý môn học cho học kỳ tới kèm dự tính học phí.

Tính năng

GPA & bảng điểm

GPA tích lũy thang 4 và thang 10, lịch sử từng học kỳ, phân bố điểm chữ và danh sách môn điểm D có thể cải thiện.

Tiến độ CTĐT

Tiến độ tín chỉ theo từng khối kiến thức so với yêu cầu chương trình, tính đúng các khối nhiều ràng buộc (BB + tự chọn + đồ án).

Thời khóa biểu & lịch thi

Xem thời khóa biểu và lịch thi cho bất kỳ học kỳ nào, định dạng tiếng Việt, dễ đọc trên terminal.

Lập kế hoạch học kỳ

Engine gợi ý môn học: ưu tiên môn học lại, lấp từng khối đến đúng phần còn thiếu, nằm trong hạn mức tín chỉ của bạn.

Dự tính học phí

Ước tính học phí theo thông báo chính thức: trọn gói theo chương trình, tín chỉ vượt định mức và các mức giảm học phí.

Xem đợt đăng ký & lớp mở

Xem đợt đăng ký hiện tại, lớp mở, phiếu đăng ký và đợt hoãn thi. Công cụ chỉ đọc, không bao giờ tự đăng ký.

REPL tương tác

Một lần đăng nhập CAS, sau đó dùng menu từ 1 đến 8 để xem mọi thứ, kèm lệnh find tìm môn trong CTĐT.

JSON output

Thêm --json vào bất kỳ lệnh nào để lấy dữ liệu thô cho script: mybk-planner plan --json.

Cài đặt & bắt đầu

Yêu cầu Python 3.10 trở lên. Tạo file .env từ mẫu .env.example và điền thông tin đăng nhập myBK của bạn.

# .env: file này được git-ignore, không bao giờ bị commit
MYBK_USERNAME=your.bknetid
MYBK_PASSWORD=your-password
MYBK_MSSV=2212345
$ pip install mybk-planner

$ mybk-planner info      # hồ sơ sinh viên
$ mybk-planner gpa       # GPA tích lũy (thang 10 + thang 4)
$ mybk-planner ctdt      # tiến độ chương trình đào tạo theo khối
$ mybk-planner plan      # kế hoạch gợi ý học kỳ tới + dự tính học phí

Bảo mật

Câu hỏi thường gặp

Đây có phải công cụ chính thức của trường không?

Không. mybk-planner là công cụ mã nguồn mở cộng đồng, không chính thức, được phát triển độc lập. Trường không bảo trì hay xác nhận công cụ này.

Tài khoản của tôi có an toàn không?

Có, với điều kiện bạn dùng cho chính mình. Công cụ chỉ đọc dữ liệu bằng thông tin đăng nhập của bạn, không sửa đổi gì. Lưu ý giới hạn tốc độ (rate limit) của myBK: nếu bị 403, hãy chờ một lúc, đừng spam.

Tôi vẫn đăng ký môn học trên myBK chứ?

Đúng. mybk-planner chỉ tìm lớp mở và gợi ý kế hoạch học tập. Việc đăng ký luôn thực hiện qua cổng myBK chính thức của trường.

Vì sao tổng tín chỉ khác với cộng dồn thô trong CTĐT?

Vì khoảng trống của một khối là tổng các dòng yêu cầu phân biệt, và nguồn dữ liệu lặp lại yêu cầu trên mọi dòng môn học. Cộng dồn thô toàn bộ môn tự chọn sẽ bị đếm thừa. mybk-planner xử lý đúng điều này.

mybk-planner chạy được trên hệ điều hành nào?

Chạy được trên Windows, macOS và Linux: yêu cầu duy nhất là Python 3.10 trở lên.

Làm sao để đóng góp cho dự án?

Clone repo, cài pip install -e ".[dev]", chạy python -m pytest tests -qruff check mybk_planner tests rồi mở Pull Request trên GitHub.