-
Notifications
You must be signed in to change notification settings - Fork 2
Legacy Architecture Overview
Maria Martinez edited this page Sep 21, 2026
·
2 revisions
The nr-forest-client-legacy module isolates legacy database operations, serving as the bridge between the modern Forest Client system and the ministry's historic Oracle Database.
For decades, client records, tenure allocations, and forest health marks have been recorded in an enterprise Oracle database under the THE schema. The legacy service provides:
- Direct Oracle Data Access: High-performance JDBC queries mapped to modern Spring Boot endpoints.
- Backward Compatibility: Allows modern services to query existing client accounts, search by legacy client number, and retrieve historical relationship graphs.
-
Transactional Persistence: Inserts new, approved client registrations, locations, and contacts into the Oracle
THEschema with legacy primary keys and sequences.
- Framework: Spring Boot 4 WebFlux
- Runtime: Java 21 LTS
- Database Driver: Oracle R2DBC Driver 23.x (reactive non-blocking database access)
- Mapping: MapStruct 1.6.x for high-efficiency, zero-reflection object mapping
-
Migrations: Flyway migration scripts in
legacy/src/test/resources/db/migrationfor reproducible test/local schemas
- Searches client records by client number, legal name, acronym, or doing-business-as (DBA) name.
- Returns normalized client summary DTOs consumed by the main backend and processor.
- Fetches all associated addresses, billing locations, and contacts recorded under a legacy client number.
- Exposes endpoints to insert new location rows (
CLIENT_LOCATION) and contact rows (CLIENT_CONTACT) when submissions are approved.
- Provides fuzzy matching endpoints against
THE.FOREST_CLIENTused by the background processor during automated validation checks.
This wiki serves as the central documentation and knowledge base for the Forests Client Management System, maintained by the British Columbia Ministry of Forests.
Please Note:
- This wiki is a living document maintained by the development team and contributors.
- When making substantial architectural or code changes, remember to update the corresponding wiki documentation.
- Always verify critical environment configurations against team vaults and OpenShift secret managers.
Have questions, found a documentation discrepancy, or need clarification?
- Questions or Bug Reports: Open an issue in the GitHub repository
- Pull Requests: Submit code or doc improvements via Pull Requests
- Database Schema Reference: Explore our SchemaSpy ER Diagrams
Forest Client Wiki | GitHub Repository
- Architecture Overview
- Frontend Architecture
- Frontend Structure
- Backend Architecture
- Backend Structure
- Legacy Architecture
- Processor Architecture
- Data Model
- Development Overview
- Local Setup & Docker
- Frontend Setup
- Backend Setup
- Project Conventions
- Frontend Structure Guidelines