Skip to content
Polly Hudson edited this page Apr 4, 2025 · 66 revisions

Welcome to the Colouring Cities Research Programme (CCRP) Technical Manual.

This wiki is intended as a centralised repository of all the technical information and documentation that software engineers need to know about the CCRP and its codebase, including how to get started with your own version of the Colouring Cities platform, how to import data, and what new features are being co-developed by CCRP international academic partners to improve the system.

The Manual is a live document to which CCRP RSE's have access to, to enable new findings to be recorded and to help platform partners come on board. Monthly Informal International Research Software Engineering meetings, Chaired by Concordia University, are also offered where key technical problems and plans are discussed.

This is the manual for the main CCRP platforms. There is a separate wiki/manual for the Impact Studies site._

Overview

Each Colouring Cities platform consists of a Web Application and PostgreSQL Database, which are typically hosted together on a Virtual Machine, i.e. on Microsoft's Azure platform.

image

Every platform is created as a fork from the Colouring Cities Core Platform, allowing everyone to use the same customisable core codebase to quickly get their platform up and running. Forks of the Core Platform can then be customised to a certain extent for use in different cities/countries/regions, however the main purpose of the academic programme is to create branded, standardised networked open spatial databases for countries that, critically, facilitate cross country analysis. Users can also contribute to the development of Core Platform, allowing new features to be pushed to the main fork and used by everyone in the CCRP.

image

Below, you will find instructions for how to configure the server, set up the database, import building footprints and everything else you need to get started with Colouring Cities.

CCRP Onboarding

We have an onboarding process for new Colouring Cities Platform partners joining the project.

The Core team will set up everything on GitHub, including creating a fork of the Core platform and adding users to a Team for your country/institution, so you have access to everything they need to get started.

We then have a series of step-by-step instructions that you can use to initialise and customise a local development environment, import building footprints and then deploy your local version of the platform.

Platform Setup and Deployment

We recommend that new partners get started by creating a local development environment, which can be used to configure the platform and then be used to develop and test new features. Once the platform is ready for deployment, we recommend setting up a Staging Site, so that multiple users can test the application in a safe testing environment, before finally deploying to a Production Site, which is the live version of the platform that is publicly accessible to your users.

image

The CCRP currently offers two options to help you get started with the Colouring Cities platform.

Partners should set up the platforms themselves by following our step-by-step guide, which includes information on setting up and configuring development and production environments, as well as access to a colouringcities.org domain name and importing building footprints. This is also a good way to introduce engineers to how the platform works.

How the CCRP Network works

An introduction to the CCRP Platform network.

GitHub

We use GitHub as our main platform for managing the CCRP. The Colouring Cities GitHub Organisation is host to the code for The Core Platform, Colouring Britain and the other Colouring Cities platforms. It is also the home of the CCRP manuals, the Impact Studies site [Repo] and the ColouringCities.org homepage [Repo].

image

The Colouring Cities Core Platform

Colouring Cities is built around the Colouring Cities Core Platform, which is a repository containing the majority of the code used by all Colouring Cities platforms. All platforms are created ('forked') from the Core Platform. This code can then be easily configured to create a Colouring [City Name/Country Name] platform. We also encourage all of our partners to contribute to the Core Platform, for example, if they develop any new features that would be of use to the rest of the CCRP.

Keeping the Platforms up-to-date

We recommend that engineers regularly synchronise their code with the Core Platform. Please follow these Step-by-step instructions on how to do this.

Organisation structure and Account Management

CCRP International RSE Group

Information on current and past CCRP research software engineers and RSE job specs.

Troubleshooting

Guides to support Colouring Cities platform development and how to fix some common issues.

New features in development

Information on new technical features being worked on within or across countries.

Demo Video Development

We have limited support for creating demo videos and screenshots of a Colouring Cities platform before development starts, i.e. to create a proof of concept as part of a grant application.

Clone this wiki locally