ScheduleIt is a fast course scheduling web application. It has two main components:
- Back-end scripts crawl college's websites to output
JSON
data files. Each school will have twoJSON
files,search.json
andcourses.json
.search.json
is used for search intypeahead.js
.courses.json
contains all the course information such as time, description, and locations. - The front-end scheduling algorithm uses bitwise operation on the time slot for each class to detect schedule conflict. It implements a optimized dynamic programming algorithm to ensure its lightening speed.
Currently only the website only contains Bucknell University's course information. I'm currently working on school selection based on IP address and manually selection. More documents about how to generate JSON
file for other school are coming soon.
Any static website host will do. Please notice that in the master
branch, there is no data file for all the classes. Suppose we are using the static-sever
from npm, the following command will help you host it locally:
$ cd script
$ python bucknell.py
for each schoolscd ..
static-server -p 8888 -i index.html
will host the website at 8888 port
Alternatively, you can checkout gh-pages
branch, which has all the data files.
Ninja icon by Carlo Eduardo Rodríguez Espino
GPL V2