Skip to content
This repository has been archived by the owner on Nov 9, 2018. It is now read-only.

Back end for NUSMods

License

Notifications You must be signed in to change notification settings

nusmodifications/nusmods-cloud

Repository files navigation

Backend for social features of NUSMods.

What can NUSModsCloud do?

  • Login via IVLE

  • Retrieve module list from IVLE

  • Sync timetables across different devices

  • Send requests to add friends and share timetables

Contribute

Dependencies:

  • ruby

  • rails-api

  • postgresql

How to run it:

  1. Fork this repo.

  2. Install all the dependencies.

    brew install postgresql
    bundle install
    
  3. Set up database

    # See homebrew caveats for how to start postgresql. E.g.
    # postgresql -D /usr/local/var/postgres
    bundle exec rake db:setup
    
  4. Get a IVLE API key from ivle.nus.edu.sg/LAPI/default.aspx

  5. Run

    IVLE_API_KEY=your_api_key_here bundle exec rails-api server
  6. You may test the APIs using Postman

How to contribute:

  1. Branch out from latest master

    git checkout -b new_feature
  2. Assign the issue (create if not exist) to yourself to avoid multiple people working on the same issue.

  3. Implement the new feature / bug fix

  4. Add the spec of your feature in specs/, make sure all of them passes

  5. Create a PR.

You can also do it in a TDD (Test Driven Development) way.

  1. Branch out from latest master

  2. Create the specs of your feature.

  3. Implement your feature so that all the specs passes.

  4. Create a PR.

License

NUSModsCloud is released under MIT License