Overview
About our back ends
Last updated
Was this helpful?
About our back ends
Last updated
Was this helpful?
We have built our back ends primarily using , , and .
Each service has a back end code repository in the GitHub organisation which follows the naming convention:
our back end repos on GitHub.
To speed up the process of creating a new back end repo, we created the template repo which can be used to scaffold a new service's back end repo. Read on how to create a repo from a template.
After creating a repo from the template, run a case-insensitive search across all files for replace-me. Replace these strings with the appropriate value; this will most likely be the service's name.
In order to avoid repeating the same pipelines in every back end service, we centrally define the pipelines in our , and reference them in each back end service. In GitHub's terminology, these are referred to as .
There are 2 main pipelines in each back end service.
This pipeline is responsible for managing the process of contributing to our code base, such as checking our contributors have signed our contributor agreement, auto-assigning/-unassigning contributors to issues, and more.
The main pipeline for each back end service which simply reuses the pipeline located in the workspace. This pipeline is responsible for testing and deploying a back end service.
You can see an example of this pipeline in the .
You can see an example of this pipeline in the
To avoid repeating code across 2 or more back ends, we have created the repo which automatically tests and releases new version of the package using . These versioned packages can then be installed into our Python virtual-environments (.venv).
Learn more about our Python package .