A simple way to visualize multiple timetable between you and your friends. Works with a NUSMods url.
bash npm install Run app
bash node app.js
This will fire up the app at
http://localhost:/3000. This vanilla app allows you to enter a NUSMods url into the input box, associate it with a name, and will then update the timetable to reflect the merge. You can do this as many times as you want.
Generate a link button let's you save your merged timetable and retrieves it next time. It requires a
mongod running to work. A sample configuration file for testing is provided,
bash mongod --config ./models/db/mongdb.conf
Now the button will give you a unique id which you can use to retrieve your merged timetable.
express, routes request to appropriate functions.
routes/morge.js contains functions which retrieves/updates from/to the database
modes/db.js is our library to talk to
mongojs. If a different database is be used and this is the only file which needs to be edited.
util/modstt.js is a file we got directly from NUSMods, contains all module information.
util/rejsonify.js helps us to parse
modstt.js into a format that we use, which we write to at
public/js/main.js is the entry point for our app, contains main logic.
public/js/users.js manages (adding and removing) users.
public/js/timetable.js updates, recaculates clashes and displays timetable.
public/js/mods.js contains all the module information in a format what we work with.
public/js/network.js contains our client side calls to the database.
public/js/genLinkMnager.js handles generating a unique id.