NRPTI Operations Guide - bcgov/common-service-showcase GitHub Wiki

Overview

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

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.