Cadet is the web application powering Source Academy.
- Elixir 1.8
- Erlang/OTP 21
- PostgreSQL (>= 9.6)
- Setup the development secrets (replace the values appropriately)
$ cp config/secrets.exs.example config/secrets.exs
$ vim config/secrets.exs- A valid luminus_api_key,luminus_client_id,luminus_client_secretandluminus_redirect_urlare required for the application to properly authenticate with LumiNUS.
- A valid cs1101s_repository,cs1101s_rsa_keyis required for the application to run with the--updaterflag. Otherwise, the default values will suffice.
- Install Elixir dependencies
$ mix deps.get- Initialise development database
$ mix ecto.setup- Run the server in your local machine
$ mix phx.server- You may now make API calls to the server locally via localhost:4000. The API documentation can also be accessed at http://localhost:4000/swagger.
You can obtain access_token JWT of a user with a given role by simply running:
$ mix cadet.token <role>For more information, run
$ mix help cadet.tokenWe recommend setting up nginx to handle preflight checks using the following config file.
If you do this, do remember to point cadet-frontend to port 4001 instead of 4000
We follow this style guide: https://github.com/lexmag/elixir-style-guide and https://github.com/christopheradams/elixir_style_guide
Where there is a conflict between the two, the first one (lexmag) shall be the one followed.
Last generated on 1 January 2019
MIT
