Skip to content

Feat/externalize app configs - #21

Merged
mgrablo merged 5 commits into
masterfrom
feat/externalize-app-configs
Mar 4, 2026
Merged

mgrablo merged 5 commits into
masterfrom
feat/externalize-app-configs

Conversation

@mgrablo

@mgrablo mgrablo commented Mar 4, 2026

Copy link
Copy Markdown
Owner

This pull request introduces a new centralized configuration mechanism for business and infrastructure properties using type-safe configuration classes, improves documentation for configuration and setup, and implements robust pagination configuration and testing. The main themes are configuration management, pagination support, and documentation clarity.

Configuration Management Improvements:

  • Introduced type-safe configuration classes for business rules and infrastructure: added LoanProperties, SecurityProperties, and PaginationProperties as @ConfigurationProperties records, and enabled them in the main application (BiblioNodeApplication.java). This allows for externalized, validated, and easily maintainable configuration. [1] [2] [3] [4]
  • Updated service classes (AuthServiceImpl, LoanServiceImpl) and their tests to use the new configuration properties, improving maintainability and testability. [1] [2] [3] [4] [5] [6] [7]

Pagination Support:

  • Added PaginationConfig to globally enforce default and maximum page sizes for pageable endpoints, and to document these defaults in OpenAPI/Swagger UI.
  • Created PaginationIntegrationTest to verify default and max page size enforcement in API responses.
  • Added pagination-related properties to all relevant YAML config files (application.yaml, application-dev.yaml, application-test.yaml). [1] [2] [3]

Documentation and Setup Enhancements:

  • Expanded and clarified the README.md with a dedicated Configuration section, improved setup instructions, and clearer references to configuration and API documentation. Also clarified terminology around DTO/entity separation and persistence optimizations. [1] [2] [3]
  • Added notes about JPA auditing and improved the explanation of configuration via environment variables and YAML.

Minor Improvements:

  • Increased logging detail for debugging in development profile.

These changes together improve the maintainability, clarity, and robustness of configuration and pagination in the application, while making setup and documentation more user-friendly.

@mgrablo
mgrablo merged commit 6f86dee into master Mar 4, 2026
@mgrablo
mgrablo deleted the feat/externalize-app-configs branch March 4, 2026 19:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant