Skip to content

NUS CORS Module Finder & Timetable Builder (Unofficial)

License

Notifications You must be signed in to change notification settings

nathanajah/nusmods

 
 

Repository files navigation

Talk to us!

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

Install the necessary packages.

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

If you are working on news.php, make a copy of /app/config/secrets.json.example in the same directory and call it secrets.json. Add your Facebook App credentials into the file secrets.json.

Building for Development

$ grunt serve

Building for Production

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

$ grunt

Alternatively, a version that ignores jshint warnings:

$ grunt build

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

Working with the NUSMods API

NUSMods is set up to work with the remote API at http://nusmods.com/api/ by default. To work with a local copy of the API:

$ git submodule update --init
$ cd api
$ npm install
$ grunt

The development server serves the files generated in api/app/api under /api/, so change baseUrl under app/config/application.json to point to /api/.

Optional Dependencies

  • PHP for export, URL shortening, redirect and Facebook API proxy 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.
  • Facebook PHP SDK for Facebook API proxy.
  • To install the PHP dependencies, simply do:
$ composer install

License

Copyright (c) 2015 NUS Modifications. Licensed under the MIT license.

About

NUS CORS Module Finder & Timetable Builder (Unofficial)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 53.8%
  • Handlebars 21.1%
  • CSS 13.0%
  • ApacheConf 7.7%
  • HTML 2.6%
  • PHP 1.3%
  • Shell 0.5%