Commit Graph

347 Commits

Author SHA1 Message Date
696c2e0bd8 docs: implement "Docs-as-Code" strategy, refine agent definitions, and update documentation structure
Introduced the "Docs-as-Code" approach across the project to ensure maintainable and versioned documentation. Updated agent role definitions and responsibilities in `AGENTS.md`. Reorganized and expanded the `/docs` directory for better alignment with project workflows and architecture.
2026-01-13 10:23:38 +01:00
9e12018208 refactor(frontend, build): update PingViewModel initialization, resolve view model via Koin, and clean yarn dependencies
Injected `PingViewModel` via Koin to align with dependency injection best practices. Suppressed Gradle deprecation warnings and added the `frontend.core.sync` dependency. Cleaned up outdated packages in `yarn.lock`.
2026-01-12 19:47:59 +01:00
32e43b8fb0 refactor(build, dependencies): introduce SQLDelight WebWorker setup, update Spring Boot dependencies, and align versions
Configured `sqlite.worker.js` for OPFS-backed SQLite WASM operations in the frontend build pipeline. Added new Spring Boot dependency bundles including secure service configurations. Integrated updated database utilities with enhanced error handling. Removed outdated circuit breaker tests and replaced them with modern unit and integration test setups.
2026-01-12 17:05:44 +01:00
2f8529156a refactor(ping-service): remove CORS configuration from code, restructure modules, and update Gradle dependencies
Migrated CORS settings from code to `application.yaml` for better separation of concerns. Integrated `ping-api` into the new `contracts` module for improved modularity. Updated Gradle scripts and dependencies accordingly to reflect the new project structure.
2026-01-12 13:12:20 +01:00
1f9697d504 refactor(ping-service): remove CORS configuration from code, restructure modules, and update Gradle dependencies
Migrated CORS settings from code to `application.yaml` for better separation of concerns. Integrated `ping-api` into the new `contracts` module for improved modularity. Updated Gradle scripts and dependencies accordingly to reflect the new project structure.
2026-01-12 13:04:00 +01:00
02317e6c00 disable(Wasm): temporarily deactivate WASM target across modules for stability
Deactivated WebAssembly configurations in relevant modules due to stability concerns with JS compatibility. Updated Gradle scripts to comment out related dependencies and tasks while preserving the initial implementation for future reactivation.
2026-01-09 15:40:40 +01:00
35da070893 refactor(build): enable Wasm by default and refactor modules for improved KMP compatibility
Enabled Wasm target across all relevant modules and removed conditional enablement logic. Refactored `core:core-utils` to move JVM-specific code to a new `backend:infrastructure:persistence` module for strict KMP compliance. Updated dependencies, adjusted Gradle configurations, and resolved circular dependencies.
2026-01-09 14:36:10 +01:00
13cfc37b37 migrate(local-db): replace Room with SQLDelight for JS/WASM compatibility
Replaced Room with SQLDelight for improved multiplatform support, enabling JavaScript and WebAssembly targets. Added custom database driver implementations for JVM, JS, and WASM. Updated Gradle configurations, dependencies, and project structure accordingly.
2026-01-09 12:32:12 +01:00
6443edd386 chore(build, dependencies): add Room support with KSP integration and optimize testing dependencies
- Integrated Room plugin and runtime dependencies into `local-db` module, including schema configuration for Room.
- Added KSP processor dependencies for Kotlin Multiplatform compatibility.
- Enhanced `core-domain` module by refining and temporarily adjusting testing dependencies for resolution issues.
2026-01-08 23:45:35 +01:00
ac5717c912 refactor(build): remove docker-compose hardcoded file, update compose dependencies, and resolve library conflicts
Deleted the unused `compose.hardcoded.yaml` file. Updated Gradle build scripts to resolve issues with Jackson and Resilience4j library bundles by explicitly specifying direct dependencies. Removed the `sqldelight` plugin and related dependencies from `local-db` module. Consolidated `docker-compose.yaml` to standardize restart policies. Adjusted `.env` to include cautions for sensitive data and rechecked Java version comments.
2026-01-08 16:46:40 +01:00
98f1abf374 chore(network): consolidate io.ktor.client imports in NetworkModule for cleaner and concise structure 2026-01-08 01:31:37 +01:00
82934804f3 chore(tests, dependencies, build): optimize test assertions, fix mocking issues, and update dependencies
- Simplified test assertions by removing redundant type casting in `ResultTest`.
- Improved Redis mock behavior and verification leniency in `RedisDistributedCacheTest`.
- Updated dependency versions in `libs.versions.toml` (e.g., downgraded `ktor` and adjusted `composeMultiplatform`).
- Refined Gradle build scripts for consistent compiler args and testing configurations (e.g., disabled browser tests in frontend).
- Addressed mocking issues in `RedisDistributedCacheTest` to prevent `NoSuchMethodError`.
- Fixed package imports due to framework updates in Spring Boot and Micrometer-related components.
2026-01-08 01:29:54 +01:00
ec616a7956 chore(docs): add comprehensive compatibility and architecture reports for 2026 technology stack
- Integrated detailed reports on compatibility and strategic architecture for the 2026 technology stack.
- Documents analyze JVM/Multiplatform components including Kotlin 2.3.0, Java 25, Spring Boot 3.5.9, and Compose Multiplatform.
- Provides guidance on resolving dependency conflicts, best practices, and version alignment for production readiness.
2026-01-08 00:34:27 +01:00
6e58af1b5b chore(cleanup): remove unused FallbackController and outdated GatewayDependencies.txt
- Deleted `FallbackController` as it is no longer required, with alternatives already in place.
- Removed `GatewayDependencies.txt` to clean up outdated and redundant dependency tracking files.
2026-01-04 22:47:11 +01:00
a2faf2166a chore(dependencies): add Gateway dependency report for tracking compile classpath dependencies
- Generated and included `GatewayDependencies.txt` for detailed visibility of dependency structure and resolution.
2026-01-03 22:55:42 +01:00
cfbed7da3a chore(docs): add "What's new in Kotlin 2.3.0" documentation
- Introduced a detailed technical reference covering the Kotlin 2.3.0 release.
- Highlights include language improvements, JVM support for Java 25, and Native/Wasm/JS updates.
- Document serves as a comprehensive upgrade and feature adoption guide for developers.
2026-01-03 22:55:22 +01:00
b4d264acb2 chore(docs): add comprehensive Gradle Kotlin DSL primer
- Introduced an extensive technical reference document on Gradle Kotlin DSL.
- Covers Kotlin DSL concepts, IDE support, type-safe model accessors, lazy configuration, and plugin development.
- Aims to enhance developer onboarding and improve IDE integration insights.
2026-01-03 22:55:09 +01:00
3728a1c630 chore(build): remove buildSrc and enforce stable kotlinx-serialization-json version
- Deleted `buildSrc` directory to streamline the build script structure.
- Enforced stable `kotlinx-serialization-json:1.7.3` version to resolve dependency resolution issues.
2026-01-03 22:55:01 +01:00
cc2fb066d6 chore(build): remove ForbiddenAuthorizationHeaderTask and related architecture guard tasks
- Deleted `ForbiddenAuthorizationHeaderTask` and its registration in the build script to simplify the build process.
- Removed associated architectural guard checks (`archGuardForbiddenAuthorizationHeader` and `archGuards`).
2026-01-03 22:54:49 +01:00
bd0cc49cf5 chore(build): remove FeatureIsolationTask and simplify exception handling in build script
- Deleted `FeatureIsolationTask` for build script simplification and maintainability.
- Replaced `_` with `e` in `Throwable` catch blocks to improve readability.
2026-01-03 22:54:22 +01:00
5a142a26b4 chore(build): inline checkBundleBudget task into main build script and remove redundant custom task class
- Moved `checkBundleBudget` logic from custom class to `build.gradle.kts` for simplicity and cohesion.
- Deleted `BundleBudgetTask` and associated custom Gradle plugin.
- Enhanced budget check reporting and streamlined task integration with existing build pipeline.
2026-01-03 22:54:11 +01:00
cb933c7cc2 chore(build): enable consistent JVM 25 configuration for Java & Kotlin, update Kotlin compilation flags
- Unified JVM toolchain to target Java 25 across all subprojects.
- Applied consistent Kotlin compilation settings with support for JVM 25 target and enhanced compiler arguments.
- Added technical reference document for Kotlin 2.3.0 and Java 25 compatibility guidelines.
2026-01-03 22:54:01 +01:00
ead48cf9f5 chore(build): update JVM target to 25, enforce stable kotlinx-serialization-json, and add bundle size budget checks
- Updated Kotlin compiler and JVM toolchain to target JVM 25 in all subprojects.
- Enforced stable `kotlinx-serialization-json:1.7.3` version to prevent resolution issues.
- Introduced JS bundle size budget checks for frontend shells with gzip support and reporting.
- Refined and reorganized Gradle module includes in `settings.gradle.kts`.
- Removed legacy and redundant dependency configurations for improved clarity.
2026-01-03 22:53:32 +01:00
3d3c9e2241 refactor(build): remove unused files and adjust JVM toolchain to Java 24
Deleted `.fleet/receipt.json`, `.vscode/settings.json`, and unused `CLASSPATH` references from Gradle scripts. Updated JVM toolchain configuration from Java 25 to Java 24 in `build.gradle.kts` for consistency.
2026-01-03 15:49:09 +01:00
181e4e9733 refactor(build): remove forced kotlinx-serialization-json version constraint 2026-01-03 15:06:15 +01:00
a828198377 refactor(build): consolidate architecture guard tasks into reusable custom Gradle scripts
Replaced task implementations for `ForbiddenAuthorizationHeaderTask`, `FeatureIsolationTask`, and `BundleBudgetTask` with dedicated buildSrc scripts for improved clarity and maintainability. Updated task registrations accordingly in `build.gradle.kts`.
2026-01-03 14:38:22 +01:00
4f79c3c755 refactor(build): move Budget class to top-level 2026-01-03 14:37:55 +01:00
12f9ee23d8 refactor(build): extract reusable tasks into custom Gradle classes
Replaced inlined implementations of `ForbiddenAuthorizationHeaderTask`, `FeatureIsolationTask`, and `BundleBudgetTask` with dedicated custom Gradle task classes for improved maintainability and reusability. Updated task registrations in `build.gradle.kts`.
2026-01-03 13:37:11 +01:00
6c33de1680 refactor(vscode): update paths for Docker config and schemas, introduce Kotlin and Java configuration
Aligned `.vscode/settings.json` paths with the restructured `config/` directory. Added Kotlin language server and compiler settings, along with Java 25 runtime configuration. Simplified command-runner tasks.
2026-01-03 12:52:17 +01:00
591f703015 refactor(build): centralize JVM toolchain configuration in root build.gradle.kts
Removed redundant `jvmToolchain(25)` declarations across module build scripts, as the JVM toolchain is now managed centrally. Added comments for clarity.
2026-01-03 12:52:01 +01:00
e8f458d4c5 upgrade build: Kotlin-JVM Toolchain auf 25 gesetzt, JVM Target korrigiert & Gitignore erweitert 2026-01-03 12:51:43 +01:00
097721aca3 chore(dependencies): upgrade Spring Boot to 4.0.1, restore reactor-kafka version, add missing AOP starter
- Updated `springBoot` to version `4.0.1` for compatibility improvements.
- Reactivated and explicitly defined `reactor-kafka` dependency.
- Added missing `spring-boot-starter-aop` definition to dependency catalog.
2026-01-03 00:36:11 +01:00
2f7fe23f45 chore(gradle): centralize repository config in settings.gradle.kts and simplify BOM management
### Summary
- Removed `repositories` blocks from individual `build.gradle.kts` files, moving configuration to `settings.gradle.kts`.
- Replaced custom Spring Boot constraints in the platform BOM with the Spring Boot BOM for cleaner dependency management.
- Explicitly added `webflux` dependency for Gateway to handle transitivity changes in Spring Boot 4.x.
2026-01-03 00:34:08 +01:00
e38b693847 Versuche 2025-12-31 00:20:29 +01:00
9283f26df1 upgrade Java-25 Kotlin-2.3.0 usw. 2025-12-30 16:08:40 +01:00
84c3cfd787 upgrade Java-25 Kotlin-2.3.0 usw. 2025-12-24 13:54:22 +01:00
98a9504cbd upgrade Java-25 Kotlin-2.3.0 usw. 2025-12-22 14:12:51 +01:00
7b5fd063fb refactor(frontend): Landing‑Seite als Start gesetzt, Navigation um AppScreen.Landing erweitert und Footer‑Text modernisiert. 2025-12-13 13:00:13 +01:00
f402fbaf19 refactor(infra): Restrukturierung Config-Ordner & Einführung von Docker-Profilen
Umfangreiches Refactoring der Projektkonfiguration zur klaren Trennung von Build-, Runtime- und Applikations-Logik.

