Skip to content
Mike Simpson edited this page Feb 20, 2025 · 56 revisions

Welcome to the Colouring Cities Technical Manual.

This wiki is intended as a centralised repository of all the technical information that research software engineers need to know about Colouring Cities (CCRP) and its codebase, including how to get started with your own Colouring Cities platform. The Manual is being collaboratively developed across countries by the international research software engineering team.

Overview

Each Colouring Cities platform consists of a Web Application and a 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 codebase to quickly get their platform up and running. Users can also contribute to the Core Platform, allowing new features to be added 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 Turing team will set up everything on GitHub, including creating a fork of the Core platform and adding users to a Team, so they have access to everything they need to get started.

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 publically 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 and the ColouringCities.org homepage.

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.

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