Skip to main content

Development

As with any digital project developers are key! We are spread out across multiple teams and use this documentation to agree on ways of working and best practices for anyone developing on the project.

  • Key Principles - The key principles we keep in mind when developing code
  • Onboarding - a useful checklist for new developers joining the project, goes through key bits of documentation to review before contributing!
  • Deploy & Release Procedure - Our agreed procedure for release changes to applications, data piplines and packages.
  • Monitoring - Information on various monitoring systems that developers can use to monnitor the state of our resources.
  • Testing Guidance - Testing is a key piece of development, this guidannce defines the types of testing we expect and some tips for our main languages.
  • Useful Repos - A list of useful repositories in our organisation.

How-To Guides

These guides are short snappy instructions for developers and how specific things can be achieved. Useful for new and experienced developers.

  • Installing GDAL - GDAL is a set of geospatial tools and is needed for data processing
  • Installing Make - make is used for compiling code, we use it for processing and shorcuts for application set-up
  • Installing Sqlite - slqlite lite is a common format in our processing to store input and output data.
  • Make Python Virtual Envirronment - brief guidance on making python venvs for development
  • Set Up WSL - For windows users to set up wsl as our repositories focus on using linux
  • Using Different Python Versions - currently our pipline and apps using slightly different version, this gives advice on how to use multiple versions

Tutorials

These tutorials are aimed at new joiners to the prroject or the subject and give additional context and information whille guiding a developer through several processes.

  • Running A Data Collection - shows the most important part of our data processing.
  • Setting Up The API - Our primary application for consumers using the output our platform, shows how to run the loading process and set up the app.