Skip to content

Nursery Waiting List

[Team : Jackson Team] [Tech Lead : TBC] [Service Owner : TBC] [Service Manager : TBC] [Product Manager : TBC]

This page gives an overview of the Nursery Waiting List application, describing its current status, where and how it's developed and deployed, and who is responsible for maintaining it.

Service Description

The Nursery Waiting List application is used by Childcare Services (part of HR) and independent nurseries to track and manage submissions for childcare places.

Service Status

The Nursery Waiting List is currently live.

Contact

Technical queries and support should be directed as per our contact page.

Issues discovered in the functionality of service or new feature requests should be opened as GitLab issues in the application project.

Issues discovered with deployment, e.g. mis-configured certificates, broken authentication, etc, should be opened as GitLab issues in the deployment project.

Deployment environments

The Nursery Waiting List is currently deployed to the following environments:

Name URL
Production https://webapp.prod.nursery-wl.gcp.uis.cam.ac.uk/
Staging https://webapp.test.nursery-wl.gcp.uis.cam.ac.uk/
Development https://webapp.devel.nursery-wl.gcp.uis.cam.ac.uk/

Notification channel(s) for deployments

Environment Display name Email
Production Nursery Waiting List - Jackson DevOps team email channel devops-jackson@uis.cam.ac.uk

Source code

The source code for the Nursery Waiting List is spread over the following repositories:

Repository Description
Web application Django-based web application
Infrastructure Terraform-based deployment

The repositories and deployments are configured in the following repositories of other services:

Repository Service Description
Google Cloud product factory Manages the Nursery Waiting List deployments
GitLab project factory Manages the Childcare Services project group in GitLab (of which the Nursery Waiting List repositories are members)
GKE-hosted GitLab CI runners Provides CI/CD runners in Kubernetes (GKE)
User Notify configuration Sends notification emails to Childcare Services

Note that sometimes (for legacy reason) the identifier nursery-waiting-lists (plural) is used instead of nursery-waiting-list. It is preferable to use the latter singular form (nursery-waiting-list).

Technologies used

The following gives an overview of the technologies the Nursery Waiting List is built on.

Category Language Framework(s)
Web application backend Python Django
Web application frontend TypeScript/JavaScript React, MUI
Deployment Terraform Google Cloud Platform
Email service n/a User Notify service
Application platform n/a Unified DevOps Platform

Operational documentation

The following gives an overview of how the Nursery Waiting List application is deployed and maintained.

Monitoring

Monitoring is configured as per our standard Google Cloud Run application module.

Email delivery

The delivery status of notification/confirmation emails can be viewed at:

Deploying a new release

To deploy a new release, modify the release tag for the appropriate deployment environment by editing container_images in infrastructure/locals.tf, then raise and merge an MR. The CI/CD pipeline will need manual confirmation that the deployment should be performed (after manually checking the plan produced by Terraform), which can be done via the pipeline view in the GitLab UI.

Development documentation

The following location contains documents created during the development of the Nursery Waiting List service, including copies of papers submitted for TDA gates:

Legacy service

The previous (legacy; no longer deployed) implementation of the Nursery Waiting List application was written in VB.NET and utilised .NET 4.5 and ASP.NET Web Forms. It ran on Internet Information Services (IIS) and Microsoft SQL Server on-premises VMs. The source code repository is kept for reference purposes.

Service Management

The Team responsible for this service is Jackson Team.

The Tech Lead for this service is TBC.

The Service Owner for this service is TBC.

The Service Manager for this service is TBC.

The Product Manager for this service is TBC.