Skip to content

bcgov/nr-forest-client

Merge to Main Unit Tests and Analysis

Issues Pull Requests MIT License Lifecycle

The nr-forest-client is a node.js application built with Vue.js in typescript as frontend, Spring boot java as backend, postgres and oracle for database, integrated with the greenfield-template to automate the process for testing, security scanning, code quality checking, image building and deploying.

Frontend

The frontend is built in Vue3 composition api, more info here

Backend

The backend is built in Java 17 using Spring Boot 3. It is composed of multiple components, more info about the backend here, the legacy part that handles oracle connections and the processor that handles the submission processing part.

Email templates

For more info about the email templates, click here

Automated End-to-End tests

For automated end-to-end tests with cypress you can check here. This is used to validate user journeys and some other cases.

Database Schema documentation

As the application evolves, so does the data, and to control the evolution of the database that stores all this new data. To make it in a controllable way, we can apply the same strategy we use for our codebase into our database. To achieve that, we can use tools that will version and apply changes into the database in a controlled way. Team Alliance decided to make use of Flyway as the de-facto tool to database versioning. This means that we can recreate the database structure as many times as we need, along with basic data that needs to be inserted into the database.

We have the database schema documented using SchemaSpy. This is particularly useful tool for database administrators, developers, and analysts who need to understand the structure and relationships within a database. This allow us to automatically generate a visualization of the database schema through Entity-Relationship (ER) diagrams. These diagrams help users quickly grasp the relationships between tables, making it easier to navigate and understand complex databases.

You can find our database diagram on this page and more information about the database on this page