Streamlined `.drone.yml` by removing redundant test-and-jar step, introducing image caching with `cache_from`, and refining conditional triggers. Enhanced `Dockerfile` with multi-stage builds for dependency warming, test execution, and efficient package creation, alongside runtime optimizations for graceful shutdown and resource management.
Enhanced `.drone.yml` to enable Docker BuildKit for efficient builds and added support for Gradle cache persistence across runs. Introduced OCI-compliant image labels for traceability. Updated `.dockerignore` to exclude unnecessary files from Docker context.
Introduced `Project` and `Task` entities, along with supporting services, repositories, and APIs. Added features for project-based and household-level task management, including creation, listing, updates, and validation. Implemented scheduled notifications for tasks due tomorrow. Updated Flyway migrations, configuration files, and tests to support these functionalities.
Introduced `Household` and `HouseholdMember` entities, services, and repositories, enabling role-based access (`OWNER` and `MEMBER`). Added REST APIs for household creation, member management, and listing. Configured Flyway migrations, updated tests, and included IntelliJ HTTP client script for API testing. Updated `README.md` with feature details, usage instructions, and architecture overview.
Replaced lambda expression with a method reference for disabling CSRF in the security configuration. This improves readability and aligns with best practices for concise code. No functional changes were introduced.
Updated Keycloak settings in `realm-hemhub.json` to include additional roles, user attributes, client scopes, and OpenID Connect configurations. Modified `application.yml` to replace `issuer-uri` with `jwk-set-uri` for JWT handling. Enhanced `docker-compose.yml` to include persistent volumes, updated Keycloak image, and environment variables for better container interoperability.
Introduced JWT-based authentication with role handling using Keycloak. Added the `/me` endpoint to return user information and roles. Configured testing, Keycloak integration, and public-facing `/public/info` endpoint enhancements.
Integrate JaCoCo to enforce and report test coverage with a minimum threshold of 65%. Update Drone CI configuration to use a new Docker registry (rubble.se:5000) and add support for authentication with secrets.