/rapid-router

Primary LanguageJavaScriptOtherNOASSERTION

Rapid Router (codename: ocargo)

Build Status Coverage Status Code Climate Crowdin

A Code for Life project

To use the app

Go to the official Code For Life website.

To run the app locally

  • Install prerequisites. E.g. on Ubuntu / Linux Mint:

    • sudo apt-get install git
    • sudo apt-get install python-dev
    • sudo pip install virtualenvwrapper
    • sudo apt-get install libxml2-dev libxslt1-dev zlib1g-dev
    • sudo apt-get install ruby2.0 - still Ruby 1.9 hiding under ruby command.
    • sudo gem install sass -v 3.3.4 - later versions incompatible with Ruby 1.9 (see above).
  • Clone the repo: https://github.com/ocadotechnology/rapid-router.git

  • Make and activate a virtualenv

    • e.g. the first time, mkvirtualenv -a path/to/rapid-router rapid-router
    • and thereafter workon rapid-router
    • NOTE: If you have trouble running these commands (e.g. Command not found: workon), refer to this article, the top answer should help you resolve them.
  • ./run in your rapid-router directory - This will:

    • install all of the dependencies using pip
    • sync the database
    • collect the static files
    • run the server
  • Once you see Quit the server with CONTROL-C, you can open the portal in your browser at localhost:8000.

  • If you have problems seeing the portal on machines with different locale (e.g. Polish), check the terminal for errors mentioning ValueError: unknown locale: UTF-8. If you see them, you need to have environment variables LANG and LC_ALL both set to en_US.UTF-8.

    • Either export them in your .bashrc or .bash_profile
    • or restart the portal with command LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 ./run.

Localisation

  • ./run --with-translation-tools in your rapid-router dir to include the translation/localisation libraries
  • You will need your crowdin api key locally in the CROWDIN_API_KEY environment variable, e.g. export CROWDIN_API_KEY=<key>. This can be obtained from the settings page
  • Set your django_language cookie to lol-us to enable in-context localisation

To contribute

Found a problem? Please check whether it has already been reported in our issue tracker first! If not, add it. Please make sure that you give us a suitable level of detail about the symptoms and how to reproduce it. Please label it as a "bug".

Want to suggest a feature? Please check whether it has already been added to our issue tracker first! if not, add it. Please make sure that you give us a suitable level of detail about the feature. Please label it as a "suggestion". Please note that we may not act upon all suggestions, if they are not in line with the direction we want to take the project, or if we don't have the development resources to get it done.

Want to help develop? You can contact us using this contact form and we'll get in touch as soon as possible. To know what's going on, check out the issue tracker. The issues with the 'ready for pickup' label are tasks we think are ready to be picked up. Once you have chosen an issue, make sure you assign it to yourself so others don't also pick it up. Develop it on your fork of the project. Please ensure all files have the license at the top (see another source file for an example). Once you are happy that it works, and have written tests for it, submit a pull request. We'll then look to review the changes. If it looks good, we'll merge it. If we find issues with it, we'll let you know and hopefully we can work with you to improve it and get it re-submitted. If it is a change that we just don't want, we'll reject it.