Perfect Timing is an app that simplifies course registration by finding the most optimal schedule for you. As students ourselves, we know the pain of finding the courses we need and fitting them into the times we want. We either can't fit all our required courses in our schedule or have to take them in off-hours because we couldn't find a better combination manually. Perfect Timing automates this process. Simply tell us what courses you want and when, and we'll create a schedule for you so you can take the courses you need at the times you want!
Justin Lui (LinkedIn, GitHub) - Developer (Scheduling Algorithm)
Eric Zhou (LinkedIn, GitHub) - Developer (Scheduling Algorithm)
Jason Liang (LinkedIn, GitHub) - Developer (Web Scraping/Selenium)
Brian Park (LinkedIn, GitHub) - Developer (UX/UI)
- Setup a virtual env (Optional)
pip install -r requirements.txt
- Run in terminal
python scheduler.py
- Follow the prompts in your terminal!
- Enjoy your auto-generated schedule :)
Perfect Timing uses a scoring system to find the best schedule. Every hour of courses that is outside of your desired timeframe equals a score of 100. So, if your desired timeframe is 12:00 to 17:00 and the schedule goes from 11:00 to 17:30, the score will be 150. The lower the score, the better the schedule!