Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

# Rapid Router (codename: ocargo)

[![Build Status](https://travis-ci.org/ocadotechnology/rapid-router.svg?branch=master)](https://travis-ci.org/ocadotechnology/rapid-router)
[![Coverage Status](https://coveralls.io/repos/ocadotechnology/rapid-router/badge.svg?branch=master&service=github)](https://coveralls.io/github/ocadotechnology/rapid-router?branch=master)
[![Code Climate](https://codeclimate.com/github/ocadotechnology/rapid-router/badges/gpa.svg)](https://codeclimate.com/github/ocadotechnology/rapid-router)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/code-for-life/localized.svg)](https://crowdin.com/project/code-for-life)

Rapid Router is a 'Code For Life' project, aimed at teaching children programming concepts through a vehicle routing
game.

## To use the app
Go to the official [Code For Life website][c4l].

## To run the app locally
* Clone the repo
* Make and activate a virtualenv (We recommend [virtualenvwrapper](http://virtualenvwrapper.readthedocs.org/en/latest/index.html) - [this blog post](http://mkelsey.com/2013/04/30/how-i-setup-virtualenv-and-virtualenvwrapper-on-my-mac/) may also be
useful if you're using a Mac)
* e.g. the first time, `mkvirtualenv -a path/to/rapid-router rapid-router`
* and thereafter `workon rapid-router`
* `./run` in your rapid-router dir - This will:
* install all of the dependencies using pip
* sync the database
* collect the static files
* run the server

## 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](https://crowdin.com/project/code-for-life/settings#integration)
* Set your `django_language` cookie to `lol-us` to enable in-context localisation

## Run the app locally from scratch
(Tested on Linux Mint, Ubuntu 16.04...)

* Prerequisites:
* `sudo apt-get install git`
* `sudo apt-get install virtualenvwrapper`
* `sudo apt-get install python-dev`
* `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).
* To run:
* 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`
* `./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`.

## To contribute
__Found a problem? Please check whether it has already been reported in our [issue tracker][issues] first!__ If not,
[add it][add-issue]. 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][issues] first!__ if
not, [add it][add-issue]. 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?__ Check out the [issue tracker][issues] for the tasks we'd like to implement. The
[issues with the 'ready for pickup' label][ready-for-pickup] 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.

[c4l]: https://www.codeforlife.education/
[c4l-portal]: http://github.com/ocadotechnology/codeforlife-portal/
[issues]: https://github.com/ocadotechnology/rapid-router/issues
[add-issue]: https://github.com/ocadotechnology/rapid-router/issues/new
[ready-for-pickup]: https://github.com/ocadotechnology/rapid-router/labels/ready%20for%20pickup

Metadata

Release files for rapid-router 1.0.0.post.dev186

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rapid-router 1.0.0.post.dev186
File Size Uploaded Provenance Actions
rapid-router-1.0.0.post.dev186.tar.gz 5.5 MB Without provenance Details for rapid-router-1.0.0.post.dev186.tar.gz

Release files / rapid-router-1.0.0.post.dev186.tar.gz

Download URL rapid-router-1.0.0.post.dev186.tar.gz
Size 5.5 MB
Tags Source
SHA-256 checksum
How to use checksums
8952f855652b59bca7e7050d106c1dbe1b8b52aa813a594359e3b04bbc987481
BLAKE2b-256 checksum
How to use checksums
d49594b9c555238d801810ecfe8c94fd59f73e06251ab1c2a4a1cb6bac763adc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for rapid-router 1.0.0.post.dev186

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page