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 | |
|---|---|---|
| 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.