Skip to main content

ADR-007 We will use Pythom + Django + PostgresSQL for front-end development

Status

✅ Accepted

Context

Given the decision to layer our own interface over DataHub, this ADR is concerned with the choice of development stack for that application.

Analysis

There are a number of tech stacks in use in Justice Digital, including:

  • Ruby / Ruby on Rails
  • PHP
  • Python
  • .NET

Should the front-end application require its own data store, the following database management systems are available:

  • Oracle
  • PostgreSQL
  • MS SQL Server

Python is a well supported language within Justice Digital, and a common language for those involved with data. Python is the language used by DataHub.

Django is a popular, well documented development framework for Python web applications with good community support and regular updates.

PostgreSQL is much lower cost than the alternatives and has first-class support within our Cloud Platform.

Decision

We will use Python as the development language, Django as the web application framework, and PostgreSQL as a data store.

Consequences

  • The Data Catalogue team will need to ensure that the appropriate skills are in place to maintain the application
  • The team will need to ensure database resources are appropriately provisioned, and that backup and disaster reocvery processes are in place
This page was last reviewed on 16 July 2025. It needs to be reviewed again on 16 July 2026 by the page owner #find-moj-data .