Änderungen im Detail:
- Struktur: Neuorganisation des `config/` Verzeichnisses in logische Bereiche:
  - `config/docker`: Reine Infrastruktur-Configs (Postgres, Redis, Nginx, Monitoring).
  - `config/quality`: Statische Code-Analyse (Detekt, Lint).
  - `config/app`: Gemeinsame Spring-Boot-Konfigurationen.
- Docker Compose:
  - Einführung von Profilen (`infra`, `backend`, `ops`, `gui`, `tools`) für gezieltes Starten von Teilbereichen.
  - Anpassung aller Volume-Pfade auf die neue Struktur.
- Spring Boot Config:
  - Zentralisierung gemeinsamer Einstellungen (Datasource, Redis, JPA) in `config/app/base-application.yml`.
  - Parametrisierung der Hosts für nahtlosen Wechsel zwischen Docker und Localhost.
  - Bereinigung der service-spezifischen `application.yaml` Dateien (z.B. Ping-Service).
- Cleanup: Entfernen redundanter "Ghost-Files" (`versions.toml`, `central.toml`, `config/.env`), um eine echte Single Source of Truth (SSoT) zu gewährleisten.
2025-12-10 15:25:10 +01:00
8221a7b915 fix `expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573 2025-12-10 09:07:15 +01:00
52f7b33cbb fix `expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573 2025-12-10 09:06:48 +01:00
f0d85aa4da Versuche 2025-12-08 20:46:47 +01:00
21ee130ebf chore(MP-30): final docs cleanup, adr consolidation & legacy removal
### Summary
- Rebuild `docs/how-to/start-local.md`

Ref: MP-30
2025-12-08 18:25:46 +01:00
33f1c0fab5 chore(MP-30): final docs cleanup, adr consolidation & legacy removal
### Summary
- Updated root `README.md` to reflect the new Backend/Frontend structure.
  - Rewrote the project structure section to show `backend/` and `frontend/` with their submodules, and `docs/adr` + `docs/c4`.
  - Corrected Gradle module examples from old `:members:members-service` paths to `:backend:services:results:results-service` for both `bootRun` and `test` examples.
  - Verified links now point to `docs/adr` and `docs/c4`.
- Updated `docs/README.md` to ensure flat paths:
  - Confirmed ADR and C4 links point to `adr/` and `c4/` respectively.
  - Updated the footer note to today’s date and linked ADR-0009.

These changes align the docs with the consolidated, flat documentation layout and the finalized module structure.

Ref: MP-30
2025-12-08 18:17:19 +01:00
14770003bd chore(MP-30): final docs cleanup, adr consolidation & legacy removal
Summary
- **Documentation Cleanup:**
  - ADRs consolidated to `docs/adr/`.
  - C4 diagrams moved to `docs/c4/`.
  - Removed legacy folder `docs/architecture/` and `docs/clients/`.
- **New ADR:** Added `0009-final-kmp-architecture.md` (Accepted).
- **Updates:**
  - `ARCHITECTURE.md` updated with final folder structure (Core Modules).
  - `README.md` links fixed.
