- subot - Automated Course Registerer for Sabanci University
- Introduction
- What does it do?
- Built with
- Installation & Usage
- Download the installer
- Make sure you have Google Chrome installed
- Provide your SUCourse username and password, click on save button
- Force Entry, will only get you to the Add/Drop page
- Just Add, will get you to the Add/Drop page and add courses
- Check and Add, will get you to the Add/Drop page and add courses when there is space
- Drop and Add, will get you to the Add/Drop page and drop and add desired courses
- Detailed steps for compiling code on your own Mac
Course registration periods in Sabanci University can be painful, especially if you could not login in time due to high loads on servers and had to check for an available seat for an already full class for 5 days, by hand. subot is designed to eliminate and automate this time consuming process.
Using Google Chrome installed on your computer:
- tries to login to the site and register desired classes
- checks the number of available seats in the course until a space is available, on the possibility that anyone who has successfully taken the course will drop out, then, immediately, fills the space
- Python - A powerful scripting language
- Qt Creator - An app for interface design
- PyQt5 - GUI library for Python
- Selenium - A library for browser automation
- PyInstaller - A library for creating executable Python apps
- Click here if you use an ARM Mac (M1, M1 Pro, M1 Max, M2)
- Click here if you use an Intel Mac
- There is no MS Windows version, feel free to copy and modify the code to develop one.
- With some little modifications to the source code, bot should be easily compiled and built on any Linux desktop.
- Bot, for now, uses Google Chrome 106.x
- Any other Google Chrome, such as v105 or 107, will cause errors. To learn your Google Chrome version, head to the Google Chrome settings and click on the "About Chrome" button on the left pane.
CURRENTLY, IT IS NOT IMPLEMENTED
-
If not installed, install Homebrew. It will be used to install python and other python libraries. Even if Python is already installed, Homebrew will also be used to install another dependency:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
If not installed, install Python:
brew install python
Python can also be installed using the installer downloaded from the website. Using brew makes it easy to uninstall or update it.
-
Install Python packages:
-
PyQt5, for GUI library:
brew install pyqt@5
orpip3 install PyQt5
-
Selenium and
webdriver-manager
for browser automation:pip3 install selenium webdriver-manager
-
-
PyInstaller, for packaging the app into one executable:
pip3 install pyinstaller
-
create-dmg
, for creating macOS disk images:brew install create-dmg
- Open terminal and move to the directory where the code is.
- run the command:
sudo sh makedmg.sh
- what it will do is
- creating a .spec file, named subot.spec, containing information about dependencies.
- using the .spec file, creating an .app file which is the app itself
- creating a .dmg file containing the .app file, under the location ./dist