Repository navigation
Backend Overview
The backend component is the primary business logic layer for the Waste Plus application, providing RESTful APIs for forest client searching, user preferences, and reporting unit data.
It serves as the bridge between the React frontend and several data sources, including the PostgreSQL database, Amazon Cognito for authentication, and legacy integration services.
| Boundary/Layer | Framework | Version | Purpose |
|---|---|---|---|
| Controller | Spring Boot Web | 4.0.6 | REST API Exposure |
| Service | Spring Boot | 4.0.6 | Business Logic & Transactions |
| Repository | Spring Data JPA | 4.0.6 | Database Access |
| Provider | Spring Boot | 4.0.6 | External Service Integration |
| Security | Spring Security | 6.x | OAuth2/JWT Resource Server |
Authentication is handled via Amazon Cognito. The backend acts as an OAuth2 Resource Server, validating JWTs issued by Cognito. Claims are parsed using JwtPrincipalUtil to identify user identity and roles (BCEID/IDIR).
The component uses Micrometer Observation for tracing and metrics.
-
@Observedat the class level (Controllers/Services). -
@NewSpanfor specific method tracking. - Distributed tracing headers are propagated to downstream services.
- Backend Structure
- Backend Guidelines
- Backend Patterns
This wiki documents NR Waste Plus for users and developers. Verify security and deployment guidance against the current application configuration before applying it elsewhere.
- Report an issue or ask a question in the GitHub repository.
- Follow the Contributing Guidelines to propose an update.
- Read the Code of Conduct.
Collection indexes support human browsing and machine retrieval. Keep both current when adding or moving wiki pages.
NR Waste Plus Wiki | GitHub Repository