7 Commits

Author SHA1 Message Date
Daniel Graf
aa419c8a82 fix(643): add SELinux compatibility to container startup (#651) 2026-01-07 18:38:45 +01:00
Daniel Graf
c45e6afdb9 feat(#559): update to Java 25 (#560) 2025-12-17 17:15:51 +01:00
Daniel Graf
b99240375b Docker update (#388) 2025-11-02 12:55:09 +01:00
Daniel Graf
4e65288aac 192 feature request all dates and times are utc UI user settings to show in local time in area (#225) 2025-09-08 14:58:27 +02:00
Daniel Graf
9a09f05082 30 fix usability issues on date selection (#31)
fixes #30 so the user can normally scroll to the left and right
2025-06-05 18:24:00 +02:00
Daniel Graf
905bed840d 19 finish docker integration for reitti (#20)
* feat: enable actuator health endpoint and add Docker healthcheck

* - added application-docker.properties
- update Dockerfile and corrosponding docker-compose.yml

* - removed init.sql

* docs: update environment variables in README and Docker Hub description

* docs: update environment variables section to table format

* - removed generated-requests.http
- updated application-docker.properties
2025-06-04 21:53:34 +02:00
Daniel Graf
ed07c18500 10 update detection of visits and places (#17)
* - Remove `SignificantPlaceService` and migrate functionality to `VisitService` and `VisitMergingService`.
- Decouple `Visit` from `SignificantPlace` by removing `place_id` and adding `latitude` and `longitude` fields.
- Refactor `LocationProcessingPipeline` to work with updated `VisitService` for stay point processing.
- Update database schema via migration to remove references to `place_id` in `visits` table.
- Cleanup and improve merging logic in `VisitMergingService` for processed visits.

* refactor: update visit merging logic and distance calculation method

* refactor: optimize visit merging algorithm to reduce ProcessedVisit objects

* refactor: rename Haversine distance method to improve clarity

* feat: add meters to degrees conversion method in GeoUtils

* test: add unit test for GeoUtils distance calculation

* test: add test cases for metersToDegreesAtPosition method

* feat: Add Testcontainers configuration for RabbitMQ and TimescaleDB

* - Refactor TestContainer management to simplify integration tests setup
- Remove redundant Google Takeout and GPX import endpoints from LocationDataApiController
- Add dedicated ImportDataApiController for handling file imports
- Replace RabbitTemplate dependency with ImportListener interface in ImportHandler
- Implement RabbitMQImportDispatcher to handle RabbitMQ interactions
- Convert GeoUtils method calls to use more succinct `distanceInMeters`
- Adjust visit merging threshold setting in application.properties
- Enable Flyway migrations during tests
- Add unit test for ImportHandler GPX functionality
- Update visit repository with method for unprocessed visit periods logging

* refactor: Adjust stay point detection parameters and time window calculation

* feat: make stay point detection parameters configurable

* - Remove `LocationDataProcessingService` and related unused files/tests.
- Migrate RabbitMQ listener to `LocationProcessingPipeline`.
- Add new test `StayPointDetectionServiceTest` for stay point detection validation.
- Refactor `ImportListener` method to `handleImport` for improved clarity.
- Enhance `RawLocationPoint` with `equals` and `hashCode` methods.
- Adjust stay point detection property names for better readability.
- Add `MockImportListener` for test use.
- Refactor and expand test coverage for `LocationDataService` and `ImportHandler`.
- Add utility method for `StayPoint` distance calculation in `GeoUtils`.

* - Remove unused imports from StayPointDetectionServiceTest.java

* refactor: Update place merge distance calculation using GeoUtils method

* feat: enhance visit merging with configurable time and proximity criteria

* - Introduced `VisitMergingServiceTest` to validate visit merging functionality.
- Optimized visit merging in `VisitMergingService` by removing unnecessary time checks and parameters.
- Refactored stay point detection in `StayPointDetectionService` for simplicity and improved clustering.
- Added helper methods `weightedCenter` and reduced redundant logic in `StayPointDetectionService`.
- Enhanced testing utilities in `AbstractIntegrationTest` for visit-related imports.
- Extended `ProcessedVisitRepository` with `findByUserOrderByStartTime` for better sorting.

* - Removed TimescaleDB extension from database initialization script.
- Increased ImportHandler batch size from 100 to 10,000.
- Added staypoint time threshold configuration property.
- Adjusted staypoint detection minimum points from 5 to 1 in test properties.
- Updated BCrypt encoded password for the admin user.
- Switched Docker PostGIS image from TimescaleDB to PostGIS Alpine.
- Expanded StayPointDetectionService processing window by 1 hour before and after points.
- Fixed SettingsController to retrieve the principal from authentication instead of details.

* - Replace `Point` with `GeoPoint` for better consistency and clarity across the codebase.
- Update stay point clustering logic to reflect new `GeoPoint` implementation.
- Add transaction management to visit merging service test.
- Optimize imports and flatten stay point detection to improve readability.
- Reduce batch size in import handler from 10000 to 100.
- Update application properties for fine-tuned stay point and visit processing settings.
- Introduce `GeoPoint` record for encapsulating geographic coordinates.
- Adjust test cases to match refined clustering and visit merging logic

* refactor: Simplify nearby places search by removing unnecessary blank line

* refactor: modify visit merging algorithm to merge consecutive visits at same place

* - Add `equals` and `hashCode` methods to `SignificantPlace` for better object comparison.
- Introduce `VisitMergingService` dependency and helper method `importUntilProcessedVisits` in `AbstractIntegrationTest`.
- Adjust `reitti.visit.merge-threshold-seconds` configuration from 300 to 600 seconds.
- Minor cleanup: remove redundant line in `VisitMergingService` and duplicate test data in `VisitMergingServiceTest`.

* - Add `toString` implementation to `SignificantPlace` class
- Add integration test for `TripDetectionService` to ensure trip detection logic between visits
- Include helper method to print detected trips in tests

* feat: make batch size configurable in ImportHandler with @Value

* refactor: Extend trip search time range by one day before and after

* added new icons

* - updated trip merging to ignore duplicates
- add first and last places if they start before the current day but end on it.

* - updated labels on trips

* refactor: remove icon element from entry rendering logic

* feat: add day and month for entries spanning multiple days

* - added day and month if time is outside the selected day

* style: update login.html to match dark theme of the app

* feat: add persistent login with remember-me functionality

* feat: add user update functionality to settings page

* style: remove extra semicolon in CSS file

* feat: allow editing of current logged-in user with re-login warning

* refactor: Remove unused return value from updateUser method

* refactor: use HTMX for user form management with dynamic fragments

* - add ability to update existing users
- add remember me functionality

* - finished login page

* feat: adjust marker size and popup to reflect visit duration

* Revert "- finished login page"

This reverts commit 424988d009.

* - updated display of visits

* build: add Docker image building configuration to pom.xml

* fixed running all tests

* added docker image creation to build step

* feat: Add Docker Hub description and update README with comprehensive project details

* docs: Update README with detailed project information and usage instructions

* added docker image creation to build step

* add pre-release.yml

* add pre-release.yml

* added docker push

* added docker push

* added docker push

* added docker push

* added docker push

* refactor: remove Spring Boot Docker plugin and add custom Dockerfile with UID/GID support

* feat: improve user and group ID switching in Dockerfile

* build: add docker run script for container deployment

* updated docker creation

* updated docker creation

* updated docker creation

* updated docker creation

* updated docker creation

* updated docker creation
2025-06-04 16:40:37 +02:00