$ pip install ansible
$ vagrant up
Once it's up, do a vagrant ssh
to enter the development environment.
Install the necessary packages.
$ npm install -g bower grunt-cli
$ npm install
$ bower install
$ bundle install
Make a copy of the config file. Add Facebook App credentials (needed only by barenus.php
).
$ cp ./app/config.json.dist ./app/config.json
$ grunt serve
To get a complete, minified, production build under dist/
:
$ grunt
Alternatively, a version that ignores jshint warnings:
$ grunt build
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/scripts/config.json
to point to
/api/
.
- 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, simple do:
$ composer install
Copyright (c) 2015 NUS Modifications. Licensed under the MIT license.