ScheduleIt is a fast course scheduling web application. It has two main components:
- Back-end scripts crawl college's websites to output
JSONdata files. Each school will have twoJSONfiles,search.jsonandcourses.json.search.jsonis used for search intypeahead.js.courses.jsoncontains 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.pyfor each schoolscd ..static-server -p 8888 -i index.htmlwill 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