Please note that this project is no longer actively maintained. We have shifted our focus to a more comprehensive solution, BeeHub, which includes similar functionality and additional features. For the latest updates and improvements, visit BeeHub. We encourage you to check out the new platform, and feel free to reach out if you have any questions or need assistance.
Automatic CRN picking application for ITU's kepler website.
- General Information
- How to Install
- How to Use
- Things You Should Know
- Room for Improvement
- Releases
- License
This is an automated app to pick or drop CRNs from Istanbul Technical University's student information system (aka. kepler) website.
You can either run the release executable or build this repository on your system.
- Simply download the release and run the executable.
-
You need to have Python 3.* and Google Chrome web browser (preferably latest version) installed in your system.
-
Following 3rd party libraries are needed:
- PySide6
- selenium
- python-dotenv
- requests
- urrlib
You can use this command to install them in cmd via pip:
pip install -r requirements.txt
It is recommended to use virtual environment.
-
Clone this repository to your computer.
-
Run
main.py
.
- Login with ITU information.
- Create your schedule in
My Schedules
- Change some settings based on your needs in
Settings
- Press
Start Post Requests
button inHome
- Relevant information about each CRN is displayed in
Home
- You cannot send request to kepler more frequent than 1 seconds. Kepler system rejects the post request as a protection mechanism. That is why the maximum frequency to send request is set to 1.1 seconds in the source code.
- This app installs latest web driver for Chrome web browser when it is necessary. It is expected to take some time for download during first time start.
- Schedule creation can be more interactive. User can select offered courses from drop-down menus using this api.
Feel free to contribute to the project or report any bugs you encounter in this repository's issues page.
-
- Now username and password are encrypted properly.
- Fixed user photo not showing properly.
- Fixed webdriver not closing up properly.
- Fixed slow closing.
-
- Introduces GUI layer for improved user experience.
- Available executables for Windows and Linux.
- Backend enhancements from the CLI version.
This project is open source and available under the GPLv3 License.