NRPTI Operations Guide - bcgov/common-service-showcase GitHub Wiki
Overview
- Application Overview
- ..more Techical Docs
- GIthub Repo: https://github.com/bcgov/NRPTI
- Application Architecture (screenshare recording)
- NRPTI (admin) Website:
- Keycloak realms (mapping business users to Keycloak roles):
Software used:
- Angular for frontend
- Express for API
- MongoDB for dtabase
- Metabse is also included
- various Cron jobs run to re-index data
Operations
Our team's efforts will be aimed at 'sustainment' of the application and scoped to the following
- keycloak updates
- break/fix
- platform updates
- data fixes (ie ministry name changes, database updates),
- tech debt (ie bug fixes, code health, refactoring)
There is a backlog of updates/features/changes that were tracked in the past on Jira
The NRPTI repo contains code for:
- The NRPTI api, backend, database
- frontend (angular) sites for
- NRPTI admin
- NRCED
- LNG
- BC Mines
Having the API and admin and public frontend in one repo matches the pattern of CSS team's other NodeJS apps. The frontend websites (NRPTI-admin, NRCED and LNG) are separate angular projects but share some common/global code. We could consider splitting this up.
Pipeline and Development Lifecycle
Jenkins is used to deploy from the Master branch of the GitHub repo. Pull requests are pulled to the reviewer's local environment for review before merging.
database backups
- uses bcgov backup container. see: https://github.com/bcgov/common-service-showcase/wiki/Database-Backup#manual-run
Keycloak Admin
- Keycloak roles grant access to features in the app
- see:
\angular\projects\admin-nrpti\src\app\services\keycloak.service.ts
- Uses realm:
3l5nw6dk
Users are assigned roles that correspond to their program area.. this restricts functionality within the NRPTI admin website to importing and exporting records relating to them. A super user (with role nrced-admin
) can see all records for all program areas.