/NUSMods

NUS CORS Module Finder & Timetable Builder (Unofficial)

Primary LanguageJavaScriptMIT LicenseMIT

Clone Repository with Submodules

$ git clone --recursive https://github.com/ahbeng/NUSMods.git

Or if you have already cloned the repository without submodules before:

$ git submodule update --init

Get API data

$ cd api
$ npm install
$ grunt ay2013to2014sem2

Setup with Vagrant

Prerequisites

Setup

$ pip install ansible
$ vagrant up

Once it's up, do a vagrant ssh to enter the development environment.

Setup without Vagrant

Prerequisites

Setup

$ npm install -g bower grunt-cli
$ npm install
$ bower install
$ bundle install

Building for Development

$ grunt serve

Building for Production

To get a complete, minified, production build under dist/:

$ grunt

Deploying to Production

Change the host in the production inventory file provisioning/production and execute the Ansible playbook against it:

$ ansible-playbook provisioning/production.yml -i provisioning/production

Optional Dependencies

  • PHP for export and URL shortening scripts.
  • YOURLS for URL shortening.
  • wkhtmltopdf and wkhtmltoimage for pdf and image export. Using the static binaries is suggested, as compiling with all the features of the static build needs a custom patched version of QT, which takes a long time to build.

License

Copyright (c) 2014 Eu Beng Hee. Licensed under the MIT license.