This repository contains a master Django project, documentation, and a demo app. Code for the individual components of the API is in separate packages, which this project depends on:
While the Canada site doesn't currently use it, there's a plugin project to provide colourful district map tiles:
The following instructions are to setup your own instance of Represent. If you just want access to data, please read our API documentation.
Follow the instructions in the Python Quick Start Guide to install Homebrew, Git, Python, virtualenv, GDAL and PostGIS.
Create a database using the PostGIS template:
createdb -h localhost boundaryservice -T template_postgis
Install the project:
mkvirtualenv represent git clone git://github.com/opennorth/represent-canada.git cd represent-canada pip install -r requirements.txt
DATABASES Django setting and and create the database tables:
cp settings.py.example settings.py $EDITOR settings.py python manage.py syncdb python manage.py migrate
You can launch a development server with:
python manage.py runserver
Download the data, and then symlink
represent-canada-data into the project directory:
mkdir data ln -s /path/to/represent-canada-data/ data/shapefiles
To load the data into the API, see the documentation for the boundaries, representatives, and postcodes packages.
Apart from the postcode component, which is optional and simple to rewrite, we've tried to avoid any Canada-specific code in this project. We hope reusing our code isn't too difficult, and would love to hear about international project using this code.