Card Management System¶
This page gives an overview of the Card Management System, describing its current status, where and how it's developed and deployed, and who is responsible for maintaining it.
This service as a whole is currently pre-alpha and is not usable in production.
The Card Management System is a replacement for the existing legacy card database. The Card Management System will allow the management of university cards - from the creation and printing of university cards, through to the export of data for use by downstream systems.
The Card Management System as a whole is currently
pre-alpha, although the
Card API has
alpha for testing with a limited number of users.
The Card Management System is under active development, details of the project can be found within the project page on the UIS site.
Technical queries and support should be directed to email@example.com and will be picked up by a member of the team working on the service. To ensure that you receive a response, always direct requests to firstname.lastname@example.org rather than reaching out to team members directly.
Queries about the project or functionality of the Card Management System should be raised as GitLab issues in the feedback repository.
Technical questions or problems with the Card API should be raised as GitLab issues in the Card API repository.
The only component of the Card Management System currently deployed is the Card API, which is deployed behind the API Gateway:
|Name||URL||Internal GCP url|
API documentation for the production environment can be found within the API Gateway's developer portal.
Staging instances of the Card API serve data from the
Oracle database of the legacy card database. The
serves a limited set of data from the
Data is synced from the Oracle databases according to the schedules defined within the deployment project.
The source code for the Card Management System is spread over the following repositories:
|Card API||The source code for the Card API - the core API which will serve the frontend and other external services.|
|Card Client||The source code for the client tool which allows data to be exported from the Card API.|
|Sync Tool||The source code for the tool which allows data to be synced from the card db Oracle databases to the Card API.|
|Infrastructure Deployment||The Terraform infrastructure code for deploying the Card API and related services to GCP.|
The following gives an overview of the technologies the Card Management System is built on.
The following gives an overview of how the Card Management System is deployed and maintained.
How and where the Card Management System is deployed¶
The infrastructure for the Card Management System is deployed through the Terraform defined within the Deploy Identity project. The Card API itself is deployed via GitLab pipelines, and will be automatically deployed to staging on the success of each master pipeline (see pipeline configuration here), with production deployment a manual step in the pipeline once staging has succeeded.
Deploying a new release¶
Deploying a new release of the Card API to staging and then production can be completed by running the master pipeline within the Card API project. Changes must be tested in staging before deploying to production.
The Card API makes use of our GCP site monitoring module for monitoring of the production environment. This will send an alert to email@example.com if the Card API fails to respond to uptime checks.
Information about how to run and debug the Card API locally are included within the Card API's readme.
Information about the overall architecture of the new Card Management System can be found within the wiki page for the identity project.
Service Management and tech lead¶
The service owner for the Card Management System is currently vacant.
The service manager for the Card Management System is currently vacant.
The tech lead for the Card Management System is Monty Dawson.
The following engineers have operational experience with the Card Management System and are able to respond to support requests or incidents: