43 Commits

Author SHA1 Message Date
Jan Meinl af4b9fa19d Fixed some deprication 2026-05-28 08:10:35 +00:00
Jan Meinl c0512b67e3 Merge branch 'main' of https://git.coph.dev/FlightScore/FlightScore-Backend 2026-05-28 08:06:39 +00:00
Jan Meinl 73e3aac0dc Updated Gradle 2026-05-28 08:02:38 +00:00
CodingPhoenix 3fd786e5ef Merge pull request 'Forced Java Version and updated project' (#1) from master into main
Reviewed-on: #1
2026-05-28 08:01:48 +00:00
Jan Meinl 91f7b52e2b Updated Gradle 2026-05-28 07:59:04 +00:00
Jan Meinl bcba527ea9 Forced Java Version 2026-05-28 07:57:45 +00:00
Jan Meinl ec6d9d92ac Enhance CoordinateConverter with custom central meridian support and refine UTM distance calculations
- Added `toUtmGridAtMeridian` for flexible UTM projections with an arbitrary central meridian.
- Updated `DistanceCalculator` to use midpoint-based central meridian for accurate planar distance computations.
- Introduced longitude normalization utilities to improve handling of antimeridian crossings.
2026-05-16 07:55:27 +02:00
Jan Meinl fa888405bd Implement DistanceCalculator with multiple methods and refactor coordinate handling
- Introduced `DistanceCalculator` for 2D and 3D distance computation between coordinates and map grids.
- Added support for various calculation methods: Haversine, spherical law of cosines, and extended UTM Euclidean.
- Implemented the `Distance`, `DistanceCalculationMethod`, and `DistanceDimension` classes for structured result handling and flexible computation options.
- Extended `CoordinateConverter` for UTM projection enhancements, including forced zone and latitude band support.
- Updated `BalloonLiveParser` and `GridCoordinate` to accommodate new distance models and UTM latitude band handling.
2026-05-16 04:33:47 +02:00
Jan Meinl 384eb5729e Clean up imports in Main.java file and remove unused dependencies 2026-05-16 03:50:50 +02:00
Jan Meinl a722fae4c9 Add BalloonLiveParser implementation for parsing Balloon Live IGC files and integrate with track model
- Fully implement `BalloonLiveParser` to parse Balloon Live (IGC dialect) files, handling headers, B, K, and E records.
- Update `Track`, `Declaration`, and `MarkerDrop` models with Lombok for simplified field management.
- Refactor `Main` class to include necessary imports and clean unused code.
2026-05-15 13:13:07 +02:00
Jan Meinl 91c276349d Remove GeographicCoordinate class and refactor CoordinateConverter to simplify altitude handling and extend functionality. Converted all projections and transformations to use Coordinate and GridCoordinate. 2026-05-15 10:46:48 +02:00
Jan Meinl abadc40ed6 Add geographic-to-grid and grid-to-geographic projection methods in CoordinateConverter
- Introduced `toGrid` method enabling projection of geographic coordinates to grid coordinates with altitude source handling.
- Added `toCoordinate` method for inverse projection, converting grid coordinates back to geographic coordinates.
- Improved internal handling of altitude and ellipsoidal height for transformations.
2026-05-15 04:31:16 +02:00
Jan Meinl 7bcf1bb0d6 Add Coordinate Converter with high-precision transformations and integrate Geographic/Projected Coordinate models
- Introduced `CoordinateConverter` for high-precision datum and map grid transformations using Helmert and advanced projection algorithms.
- Added `GeographicCoordinate`, `GridCoordinate`, and `ProjectionMethod` classes to represent and manage coordinate data.
- Enhanced `MapGrid` with specific grid definitions and parameters.
- Updated `BalloonLiveParser` to include reference coordinate handling.
2026-05-15 04:12:52 +02:00
Jan Meinl 02d4935e01 Introduce MapGrid and MapDatum enums
- Added `MapGrid` enum to define grid types and associated projection methods.
- Added `MapDatum` enum to represent geodetic datums with relevant parameters and calculations.
2026-05-14 20:39:41 +02:00
Jan Meinl e52e082bcd Remove map projection framework and associated classes
- Deleted the `MapProjection` interface and all related implementations (`SwissGridProjection`, `SwissGridVariant`, `UtmProjection`, and `UtmResult`).
- Removed supporting classes
2026-05-14 17:55:32 +02:00
Jan Meinl 7b3209b161 Add map projection framework and integrate initial SwissGrid and UTM projections
- Introduced `MapProjection` interface for handling coordinate projections and unprojections.
- Added `SwissGridProjection` and `SwissGridVariant` for Swiss coordinate systems.
- Implemented `UtmProjection` and `UtmResult` for UTM coordinate systems, including hemisphere and zone handling.
- Created supporting classes such as `GeodeticDatum`, `MapDate`, and projection-specific result types for extensibility.
- Extended `BalloonLiveParser` and added `TrackParser` interface to structure track parsing functionality.
2026-05-14 16:20:41 +02:00
Jan Meinl 015a780760 Add placeholder BalloonLiveParser class in track parser package 2026-05-14 15:28:26 +02:00
Jan Meinl 3c67ca43b3 Refactor track model: replace TrackCoordinate with TrackPoint, add TrackHeader for header data 2026-05-14 15:26:06 +02:00
Jan Meinl 7104f97b3f Extend Pilot model with personal details and linked user ID fields 2026-05-14 14:42:01 +02:00
Jan Meinl 1928dbe8fb Expand task-related models with new task types and flight-related entities
- Added `TaskJDG`, `TaskPDG`, and a re-implemented `TaskHWZ` class, enhancing task abstraction with rule, abbreviation, and serialization methods.
- Introduced `Pilot`, `Track`, `MarkerDrop`, and `Declaration` classes for detailed flight representation.
- Made structural improvements across several classes for better clarity and maintainability.
2026-05-14 14:38:14 +02:00
Jan Meinl c6578e3eef Expand task and flight models, add new enums and classes
- Added `TaskHWZ` and `PublicationTask` classes with initial structure.
- Introduced `PublicationState` enum for task publication states and enhanced `Task` model with abstract methods, `flight`, and `scoringPeriodEnd` fields.
- Extended `TaskStatus`, `FlightStatus`, and `ContactType` enums with new values.
- Updated `Flight`, `FlightPublicData`, and their relationships with new fields like `competition`, `separationAltitudeOverride`, and additional notes.
2026-05-14 13:18:14 +02:00
Jan Meinl 93c6dc239c Add TaskStatus enum and integrate status field into Task model 2026-05-14 12:38:03 +02:00
Jan Meinl afc21046d4 Introduce Altitude record, enhance altitude handling, and expand models
- Added `Altitude` record for unified altitude representation with conversions between meters and feet.
- Updated `Coordinate` and `TrackCoordinate` to use `Altitude` instead of raw altitude values.
- Introduced `FlightStatus` enum for distinguishing flight stages.
- Enhanced `Task` with a `scoringPeriodeEnd` field and added altitude-related updates to `Competition`.
2026-05-14 12:32:23 +02:00
Jan Meinl 5ac820fc5a Add AltitudeSource enum and task model, update Competition with altitude source field
- Introduced `AltitudeSource` enum to specify altitude data sources (GPS, Barometric).
- Added `Task` class with task number field and fluent accessor annotations using Lombok.
- Updated `Competition` class to include the `altitudeSource` field.
2026-05-14 11:18:11 +02:00
Jan Meinl 096e3f5ec8 Add flight model classes with enums and relationships
- Added `Flight`, `FlightType`, `FlightPublicData`, `FlightScoringData` classes for representing flight details.
- Introduced `Daytime` enum for specifying flight time periods.
- Established relationships between flight-related classes for improved data organization.
2026-05-14 11:01:24 +02:00
Jan Meinl 0621e4f376 Add competition and coordinate model classes with enums and relationships
- Created `Competition`, `CompetitionType`, and `CompetitionContact` classes for representing competition details.
- Implemented `Coordinate`, `TrackCoordinate`, and `PositionValid` for geographical data handling.
- Added `ContactType` enum for competition contact categorization.
2026-05-14 10:29:37 +02:00
Jan Meinl 6e767ee703 Replace priority field with dependsOn dependency resolver for Providers
- Removed the `priority` method from `Provider` interface and its implementations.
- Introduced a `dependsOn` method for defining dependencies between Providers.
- Implemented a topological sorting mechanism in `ProviderManager` to handle Provider initialization order based on dependencies.
- Included validation for self-dependencies and unknown dependencies.
2026-05-13 21:23:05 +02:00
Jan Meinl 8479eb6ecd Add CompetitionProvider and fix permission query issue
- Introduced `CompetitionProvider` with skeleton methods for database handling.
- Fixed missing query execution in `PermissionProvider`.
2026-05-13 21:17:25 +02:00
Jan Meinl 470a41c783 Update Gradle wrapper, dependencies, and startup scripts
- Upgraded Gradle to 9.5.0 and enhanced wrapper properties with network timeout, retries, and URL validation settings.
- Updated dependencies to newer versions of lombok and simple libraries.
- Refined `gradlew` and `gradlew.bat` scripts for better error handling, compliance, and performance.
2026-05-13 19:48:13 +02:00
Jan Meinl a46b8081cf Add email claim to JWT, adjust role/permissions claims, and allow localhost:5173 origin 2026-04-12 15:49:21 +02:00
CodingPhoenix 2ad7cae8c4 Update email value in yaak.ev_rnW4WEytTs.yaml configuration file 2026-04-10 22:44:23 +02:00
CodingPhoenix 570bc18c66 Make fields in user-related classes immutable and simplify logger usage 2026-04-10 20:33:04 +02:00
CodingPhoenix eb7a9d0992 Update Gradle wrapper to version 9.4.1 2026-04-10 18:11:42 +02:00
CodingPhoenix 634f99240f Configure CORS for web server and secure refresh token with HTTP-only cookies 2026-02-16 21:37:35 +01:00
CodingPhoenixx 24eec67a46 Added auth refresh endpoint 2026-02-15 22:27:13 +01:00
CodingPhoenixx c285c261d1 Added new JWT-Token support and fixed some bugs. 2026-02-15 22:19:24 +01:00
CodingPhoenixx ffbf4f7500 Added Register Workflow Request Handler and fixed some bugs 2026-02-15 21:32:06 +01:00
CodingPhoenixx 6eca824961 Added login request handler 2026-02-15 19:55:02 +01:00
CodingPhoenixx e1f4522c7d Added base user functions 2026-02-15 18:41:32 +01:00
CodingPhoenixx fa9a51b1a6 Added login flow 2026-02-15 13:47:25 +01:00
CodingPhoenixx 2a2bd5d7b0 Added base providers for users, permission and roles 2026-02-15 13:01:43 +01:00
CodingPhoenixx 34d387138b Added base classes 2026-02-15 12:39:39 +01:00
CodingPhoenixx 61e6e40319 Initialize project with Gradle setup, core dependencies, and IntelliJ configuration. 2026-02-15 11:50:43 +01:00