- **Verification:**
  - `./gradlew staticAnalysis` -> SUCCESS.
  - Path references checked.

Ref: MP-30
2025-12-08 18:04:44 +01:00
StefanMo
5ea4730cd4
feat(MP-29): navigation core module, auth guards & shell wiring\n\n- Establish :frontend:core:navigation module with DeepLinkHandler\n- Introduce NavigationPort & CurrentUserProvider (DI)\n- Harden admin routes against AppRoles.ADMIN\n- Wire Koin in JS/JVM/Wasm shells (navigationModule)\n- Remove legacy DeepLinkHandler from shared\n- Add unit tests for guard logic\n\nRef: MP-29 (#24) 2025-12-08 14:23:08 +01:00
df2562ea23 chore(MP-28): add arch guards, bundle budgets & detekt consolidation
Summary
- Detekt Config zentralisiert (`config/detekt/detekt.yml`), alte Config gelöscht.
- Gradle Task `archGuardNoFeatureToFeatureDeps`: Verbietet Abhängigkeiten zwischen Feature-Modulen.
- Gradle Task `checkBundleBudget`: Prüft JS-Bundle-Größen gegen `config/bundles/budgets.json`.
- CI Integration: Budgets werden nach dem Build geprüft.

Verification
- `./gradlew archGuards` -> SUCCESS
- `./gradlew checkBundleBudget` -> SUCCESS
- CI Pipeline -> SUCCESS

Ref: MP-28
2025-12-08 12:19:41 +01:00
114236c8d9 feat(MP-27): backend consolidation, gateway routing & service dockerfiles
Summary
- Backend Services (Entries, Results, Scheduling) haben Dockerfiles.
- Docker Compose Orchestrierung steht (DB + Gateway + Services).
- Gateway Routing für `entries-service` implementiert (StripPrefix, Path Rewrites).
- Health-Checks und 409-Conflict-Demo Endpunkt verifiziert.

Verification
- `docker compose up --build` -> Success
- `curl http://localhost:8081/api/entries` -> 200 OK (routed through Gateway)

Ref: MP-27
2025-12-08 11:39:43 +01:00
b4769d89bc MP-27 Epic 7: Backend‑Konsolidierung – Services & Gateway 2025-12-06 23:43:46 +01:00
67d5de7608 MP-27 Epic 7: Backend‑Konsolidierung – Services & Gateway 2025-12-06 23:39:11 +01:00