ProjectEGU / TimerTable

Automatically scrape and parse public course data from the University of Toronto website and given a user selection of courses, generate timetables such that every course can be attended.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Timetable Arrangement utility

A tool to arrange courses into a timetable automatically. Supports different preferences such as morning/evening course load, and short/long days. Currently supports UTM and St. George campuses.

Online tool

Click here to use the tool

Current Todos

  • Serve course data as a gzipped file with appropriate headers
  • Serve course data with proper caching headers
  • Scrape additional information: prerequisites, corequisites, exclusions, and delivery mode
  • Display delivery mode and show if courses are online
  • Implement fuzzy searching by course code and course name
  • Rework timetable display to use flex layout for better performance
  • Polish gaps and spacing in the current GUI

Lower Priority Goals

  • Choose which sections to include in search
  • Block off times on the timetable

Longer term goals

  • Refactor using Redux for cleaner code
  • Run the algorithm using WebWorkers so that the GUI thread isn't blocked during computation
  • When a timetable can't be made, find out which courses to remove (very hard!)

See also

About

Automatically scrape and parse public course data from the University of Toronto website and given a user selection of courses, generate timetables such that every course can be attended.

License:MIT License


Languages

Language:TypeScript 76.6%Language:Python 18.6%Language:SCSS 2.4%Language:JavaScript 1.6%Language:HTML 0.9%