NUSModsCloud <img src=“https://travis-ci.org/nusmodifications/nusmods-cloud.svg?branch=master” alt=“Build Status” /> <img src=“https://codeclimate.com/github/nusmodifications/nusmods-cloud/badges/gpa.svg” />¶ ↑
Backend for social features of NUSMods.
-
Login via IVLE
-
Retrieve module list from IVLE
-
Sync timetables across different devices
-
Send requests to add friends and share timetables
-
ruby
-
rails-api
-
postgresql
-
Fork this repo.
-
Install all the dependencies.
brew install postgresql bundle install
-
Set up database
# See homebrew caveats for how to start postgresql. E.g. # postgresql -D /usr/local/var/postgres bundle exec rake db:setup
-
Get a IVLE API key from ivle.nus.edu.sg/LAPI/default.aspx
-
Run
IVLE_API_KEY=your_api_key_here bundle exec rails-api server
-
You may test the APIs using Postman
-
Branch out from latest master
git checkout -b new_feature
-
Assign the issue (create if not exist) to yourself to avoid multiple people working on the same issue.
-
Implement the new feature / bug fix
-
Add the spec of your feature in specs/, make sure all of them passes
-
Create a PR.
You can also do it in a TDD (Test Driven Development) way.
-
Branch out from latest master
-
Create the specs of your feature.
-
Implement your feature so that all the specs passes.
-
Create a PR.
NUSModsCloud is released under MIT License