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
- Chỉ đọc. Không bao giờ tự đăng ký môn hay ghi đè bất kỳ dữ liệu nào.
- Tài khoản của chính bạn. Chỉ truyền MSSV của bạn, không dùng cho tài khoản khác.
- Không bao giờ commit thông tin đăng nhập.
.env, token và cookie đều bị git-ignore. - Cộng đồng, không chính thức. Công cụ độc lập, không liên kết với HCMUT.
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 -q và ruff check mybk_planner tests rồi mở Pull Request trên GitHub.