Repository navigation
Backend Conventions
Paulo Gomes da Cruz Junior edited this page Aug 27, 2026
·
1 revision
Sources are organized by layer under ca.bc.gov.nrs.hrs:
-
configuration/: Spring@Configurationbeans. -
controller/: REST API entry points. -
service/: Business logic and orchestration. -
repository/: Spring Data JPA interfaces. -
entity/: JPA entities and persistence models. -
dto/: Immutable records for API data transfer. -
provider/: Clients for external services (e.g., Cognito, Legacy). -
exception/: Domain and standard API exceptions. -
util/: Cross-cutting utility classes.
-
Controllers: Suffix with
Controller(e.g.,SearchController). -
Services: Suffix with
Service(e.g.,UserService). -
Repositories: Suffix with
Repository(e.g.,UserPreferenceRepository). -
Entities: Suffix with
Entity(e.g.,UserPreferenceEntity). -
DTOs: Implemented as
record, suffix withDto(e.g.,ForestClientDto). -
Methods: CamelCase (e.g.,
getUserPreferences). - Constants: UPPER_SNAKE_CASE.
- Use Lombok (
@AllArgsConstructor,@RequiredArgsConstructor,@Slf4j) to reduce boilerplate. - Prefer Constructor Injection over
@Autowired. - Methods interacting with external boundaries should be
@Observed.
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