Commit Graph

417 Commits

Author SHA1 Message Date
a72953cea7 Audit and enhance playbook documentation: fix path inconsistencies, add missing "Abschluss" sections, standardize "Curator" frontmatter, and update Agent roles in README
Some checks failed
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 8m24s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m17s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 2m49s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m57s
2026-03-25 23:58:39 +01:00
49e97915e8 Upgrade dependencies and refactor: Update Gradle to 9.4.0, adjust TopBar and TurnierDetailScreen UI, and add ZNS import feature to Docker build context 2026-03-25 23:47:33 +01:00
3fe850d914 chore: remove unused meldestelle-portal module
- Deleted obsolete `meldestelle-portal` module, including all associated screens, configurations, tests, and assets.
- Includes removal of Compose multiplatform dependencies in `build.gradle.kts`.
- Cleaned up redundant files such as `AppPreview`, `AuthStatusScreen`, `DashboardScreen`, and associated core implementations.
- Streamlined module references in `settings.gradle.kts`.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-25 15:46:48 +01:00
9d08cb0f72 feat(zns-importer): add ZNSImportService with tests and REST controller
- Created `ZnsImportService` to handle uploading, parsing, and persisting ZNS data from legacy `.zip` files.
- Introduced corresponding test cases in `ZnsImportServiceTest` for handling edge cases including imports and updates.
- Added REST controller `ZnsImportController` for initiating import jobs and retrieving their status.
- Defined `ZnsImportResult` data structure for reporting results of import operations.
- Established database configuration specific to ZNS importer for development profile.
- Updated utility libraries with `FixedWidthLineReader` for fixed-width string parsing.
- Refactored architecture by placing parser logic in `core:zns-parser` for reuse across backend and Compose Desktop app.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-25 14:43:01 +01:00
4e8ed21ac0 feat(docs): add ZNS-Importer roadmap and update MASTER_ROADMAP
- Documented `Roadmap_ZNS_Importer.md` outlining goals, phases, and specifications for the ZNS importer MVP.
- Updated `MASTER_ROADMAP.md` to include ZNS roadmap reference and detailed task breakdown for ZNS importer.
- Marked progress on ÖTO/FEI rulebook tasks for CAN and CVN, with partial resolutions documented.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-25 12:19:58 +01:00
1a77bc92cc feat(docs): clarify CAN and CVN starter thresholds and update session logs
- Added session logs for 2026-03-25 addressing open questions on Fahren (CAN) and Voltigieren (CVN) starter thresholds.
- Enhanced `Abteilungs-Trennungs-Schwellenwerte.md` with findings, fallback rules for >80 starters, and new sections on CAN and CVN.
- Marked `MASTER_ROADMAP.md` tasks for CAN and CVN as partially resolved, with next steps outlined.
- Highlighted gaps in OEPS regulations for CAN and CVN, flagged as TODO for further investigation.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-25 12:19:50 +01:00
354bd49de6 feat: integrate new desktop shell and extend backend & ADRs
- Added `meldestelle-desktop` module using JVM/Compose Desktop, registered in `settings.gradle.kts`.
- Integrated new screens and desktop navigation into core: `Veranstaltungen`, `TurnierDetail`, etc.
- Expanded backend with `ExposedFunktionaerRepository` in `officials-infrastructure`.
- Completed ADRs for bounded context mapping (`ADR-0014`) and context map (`ADR-0015`).
- Updated and extended project documentation with session logs and architecture decisions.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-24 18:22:15 +01:00
c624df8744 feat(docs): document DDD session log and establish Ubiquitous Language reference
- Added 2026-03-24 DDD session log covering architecture, terminology, and Ubiquitous Language creation.
- Defined six Bounded Contexts (SCS architecture) and clarified ÖTO-compliant terminology (`Veranstaltung ≠ Turnier`).
- Introduced `Ubiquitous_Language.md` as an official glossary for all domain terms and references.
- Highlighted MVP boundaries and introduced configurable reglements for Cups, Series, and Championships.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-24 16:02:48 +01:00
7702574904 feat(ui): introduce PferdReiterEingabe, NennungenTabelle, and NennungsMaske components
- Added `PferdReiterEingabe` for horse and rider selection with search functionality and keyboard navigation.
- Implemented `NennungenTabelle` to display filtered registrations based on selected horse or rider.
- Introduced `NennungsMaske` to combine search, table, and competition views for streamlined user interaction.
- Extended types with `Veranstalter` interface and mock data for better context and integration.
- Documented ÖTO-compliant tournament structure for frontend reference.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-24 13:49:21 +01:00
5a545182f2 feat(docs, ui): restructure frontend documentation & introduce Vision directories for modularity
- Moved existing FIGMA-related files into `Vison_01` and `Vision_02` folders to better support versioning and collaboration.
- Added PostCSS configuration for extending plugins in Tailwind CSS.
- Introduced new style guidelines, theme configurations, and modular imports for `Vision_02`.
- Documented detailed ÖTO tournament structures and parameters for CSN/CDN inclusions.
- Enhanced routing and UI files for future scalability, including new `theme.tsx` and `routes.tsx`.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-24 09:59:59 +01:00
c53daa926a feat(horses-service): remove legacy configuration and repository classes
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m12s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 6m42s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 6m28s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m51s
- Deleted outdated `ApplicationConfiguration` and `HorseRepositoryImpl` classes.
- Migrated to streamlined modular Gradle configuration in `build.gradle.kts`.
- Updated domain models and dependencies to use multiplatform and serialization plugins.
- Added modular setup for `horses` namespace in `settings.gradle.kts`.
- Reorganized database configuration with minimal JDBC bindings for development.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-23 13:47:04 +01:00
7b35831d8c feat(docs): add detailed reference for CSN and CDN competitions under ÖTO rules
- Introduced comprehensive documentation on parameters for Springen (CSN) and Dressur (CDN).
- Covered class definitions, scoring systems, and special competition formats for both disciplines.
- Detailed guideline examples to assist organizers with tournament preparation.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-23 12:40:29 +01:00
c1655147bb refactor(ui): replace Divider with HorizontalDivider in NennungsMaske for consistent styling and updated imports
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-21 13:47:33 +01:00
439551951b feat(ui): add reusable components for FIGMA-based UI system
- Implemented new reusable components including Label, Input, InputOTP, HoverCard, Popover, Pagination, NavigationMenu, Menubar, ScrollArea, Resizable, RadioGroup, and Progress under `docs/06_Frontend/FIGMA/src/app/components/ui/`.
- Enhanced structural organization to improve scalability and maintainability.
- Updated `settings.gradle.kts` to include the new module `frontend:features:nennung-feature`.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-21 13:40:37 +01:00
7f224f0d03 docs: add session log for Keycloak fixes and role-based dashboard POC
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 8m0s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m17s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m7s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m48s
- Logged details of the session addressing compiler warnings and roles in the dashboard POC under `docs/99_Journal/2026-03-19_Session_Log_POC_Rollen_Keycloak.md`.
- Documented Keycloak realm import challenges and resolution strategy for PostgreSQL volume reset.
- Verified JWT role extraction and dashboard routing logic for ADMIN and ORGANIZER roles.
- Included session outcomes and next steps for further validation and testing of the POC setup.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-19 17:45:20 +01:00
62264d9e02 refactor(ui, navigation): implement platform-specific routing and redesign components
- Added platform detection logic `currentPlatform()` in `PlatformType.js.kt`.
- Introduced platform-based behavior for LandingScreen, Dashboard, and Login flow.
- Replaced Row with FlowRow in PingScreen to improve button layout.
- Updated Meldestelle Dashboard with platform-specific headers and authentication checks.
- Adjusted AppHeader to accept `isAuthenticated` and `username` parameters.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-19 16:21:23 +01:00
931fe7badb refactor(ui): update app title, footer text, and layout spacing
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m39s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m21s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m15s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m45s
- Changed the app title to "Equest-Events Master Desktop" in `main.kt`.
- Updated footer text with new phrasing: "© Mocode-Software · Developed with love for equestrian sports".
- Improved code formatting for consistent alignment and indentation across files.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-19 12:10:17 +01:00
32295bdea2 docs: add event details and session log for Neumarkt 2026 tournaments
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m2s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 6m46s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 2m57s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m49s
- Added competition details for Neumarkt tournaments 26128 and 26129 under `docs/Neumarkt2026/`.
- Logged key outcomes of the Domain Workshop follow-up and Frontend Kick-off session under `docs/99_Journal/2026-03-18_Session_Log_Domain_und_Frontend_Kickoff.md`.
- Updated `frontend/shells/meldestelle-portal` with new routing and UI components for Landing Page, Dashboard, and Tournament creation flow.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-18 14:14:38 +01:00
2538be395a docs: add domain workshop results and event structure diagram
- Documented outcomes of the 2026-03-17 domain workshop under `docs/03_Domain/03_Analysis/Domain_Workshop_Results_2026-03-17.md`.
- Added a structural diagram visualizing events, tournaments, and competitions with their relationships under `docs/03_Domain/01_Core_Model/Entities/Event_Structure_Diagram.md`.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-17 17:27:27 +01:00
b6f4f43122 docs: add domain workshop results and event structure diagram
- Documented outcomes of the 2026-03-17 domain workshop under `docs/03_Domain/03_Analysis/Domain_Workshop_Results_2026-03-17.md`.
- Added a structural diagram visualizing events, tournaments, and competitions with their relationships under `docs/03_Domain/01_Core_Model/Entities/Event_Structure_Diagram.md`.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-17 15:12:04 +01:00
bafb63dc16 Remove deprecated isAuthenticated logic from PingViewModel and related UI components 2026-03-17 00:18:02 +01:00
dc2f2118f2 docs: add domain workshop agenda and session log for SQLite worker fix
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m6s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 6m59s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 2m0s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m51s
- Added detailed agenda for the domain workshop kickoff under `docs/03_Domain/03_Analysis/Domain_Workshop_Agenda.md`.
- Logged session details for resolving the SQLite worker 404 issue under `docs/99_Journal/2026-03-16_Session_Log_Fix_SQLite_Worker.md`.
- Enhanced `sqlite-config.js` to include a new fallback strategy for better resilience.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-16 15:25:10 +01:00
c3c98f4f0c docs: add Österreichische Turnierordnung 2026 (ÖTO) reference document
- Added the complete Österreichische Turnierordnung 2026 (ÖTO) under `docs/03_Domain/02_Reference/OETO_Regelwerk/`.
- Covered general provisions, participation requirements, equipment standards, discipline-specific rules, and ethical principles.
- Ensured proper citation formatting throughout the document for reference consistency.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-16 15:05:33 +01:00
0ca10c7820 docs: add session logs for comprehensive readiness analyses across all domains
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m43s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m46s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m5s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m48s
- Added detailed session logs under `docs/99_Journal/` for Backend, Frontend, UI/UX, QA, Documentation, and Architectural readiness.
- Documented findings, recommendations, and next steps for each domain to ensure alignment before starting "Phase 3: Feature Development."
- Captured key architectural decisions and the need for validated domain models and UI/UX specifications.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-16 13:03:27 +01:00
1db49970d1 chore: archive outdated screenshots and update Docker publish workflow with Keycloak image tag
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 8m1s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m15s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 1m54s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m55s
2026-03-15 21:29:53 +01:00
b05b2f8612 chore: clean up and correct SQLDelight guide code snippets, fix swift mislabeling, and remove redundant constructor property
Some checks failed
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m48s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m17s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m58s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Failing after 37s
2026-03-15 20:07:46 +01:00
5f6114450d chore: fix broken links in documentation, improve code snippets, and remove unnecessary imports in guides 2026-03-15 20:05:23 +01:00
daeae0f868 chore: archive outdated architecture and roadmap documents, normalize documentation structure and metadata 2026-03-15 20:00:51 +01:00
ef336feb94 Add app.mo-code.at to Keycloak configuration, update allowed origins, and include debug logs for analysis
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m46s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m12s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 1m55s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m37s
2026-03-15 01:14:43 +01:00
65b4762f52 Switch to runtime envsubst for JSON-based Keycloak and API URLs, update Dockerfile and entrypoint to support config injection.
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 6m47s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m9s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 2m51s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m45s
2026-03-15 00:24:50 +01:00
9747b9957f fix(web-app): Caddy templates für text/html + SW-Bypass für config.json
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m0s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m1s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 2m0s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m50s
Co-authored-by: Junie <junie@jetbrains.com>
2026-03-14 13:23:28 +01:00
3f9b63466c fix(web-app): SW-Bypass für config.json + globalThis-Fallback in Config.kt
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 9m5s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m47s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 2m50s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m54s
Co-authored-by: Junie <junie@jetbrains.com>
2026-03-14 12:34:34 +01:00
0666739b8c fix(web-app): Caddy .Env-Template-Injection für API_BASE_URL + KEYCLOAK_URL
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 8m33s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m35s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 1m57s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m42s
Co-authored-by: Junie <junie@jetbrains.com>
2026-03-14 11:27:14 +01:00
b156d2eb6c config: refine Caddyfile formatting and add new log screenshot
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m1s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m3s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 1m49s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m48s
- Improved readability and structure of `Caddyfile` by adjusting indentation and comments.
- Added production log screenshot (`prod-docker-log-web-app_2026-03-13_12-57.png`) for documentation.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-13 13:14:25 +01:00
9c2d34cc82 config: update Caddyfile structure and add new documentation screenshots
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m33s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m3s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 1m49s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m54s
- Simplified and refined the `Caddyfile` configuration for improved readability.
- Added screenshots to `docs/ScreenShots` documenting proxy settings and production logs.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-13 12:29:49 +01:00
0ce94203fe docs: archive old screenshots and update Caddyfile configuration
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m24s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m3s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 1m46s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m39s
- Moved outdated screenshots to the `archive` directory for better organization.
- Refined Caddyfile formatting and improved routing logic, including API proxy and SPA fallback behavior.
- Added new screenshots for Pangolin web app settings.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-13 11:19:45 +01:00
dbf8985d8b config: enhance SPA routing in Caddyfile and add new production logs screenshot
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 6m54s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m4s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 1m51s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m43s
- Refined SPA fallback configuration in `Caddyfile` using `try_files` for improved stability.
- Added production logs screenshot (`prod-docker-logs-web-app_2026-03-12_17-10.png`) to document application state.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-12 17:13:50 +01:00
4d10b971e5 docs: update Caddyfile and add browser console error log for debugging
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m21s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m14s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 1m45s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m48s
- Improved SPA fallback configuration in `Caddyfile` for better proxy compatibility.
- Uploaded 2026-03-12 browser console error log to document HTTPS and mixed-content issues.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-12 16:42:22 +01:00
2dd582c8b7 config: remove tls internal from Caddyfile and add new documentation screenshots
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 6m48s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m15s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 1m47s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m57s
- Removed internal-only HTTPS (`tls internal`) configuration from the `Caddyfile`.
- Uploaded new screenshots to `docs/ScreenShots` for application settings and production error documentation.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-12 15:48:33 +01:00
6cb6bc7178 config: enable internal HTTPS in Caddyfile and add documentation screenshots
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m14s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m11s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 1m52s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m42s
- Enabled `tls internal` in `Caddyfile` for secure communication behind the proxy.
- Added new screenshots to `docs/ScreenShots` for deployment, application settings, and error diagnosis.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-12 15:02:13 +01:00
327ed80386 docs: add production browser console error logs for debugging login issues
- Uploaded detailed production browser console logs from 2026-03-12 for debugging login errors.
- Captured HTTP/2 protocol error, mixed-content issues, and `TypeError: Failed to fetch` from `web-app.js`.
- Documented issues with Keycloak token retrieval over insecure HTTP.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-12 14:04:15 +01:00
adce1384ee docs: add browser console error screenshots for Ping Service debugging
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m17s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m32s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m40s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 1m46s
- Uploaded browser console logs and related error screenshots to document debugging efforts for Ping Service issues.
- Captured CORS-related errors, database initialization logs, and WebGL warnings for local environment analysis.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-12 12:23:36 +01:00
ae4669714f docs: add DNS zone file and screenshots for Pangolin architecture documentation
- Added `mo-code.at` zone file for informational and archival purposes.
- Uploaded related screenshots for Pangolin architecture and server overview.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-11 12:59:14 +01:00
aa157e82f8 docs: add new Access Control and Logs documentation pages
- Documented Access Control features (e.g., Device Approvals, Password Rotation, 2FA, Custom Login Pages).
- Added detailed descriptions for Logs & Analytics (Access Logs, Request Logs, Action Logs).
- Included configuration instructions and feature-specific notes for Pangolin Cloud and Enterprise Edition.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-11 11:24:24 +01:00
92cb45f4f1 Fix: Align table formatting in Zora documentation and update Keycloak-related configurations
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m42s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m1s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 2m58s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m34s
2026-03-10 21:39:30 +01:00
ccaf60c019 docs: document DOCKER_REGISTRY fix in session log and update .env
- Added details to the 2026-03-10 session log about the DOCKER_REGISTRY root cause and resolution.
- Updated `.env` to correct the DOCKER_REGISTRY path (`/meldestelle` segment added) for proper Docker image resolution.
- Included related screenshots for troubleshooting and fix verification.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-10 14:45:09 +01:00
4da1306e0e docs: document Keycloak hostname fix, session log analysis, and healthcheck updates
- Added detailed session log (2026-03-10) to document Keycloak hostname root cause and resolution, Git push network issue analysis, and Alertmanager permission fix.
- Updated `.env` to fix Keycloak hostname configuration (`KC_HOSTNAME`) and remove deprecated `KC_HOSTNAME_STRICT_HTTPS`.
- Enhanced Docker Compose healthchecks for multiple services (e.g., Mailpit, PgAdmin, Alertmanager).

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-10 12:51:46 +01:00
d6a484c347 fix: update Keycloak configuration and Docker healthcheck improvements
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 6m48s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 6m40s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 1m44s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m31s
- Enabled `directAccessGrants` for `frontend-client` in `meldestelle-realm.json` to support ROPC login flow.
- Strengthened admin credentials in realm configuration to meet password policy requirements.
- Upgraded Keycloak to `26.5.5` with updated Docker healthcheck logic:
  - Replaced `curl` with bash `/dev/tcp` for compatibility with `ubi9-micro` image.
  - Switched health endpoint from `/ready` to `/live` for single-node use.
  - Adjusted healthcheck timings (`start_period`, `timeout`, `interval`) for smoother startup.
- Removed deprecated v1 hostname parameter `KC_HOSTNAME_STRICT_HTTPS`.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-09 15:51:42 +01:00
4ae11e6668 cleanup: remove unused GitHub Actions workflows and migrate PR Guard to Gitea
Deleted unused `.github` workflows and configurations, including obsolete CI/CD pipelines and PR templates, which were no longer executed after the migration to Gitea. Migrated the `PR Guard` workflow for hardcoded version checks to `.gitea/workflows/pr-guard.yaml`. Verified functional workflows in Gitea (e.g., Docker publish). Documented changes and rationale in session logs.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-09 15:51:42 +01:00
23e08403f1 docs: finalize and verify Ping Service tracer bullet implementation and sync fix
Updated `MASTER_ROADMAP_2026_Q1.md` and session logs to reflect completion of the Ping Service tracer bullet. Verified the end-to-end stack, including frontend, backend, and Gateway integration. Fixed query parameter mismatch in `PingApiKoinClient.syncPings()` (`lastSyncTimestamp` → `since`) for proper Delta-Sync functionality. Marked related roadmap tasks as completed.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-09 15:51:42 +01:00
5bc2538aab docs: finalize and verify Redis-to-Valkey migration and Keycloak hardening
Updated `MASTER_ROADMAP_2026_Q1.md` to reflect completed Redis-to-Valkey migration and Keycloak production configuration. Adjusted property paths in `base-application.yaml` and session logs with corrected environment variable names. Verified end-to-end Docker stability and roadmap alignment.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-09 15:51:42 +01:00
69c1123586 docs: verify and complete Gateway CircuitBreaker updates in system hardening roadmap
Marked Gateway CircuitBreaker tasks as completed and verified in archived roadmaps and session logs. Confirmed fixes for `ClassNotFoundException` via Spring Cloud 2025.0.1 and proper configuration of Resilience4j with fallback and metrics integration.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-09 15:51:42 +01:00
b9a433f772 feat: implement OIDC PKCE flow for Keycloak login with frontend-client
Completed OIDC Authorization Code Flow with PKCE (S256) for JS and JVM platforms.
- Added `launchOidcFlow`, `consumePendingOidcCallback`, and `getOidcRedirectUri` with platform-specific implementations.
- Integrated SHA-256 and Base64URL helpers for PKCE.
- Updated `LoginViewModel` with OIDC logic (key handling, token exchange, state validation).
- Enhanced `LoginScreen` with an OIDC login button and loading spinner.
- Verified implementation with system hardening roadmap tasks.

Includes browser redirects for JS, localhost HTTP callback for JVM, and built-in Keycloak URL construction.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-09 15:51:42 +01:00
2db3fd82c5 docs: finalize and verify Zipkin integration in system hardening roadmap
Marked Zipkin integration tasks as completed and verified in archived roadmaps. Documented fixes for gateway propagation type (`w3c` → `b3`) and Zipkin endpoint configuration. Removed redundant dependencies in `build.gradle.kts` and updated related session logs.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-09 15:51:42 +01:00
218c7fa13a docs: verify and complete Micrometer upgrade in system hardening roadmap
Marked Micrometer 1.16.1 upgrade task as completed in archived roadmaps and session logs. Verified compatibility for Java 25 and updated notes to reflect no changes required in `libs.versions.toml`.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-09 15:51:42 +01:00
440ab4b141 docs: finalize Keycloak hardening and validate updated Realm config
Documented the completed Keycloak hardening steps, including PKCE S256 support, CORS security improvements, strengthened password policy, and logout redirect URI configurations. Verified and updated the `meldestelle-realm.json` and roadmap to reflect these changes.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-09 15:51:42 +01:00
f47e5f6415 docs: update system hardening roadmap with completed tasks and verification notes
Added progress updates for completed roadmap tasks, including dependency management (Spring Cloud, SQLDelight, core-utils refactoring, Redis-to-Valkey migration). Added verification notes with dates, ensuring alignment with current implementation status and next steps.
2026-03-09 15:51:42 +01:00
f022de7358 Update Zora configuration: add detailed runbook, reassign ai-stack to CT 120, and improve infrastructure documentation
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 8m7s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m16s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 1m48s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m32s
2026-03-08 00:37:34 +01:00
0035225614 docs: add comprehensive hardware and tech stack summaries for Zora and Meldestelle
Added detailed hardware specifications for the Minisforum MS-R1 (Zora) and a complete tech stack overview for the Meldestelle project. Included session logs summarizing research findings, AI relevance, and next steps for self-hosted AI model configurations. Consolidated related reference materials for streamlined documentation.
2026-03-07 13:27:48 +01:00
e29d7b3db8 docs: document pipeline fix v6 confirmation and root cause overview
Added a session log confirming the resolution of pipeline issues in iteration v6, including successful sequential builds and the use of direct `config.json` for Docker credentials. Detailed the root causes (registry proxy timeouts and RAM-OOM) and the implemented fixes, ensuring stability and reliable internal registry access.
2026-03-06 15:38:24 +01:00
cdb01a7b4c docs: document pipeline fix v6 using direct config.json and sequential builds
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m56s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m27s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 2m14s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m47s
Added a session log detailing the resolution of RAM-OOM issues and daemon interaction complexities by writing credentials directly to `config.json` and limiting jobs to sequential execution. Updated `.gitea/workflows/docker-publish.yaml` to reflect the simplified and rootless BuildKit configuration for internal HTTP registry access.
2026-03-06 15:16:51 +01:00
be474a2c93 docs: document pipeline fix v5 using Docker Daemon configuration and update workflow
Some checks failed
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Failing after 35s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
Added a session log detailing the resolution of HTTPS to HTTP conflicts during internal registry access by configuring the Docker Daemon with `insecure-registries` in `daemon.json` and restarting the service. Updated `.gitea/workflows/docker-publish.yaml` to reflect the new approach, ensuring reliable internal pushes bypassing Pangolin without timeouts.
2026-03-06 15:02:08 +01:00
95e0acb7cf docs: document pipeline fix v4 using buildkitd mirror and update workflow
Some checks failed
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Failing after 46s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Failing after 44s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 2m4s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Failing after 45s
Added a session log detailing the replacement of `iptables` DNAT with a rootless `buildkitd` mirror for internal Gitea registry access, eliminating the need for sudo, additional packages, or kernel-level configurations. Updated `.gitea/workflows/docker-publish.yaml` to reflect the new, purely configurational solution.
2026-03-06 14:54:36 +01:00
c8d6ded38f docs: document pipeline fix v3 using iptables DNAT and update workflow
Some checks failed
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Failing after 43s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Failing after 41s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 1m59s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Failing after 43s
Added a detailed session log explaining the replacement of `socat` with `iptables` DNAT for internal Gitea registry access in the pipeline. Updated `.gitea/workflows/docker-publish.yaml` to reflect the new approach, eliminating the need for additional packages on minimal runners.
2026-03-06 14:50:09 +01:00
1e7477a5b5 docs: document Port 443 connection issue and pipeline fix v2
Some checks failed
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Failing after 42s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Failing after 41s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 1m58s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Failing after 43s
Added a detailed session log explaining the root cause and resolution for pipeline failures due to "connection refused" on Port 443. Updated `.gitea/workflows/docker-publish.yaml` to configure BuildKit for HTTP and introduced a `socat` TCP proxy for internal registry access.
2026-03-06 14:43:31 +01:00
73b74072df docs: document 502 error fix for Docker registry and update workflow
Some checks failed
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Failing after 7m27s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Failing after 7m21s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 2m15s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Failing after 1m53s
Added a detailed session log documenting the root cause and resolution of 502 errors during Docker image pushes. Updated `.gitea/workflows/docker-publish.yaml` to bypass Pangolin for internal registry access and disable attestation manifests to prevent additional token requests.
2026-03-06 14:16:20 +01:00
c086190097 docs: translate remaining architectural guides to German and standardize formatting
Translated all remaining English architectural documents into German, including ADRs, guides, release notes, and reference materials. Standardized formatting across translated files, updated section headings, and localized inline comments within code examples for consistency.
2026-03-06 14:02:51 +01:00
4c0ff6008d docs: rewrite Gitea Actions cache tutorial and adapt for localized usage
Revised and translated the guide for enabling Gitea Actions cache to streamline CI/CD workflows. Added localized examples, clarified tool and action caching configurations, and linked relevant resources for improved usability. Removed redundant sections and updated structure for better readability.
2026-03-06 13:54:26 +01:00
5ab0c9524e docs: update architecture to reflect Proxmox migration and correct network configurations
Revised multiple documents to align with the migration from Incus to Proxmox VE 8.4.10. Updated hypervisor, IP ranges, subnet details, and NAT configurations across all relevant files. Marked Incus sections as historical for clarity. Added AI-Stack setup guide for Proxmox LXC.
2026-03-06 13:50:56 +01:00
09b0b1a462 infra: clean up Keycloak configuration, enforce consistency in .env, and improve health checks
Streamlined Keycloak configurations with defaults for development and production in `.env`. Added health checks and improved environment variable documentation with comments to differentiate local and server deployments. Ensured compatibility with pre-built registry images.
2026-03-06 11:23:24 +01:00
78cda88ae6 infra: integrate Keycloak monitoring, update alertmanager config, and finalize docs cleanup
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 9m22s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 8m53s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 2m34s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 2m10s
Added a Prometheus scrape job for Keycloak metrics. Updated Alertmanager to use Mailpit for local testing. Completed documentation consolidation and marked cleanup-related tasks as done in the master roadmap.
2026-03-05 13:16:43 +01:00
9dd6a0faf7 docs: add backup setup guide and backup script for Zora
Introduced a detailed guide on configuring automated backups for the Zora server, covering scheduling, manual execution, and restoration processes. Added `backup.sh` script to streamline database and configuration backups with retention and rotation.
2026-03-05 13:11:44 +01:00
d142f2da0e docs: add guide for Git-based deployment on Zora and deployment script
Introduced a comprehensive guide on setting up Git-based deployment for the "Zora" server, including environment setup, repository initialization, and deployment workflow. Added `deploy.sh` script to streamline updates and restarts.
2026-03-05 13:08:44 +01:00
9b40f84e40 docs: add .keep files to preserve directory structure in Bin and _archive 2026-03-05 11:35:27 +01:00
084eb8e999 docs: reorganize and archive documentation for improved structure
Moved outdated files to the `_archive` folder and reorganized infrastructure-related documentation into the `07_Infrastructure` directory. Improved clarity and ensured logical grouping of files.
2026-03-05 11:34:58 +01:00
6c1f6a5818 docs: archive outdated roadmap and introduce consolidated master roadmap
Archived `Roadmap_2026_Q1.md` and replaced it with `MASTER_ROADMAP_2026_Q1.md` and `MASTER_ROADMAP.md`. Consolidated roadmap structure ensuring clearer organization and updated references for improved accessibility.
2026-03-05 11:34:51 +01:00
52e1c09bfd docs: update README with Zora architecture and roadmap links, add .keep file
Updated `README.md` with new links for the Zora system architecture and master roadmap. Renamed and moved Proxmox release document under the infrastructure references. Added a `.keep` file to ensure directory structure persistence.
2026-03-05 11:34:40 +01:00
331f3bed40 docs: add comprehensive Zora system architecture documentation
Introduced `Zora_System_Architektur.md` outlining the ARM64-based system design for "Zora." Covers Gitea setup, CI/CD workflows, deployment methods, service configurations, and developer guidelines.
2026-03-05 10:24:25 +01:00
1d7d6c81bf Infrastruktur steht, bereit für den Runner 2026-03-03 18:18:42 +01:00
61f4190f48 docs: add guide comparing Pangolin and Cloudflare Tunnel with deployment steps
Introduced `Pangolin-vs-Cloudflare-Tunnel.md` to compare features between Pangolin and Cloudflare Tunnel. Included step-by-step deployment instructions for Hetzner VPS and MS-R1, highlighting privacy, performance, and configuration benefits.
2026-02-14 13:00:18 +01:00
6c50f22773 refactor: standardize environment variable naming and add PING_SERVICE_URL configuration
Aligned environment variable naming across backend and infrastructure files for improved consistency (e.g., `SPRING_CLOUD_CONSUL` and `SPRING_SECURITY_OAUTH2_RESOURCESERVER`). Introduced `PING_SERVICE_URL` to support dynamic Ping-Service routing. Updated Docker Compose health checks, profiles, and memory settings for scalability and stability.
2026-02-13 15:00:12 +01:00
7757684b6e refactor: update docker images to use custom registry and optimize configurations
Switched container images in `dc-infra.yaml` to a custom Docker registry for better control and consistency across deployments. Added Keycloak with enhanced configurations and updated several container restart policies, memory allocations, and healthcheck settings for improved performance and compatibility.
2026-02-12 20:35:25 +01:00
473709c62d docs: add configuration matrix for Dev vs. Zora environments
Introduced `Konfig-Matrix_Dev-ProZora.md` to document key configuration variables for development and production (Zora) environments, including database settings, secrets, and environment-specific usage details.
2026-02-12 20:35:25 +01:00
f470e88e9f docs: add roadmap for Zora infrastructure deployment and "Hello-World" test guide
Added two new documents, `Zora_Infrastructure&Deployment_02-2026.md` and `Temp.md`, detailing the strategic roadmap for Zora's infrastructure setup and deployment phases, alongside a "Hello-World" test project guide to validate CI/CD pipelines and ARM64 compatibility.
2026-02-12 20:35:25 +01:00
6e2780cc0f Erster - Push für Zora 2026-02-11 00:01:05 +01:00
cf3f553954 docs: add technical datasheet for Eaton 3S UPS in architecture documentation
Added `USV-technische-Daten.md` to document the specifications of the Eaton 3S 850 DIN UPS, including technical details, features, and supported configurations. Included an accompanying image `Eaton-3S-DIN-850-VA.png`.
2026-02-10 13:02:29 +01:00
76307ec798 docs: add Gitea Actions caching guide and update .gitignore
Added a detailed guide on enabling caching for Gitea Actions to accelerate CI/CD workflows in `docs/01_Architecture/Gitea/Enable_Gitea_Actions_Cache_to_Accelerate_CI_CD.md`. Updated `.gitignore` to exclude the `/_backup/` directory.
2026-02-09 13:13:17 +01:00
f79b14348b chore(docs): add detailed MS-R1 roadmap, SSH setup guide, and archive outdated setup docs
- Added "Biest Roadmap" covering Gitea infrastructure phases and tasks.
- Documented SSH client setup for Gitea integration with Cloudflare Tunnel.
- Archived outdated host setup and service configuration guides (`Setup_Guide_Services.md`, `Setup_Guide_Host_OS.md`).
- Introduced a centralized configuration and operational guideline (`MS-R1_Konfiguration&Bedienung.md`).
2026-02-09 00:35:41 +01:00
c50acd641e chore(docs+infra): add hardware setup logs, guidelines, and Minisforum MS-R1 documentation
- Updated `MASTER_ROADMAP_2026_Q1.md` to reflect delivery of Minisforum MS-R1 hardware and progress on infrastructure setup.
- Added detailed documentation for Minisforum MS-R1, including specifications, host OS setup guide, and service configuration guide.
- Logged DevOps setup session and curator's session with focus on hardware integration, SSH hardening, and networking adjustments (Macvlan workaround).
- Included user manual for Minisforum MS-R1 and related assets (e.g., images).
2026-02-08 01:27:28 +01:00
bc093ba3ff docs: add Heimnetzwerk plan with VLAN and hardware configuration
Documented Heimnetzwerk architecture in `Heim-Netzwerk-Plan_02-2026.md`, including VLAN definitions, hardware setup, and connection details with a visual graph layout.
2026-02-07 13:02:46 +01:00
c51773a4c7 chore(docs+infra): update roadmap, improve home server plan, and archive outdated reports
- Adjusted infrastructure roadmap to use VM instead of nested LXC for Docker hosting, enhancing isolation and compatibility.
- Clarified multi-architecture CI/CD setup with native ARM64 builds and QEMU-based x86_64 builds.
- Updated documentation to include backup and offline-first strategies.
- Archived outdated session logs and reports for better file organization.
2026-02-06 20:49:47 +01:00
c8d19f7911 docs: add session log for infrastructure planning and roadmap updates
Added a detailed session log covering infrastructure setup for the Home-Server (Minisforum MS-R1) and reporting requirements. Updated `MASTER_ROADMAP_2026_Q1.md` with next steps, including PDF generation architecture evaluation and ARM64 hardware setup details.
2026-02-06 13:48:51 +01:00
c3d288cd66 chore: refactor Gradle config, standardize Kotlin MPP plugin usage, and update dependencies
- Unified plugin application across modules using `alias(libs.plugins.*)` instead of hardcoded IDs.
- Removed redundant JVM/JS source map tasks, improving Gradle and Docker build consistency.
- Updated dependencies, including `logback` and Webpack `copy-webpack-plugin`, and added contextual documentation.
- Added frontend architecture diagram in PlantUML (`docs/01_Architecture/Reference`), standardizing feature-core-shell dependencies.
2026-02-05 02:07:53 +01:00
1aaaf8a203 build: optimize Docker setup for Caddy SPA and improve runtime stability
Updated Dockerfile to streamline the hybrid build process and optimize artifact integration. Modified Caddyfile for better routing logic, enhanced security headers, Prometheus metrics, and improved API proxy handling. Adjusted `dc-gui.yaml` for container stability and simplified runtime configuration for `apiBaseUrl`. Expanded documentation with troubleshooting and session logs.
2026-02-04 16:31:26 +01:00
e8dd8cf48f build: switch to hybrid build for Kotlin/JS web-app and optimize Docker setup
Replaced multi-stage Docker builds with a hybrid approach that pre-builds frontend artifacts locally and copies them into the container. Removed Kotlin Multiplatform configurations from the root project to resolve NodeJsRootPlugin conflicts. Adjusted `.dockerignore` to allow pre-built artifacts and increased Gradle/Kotlin daemon memory for faster builds. Updated Caddyfile for runtime stability and added documentation for new build processes.
2026-02-04 15:34:40 +01:00
03e1484dd3 chore: refactor Gradle config, standardize Kotlin MPP plugin usage, and update dependencies
- Unified plugin application across modules using `alias(libs.plugins.*)` instead of hardcoded IDs.
- Removed redundant JVM/JS source map tasks, improving Gradle and Docker build consistency.
- Updated dependencies, including `logback` and Webpack `copy-webpack-plugin`, and added contextual documentation.
- Added frontend architecture diagram in PlantUML (`docs/01_Architecture/Reference`), standardizing feature-core-shell dependencies.
2026-02-03 22:11:31 +01:00
c613acb91d build: initialize JS target in root to fix isolated classpath issue
Explicitly added JS target with browser and Node.js configurations at the root level to ensure the NodeJsRootPlugin is loaded. Resolved the "IsolatedKotlinClasspathClassCastException" error in subprojects. Updated Yarn lock to reflect new dependencies.
2026-02-03 15:02:26 +01:00
5be88b306c chore(infra+frontend): upgrade Gradle to 9.3.1 and fix KMP plugin conflicts in Docker builds
- Updated Gradle version in `.env`, Dockerfiles, and wrapper to 9.3.1.
- Replaced alias-based application of `kotlinMultiplatform` plugin with direct `id` usage in subprojects to resolve "Plugin loaded multiple times" error.
- Applied centralized plugin management and Gradle daemon optimizations to improve Docker build stability and address KMP classloading issues.
2026-02-02 23:01:23 +01:00
25f40567c7 build: remove browser configuration from core modules to fix JS plugin conflict
Eliminated `browser {}` blocks from core library modules to resolve "Plugin loaded multiple times" error in Kotlin/JS Gradle builds. Adjusted to support a cleaner, centralized JS target configuration. Documented the root cause and workaround in troubleshooting logs.
2026-02-02 17:10:47 +01:00
11c597f147 feat: add runtime configuration for Caddy-based SPA containerization
Introduced `config.json` runtime configuration fetch mechanism to support the "Build Once, Deploy Everywhere" pattern. Replaced NGINX with Caddy for SPA deployment, enabling SPA routing, security headers, and static asset management. Updated Gradle and Kotlin/JS build configurations to align with the new runtime environment. Enhanced Dockerfile and health checks for optimized CI/CD workflows and improved SPA delivery.
2026-02-02 16:19:20 +01:00
86d8d780f5 docs: update Exposed 1.0.0 migration guide with troubleshooting and fixes
Refined migration steps to address compatibility issues with `JdbcTransaction` and `PreparedStatementApi`. Added detailed troubleshooting for `exec` and `executeUpdate` usage. Updated formatting and clarified best practices for transitioning to Exposed 1.0.0.
2026-02-02 12:37:48 +01:00
55e5302e13 chore: migrate to Exposed 1.0.0 and refactor UUID handling
Updated persistence layer to align with Exposed 1.0.0. Refactored table definitions to use `javaUUID` for consistency with `java.util.UUID`. Adjusted transaction handling for compatibility with the latest API changes. Enhanced error handling in database utility functions and refined pagination logic. Added documentation and migration updates for best practices with Exposed 1.0.0.
2026-02-02 12:34:24 +01:00
f00cc7681f chore(docs): update roadmap and add Sync Fix report, remove desktop-app from compose config
- Marked Phase 3 of roadmap as complete and adjusted next steps.
- Added detailed report documenting the Sync type mismatch resolution.
- Commented out the `desktop-app` service from `dc-gui.yaml`.
2026-02-01 18:48:00 +01:00
7401df11a6 chore(backend): rename lastSyncTimestamp to since across Ping sync API for consistency
- Updated parameter name in `PingController`, `PingApi`, and related tests to align with SyncManager conventions.
2026-02-01 17:56:18 +01:00
e4acb56945 chore(docs): update date in Frontend Cleanup Status Report to 2026-02-01 2026-02-01 14:39:36 +01:00
f78563f8c8 chore(frontend): refactor navigation and DI setup, remove unused shared module
- Replaced `initKoin` with `startKoin` for DI initialization consistency across platforms.
- Introduced `StateNavigationPort` with `StateFlow` to streamline navigation state management.
- Migrated `AppScreen` to sealed class with route mapping for better navigation handling.
- Deleted unused `frontend/shared` module and removed related dependencies from build files.
- Cleaned up legacy navigation and Redux-related code, aligning with MVVM architecture.
2026-02-01 13:46:39 +01:00
24c8a0c63d chore(docs): fix formatting in E2E Smoke Migration report for Exposed 1.0.0 & Ktor 3.4.0 2026-01-31 21:28:00 +01:00
b7147bca84 chore(docs, build): add E2E smoke test reports, favicon, and build robustness improvements
- Documented E2E smoke test results for Ktor 3.4.0 and Exposed 1.0.0 migration in new reports and session logs.
- Introduced a fallback mechanism for desktop and web-app builds, ensuring robustness in distribution creation and static asset handling.
- Added a default SVG favicon to prevent 404 errors in the web-app.
- Updated Nginx configuration and Dockerfiles to include improved artifact paths, fallback handling, and script corrections.
2026-01-31 21:03:53 +01:00
9e5e0512ce chore(docs, platform): finalize migration guides for Exposed 1.0.0 and Ktor 3.4.0 upgrades
- Updated Exposed migration guide with detailed breaking changes, migration steps, test matrix, and rollback plan.
- Published technical analysis for transitioning to Ktor 3.4.0, including API improvements and routing OpenAPI integration.
- Aligned `platform-bom` with upgraded dependencies: `exposed` 1.0.0 and `ktor` 3.4.0.
- Introduced `ktor-server-routing-openapi` dependency for dynamic API documentation support.
2026-01-31 18:31:50 +01:00
e699d7a198 docs: add migration guide for JetBrains Exposed 1.0.0
Included a detailed migration guide highlighting breaking changes from `1.0.0-rc-4` to `1.0.0`, including updates to UUID handling, transaction manager refactoring, R2DBC API adjustments, and SQLite JSONB automation.
2026-01-31 11:25:48 +01:00
f60e134b3a docs: update Ktor 3.4.0 migration analysis with improvements and fixes
Enhanced the migration document for Ktor 3.4.0 with structured explanations, including resource management, security updates, observability fixes, and migration checklist. Refined technical details for better clarity and compliance with recent Ktor changes.
2026-01-31 10:54:54 +01:00
42d60515a8 docs: add technical analysis for Ktor 3.4.0 migration and update .dockerignore
Added a detailed technical analysis document outlining changes, migration steps, and implications of updating from Ktor 3.3.3 to 3.4.0 for both frontend and backend. Updated `.dockerignore` to include the `docs/` directory, required for Docker build context.
2026-01-30 13:11:33 +01:00
5feb42d973 feat: add architecture tests for enforcing module boundaries
Integrated a new `:platform:architecture-tests` module using ArchUnit to enforce backend and frontend architecture rules. Configured explicit dependencies to all relevant modules and implemented rules to prevent cross-dependencies between backend services and frontend features. Replaced legacy Gradle-based architecture guards with this robust solution. Updated CI pipeline to include these tests.
2026-01-29 14:28:36 +01:00
fd7eba3589 docs: add state-management strategy reference and SQLDelight session log
Added documentation outlining the recommended frontend state-management approach using Unidirectional Data Flow (UDF). Documented the 2026-01-28 session addressing the critical SQLDelight async issue, detailing the analysis, fix implementation, and results. Updated PingEventRepositoryImpl to use `awaitAsOneOrNull` for proper async handling.
2026-01-28 13:00:55 +01:00
edb22ce864 chore(docs, frontend): document and implement Web-App sync workaround for async driver issue
- Added session log documenting Web-App stabilization, including fixes for Webpack build and login issues.
- Implemented full-sync workaround in `PingEventRepositoryImpl` due to SQLDelight async driver limitations.
- Updated `PingDashboard` to display sync completion messages.
- Added `libs.sqldelight.coroutines` dependency and regenerated SQLDelight queries.
- Updated roadmap and journal with progress on frontend sync integration.
2026-01-27 23:25:00 +01:00
637d610a5b refactor: enhance platform configuration, database schema handling, and Keycloak setup
Improved `PlatformConfig` API base URL resolution with enhanced logging and fallback logic. Revised database initialization with version checks, schema migration, and error handling. Updated Keycloak configuration to enable `Direct Access Grants` and refine CORS/redirect settings. Adjusted Webpack proxy settings for correct API routing.
2026-01-27 15:12:58 +01:00
3e587381ed chore(frontend): remove custom Webpack sqlite-wasm integration plugins and cleanup config
- Deleted `dummy.js` and its usage for sqlite-wasm integration as custom Webpack adjustments are no longer necessary.
- Removed outdated Webpack configuration files: `ignore-sqlite-wasm.js`, `ignore-sqlite-wasm-critical-dependency.js`, and `sqljs-fix.js`.
- Introduced `sqlite-config.js` for simplified and streamlined sqlite-wasm and Skiko Webpack configuration.
- Minor code formatting adjustments across frontend modules for improved consistency.
2026-01-26 20:37:23 +01:00
29ad73b508 docs(journal): add session log for Web-App stabilization and DB initialization fixes
Documented the 2026-01-26 session, covering Web-App database issue resolution, PingViewModel test fixes, and Gradle build task optimizations. Included technical insights on Webpack, Wasm, and SQLDelight challenges, along with pending tasks for build and runtime testing.
2026-01-26 14:40:04 +01:00
da876a0c21 docs: add UI screenshots for SuDo documentation
Added multiple UI screenshots under `docs/BilderSuDo` to support SuDo documentation, improving visual clarity and user understanding.
2026-01-26 14:35:26 +01:00
5aeb936920 docs: add UI screenshots for SuDo documentation
Added multiple UI screenshots under `docs/BilderSuDo` to support SuDo documentation, improving visual clarity and user understanding.
2026-01-26 14:35:17 +01:00
f71bfb292b chore(docs, design-system, ping-service): integrate SQLDelight with KMP, refine design-system components, and enhance logging
- Added a comprehensive guide for SQLDelight integration in Kotlin Multiplatform, covering setup for Android, iOS, desktop, and web platforms.
- Introduced `DashboardCard` and `DenseButton` to the design system, focusing on enterprise-grade usability and visual consistency.
- Enhanced `PingViewModel` with structured logging (`LogEntry`) functionality for better debugging and traceability across API calls.
- Updated `AppTheme` with a refined color palette, typography, and shapes to align with enterprise UI standards.
- Extended Koin integration and modularized database setup for smoother dependency injection and code reuse.
2026-01-24 00:39:31 +01:00
f774d686a4 docs(journal): document fixes for Docker, frontend auth flow, and Keycloak config
Added a session log detailing Docker build path updates, frontend auth flow stabilization (replacing `Auth` plugin with dynamic auth header injection), and Keycloak realm configuration adjustments. Document outlines issues, solutions, and results for improved traceability and system stability.
2026-01-23 15:44:28 +01:00
a3ac6a52be docs: archive outdated reports and journals, restructure references and guides
Archived obsolete reports and journal entries, introducing a clear archival structure under `_archive`. Moved and reorganized onboarding guides and tech stack references into updated directories (`02_Guides`, `01_Architecture/Reference/Tech_Stack`). Improved overall documentation structure and consistency.
2026-01-23 14:00:12 +01:00
19a46f2f50 docs: remove trailing slashes from links in README for consistency
Simplified directory links in `README.md` by removing unnecessary trailing slashes. Updated references to align with the current documentation style.
2026-01-23 13:41:56 +01:00
84337697ce docs: update code block formatting in reports and restructure guides
Updated code block formatting in `Ping-Service_Impl_01-2026.md` for consistency by switching from `kotlin` to `text`. Refactored `README.md` to rename `02_Onboarding` to `02_Guides` for improved clarity. Adjusted UI code example in `UIUXDesigner.md` with added descriptive comments.
2026-01-23 13:39:07 +01:00
aba5b5c7a0 docs: archive outdated reports and organize references
Archived several outdated reports (`Ping-Service_Impl_01-2026.md`, `Frontend_Integration_Status.md`, etc.) and added archival notes and references to updated documents. Introduced a centralized reference structure for tech stack documentation, consolidating files under `01_Architecture/Reference/Tech_Stack`. Added new resources (`Gradle_Kotlin_DSL_Primer`, `Kotlin_2-3-0_ReleaseNotes`) for improved project organization and clarity.
2026-01-23 13:34:20 +01:00
d7cf8200e1 refactor(auth): migrate Auth module from feature to core package
- Reorganized `auth-feature` into `core/auth` to improve architecture and modularity.
- Removed unused PKCE and OAuth callback utilities (`AuthCallbackParams`, `OAuthPkceService`).
- Updated imports and adjusted build scripts to reflect new module structure.
- Refactored `LoginScreen` and `PingScreen` to include `onBack` functionality in top bars for improved navigation.
- Corrected sync endpoint in `PingSyncService`.
2026-01-23 01:16:40 +01:00
c692a2395c docs: add infrastructure guide for JWT in Docker and refactor Keycloak config
Added a detailed guide (`jwt-in-docker.md`) to address JWT validation challenges in Docker environments (Split Horizon issue). Refactored Keycloak realm configuration (`meldestelle-realm.json`) with updated roles, clients, and improved infrastructure clarity. Updated `.env` variables for streamlined token validation. Adjusted Docker Compose services (`dc-backend.yaml`) to use revised Keycloak environment variables.
2026-01-22 17:23:24 +01:00
a9b788aca9 docs: archive outdated Ping-Service documentation and add new references
Archived obsolete Ping-Service documentation (`ping-service.md`, `PingService.md`) and replaced them with updated references (`PingService_Reference.md`, `Testing_with_Postman.md`). Improved clarity and organization of backend guides with a focus on current architecture, testing approaches, and microservice design principles. Documented the transition with a session log for traceability.
2026-01-21 14:13:34 +01:00
7bcf7faac9 chore(docs): add status report and session log for frontend-backend integration
- Documented successful integration tests between KMP frontend and backend (via gateway).
- Included backend fixes: `/api/ping/simple` endpoint made public in `SecurityConfig.kt`.
- Added next steps: frontend authentication flow, JWT utilization, and delta-sync implementation.
2026-01-21 00:11:14 +01:00
46361185d0 docs: enhance local dev docs, update Docker Compose, and archive old journals
Added Mailpit setup and updated Keycloak configuration in local development runbooks. Improved Docker Compose stability with updated service dependencies and configurations. Archived outdated journal entries and documents for better organization.
2026-01-20 14:00:09 +01:00
5dc8f18201 docs(journal): update session log with local dev setup and infra improvements
Enhanced the session log to include local development environment setup, DI fixes, tracing updates, and Docker Compose optimizations. Reflected improvements in architecture, observability, and build results.
2026-01-19 17:05:57 +01:00
181a34c3eb refactor(ping-feature): remove deprecated PingFeature files and legacy implementations
Deleted obsolete files and models from the `ping-feature` module, including redundant enums, the old `PingApiClient`, and legacy view models. Simplified the module by consolidating its implementation with the new Koin-based DI and shared client architecture. Cleaned up unused code and improved module maintainability.
2026-01-19 16:03:12 +01:00
f0fa731e82 docs: add Lead Architect handover report and recommendations
Added a detailed report for the Lead Architect handover summarizing key challenges, process critiques, and roadmap adjustments. Included specific tasks for team members to resolve architectural inconsistencies, improve feature integration, and enhance observability.
2026-01-17 12:49:58 +01:00
351fe7a672 feat(sync): implement Delta-Sync API and update clients to support offline-first workflow
Added `/ping/sync` endpoint with timestamp-based Delta-Sync functionality to efficiently support offline-first clients. Extended `PingApi` and frontend clients (`PingApiClient`, `PingApiKoinClient`) with `syncPings`. Updated repository, service, and controller logic for sync handling, including new JPA query `findByCreatedAtAfter`. Adjusted test doubles and completed unit tests for backend and frontend alignment. Documented sync approach and API usage.
2026-01-17 12:22:16 +01:00
59568a42d8 refactor(ping-feature): integrate DI refactor, enhance web build, and update feature workflow
Refactored the `ping-feature` module to adopt centralized `HttpClient` through Koin DI, replacing legacy implementations. Added secure API calls with improved error handling and updated Webpack build scripts to resolve worker path issues. Enhanced `PingScreen` with extended functionality, UI updates, and aligned test cases for the new architecture. Consolidated feature workflows and finalized documentation with a comprehensive feature implementation guide.
2026-01-17 12:05:34 +01:00
cc4eade957 docs: document Zipkin setup and integrate tracing configuration
Added new documentation for Zipkin setup, including Docker Compose configuration, service integration, and troubleshooting steps. Integrated tracing configuration for key microservices to enable distributed tracing and latency analysis.
2026-01-17 10:17:07 +01:00
8ca9c001cd chore(docs): finalize Backend Status Report for Phase 1 Hardening
- Updated report to reflect the successful completion of Phase 1 ("Operation Tracer Bullet").
- Documented key achievements: security enhancement via OAuth2, microservice stabilization, and Docker optimizations.
- Added next steps for Phase 2, including frontend integration, observability improvements, and tracing setup.
2026-01-16 23:42:27 +01:00
1229973aa2 chore(docs): mark TASK_2026_Q1_Infrastructure_Hardening as complete and update implementation details
- Updated task status to `DONE` with completion date.
- Checked off all implemented steps: security module, persistence layer, ping service hardening, and gateway integration.
- Reflected task progress and implementation outcomes in the document.
2026-01-16 23:38:57 +01:00
05962487e7 chore(ping-service, security): integrate centralized security module and enhance Ping-Service
- Replaced local `SecurityConfig` in `ping-service` with the shared `infrastructure:security` module.
- Added `GlobalSecurityConfig` to standardize OAuth2, JWT validation, and CORS for all services.
- Introduced new endpoints (`/ping/public`, `/ping/secure`) with role-based access control.
- Updated database schema with Flyway migration (`V1__init_ping.sql`) and refactored persistence layer to align with the standardized approach (`createdAt` field).
- Enhanced application configuration (`application.yaml`) to use shared security and Flyway settings.
2026-01-16 19:11:48 +01:00
9456f28562 chore(build, docs): add security module and update infrastructure decisions
- Created `backend/infrastructure/security` module with standardized configurations for OAuth2, JWT validation, CORS, and role mapping.
- Updated ADRs to reflect resolved backend infrastructure decisions, including security standardization, persistence strategy, and Flyway schema location.
- Enabled integration of the `security` module into relevant projects (e.g., `ping-service` and `gateway`).
2026-01-16 18:42:41 +01:00
82f1e505c4 chore(build, docs): add security module and update infrastructure decisions
- Created `backend/infrastructure/security` module with standardized configurations for OAuth2, JWT validation, CORS, and role mapping.
- Updated ADRs to reflect resolved backend infrastructure decisions, including security standardization, persistence strategy, and Flyway schema location.
- Enabled integration of the `security` module into relevant projects (e.g., `ping-service` and `gateway`).
2026-01-16 18:40:28 +01:00
83954dfbba Standardize documentation with headers and archive old files
Applied a unified header format to all documentation files for better status identification, referencing, and ownership tracking. Archived outdated roadmaps, reports, and journal entries. Updated playbooks with new responsibilities, lifecycle rules, and consistent handover formats to align with the new archiving strategy.
2026-01-16 13:20:36 +01:00
3465cab246 Standardize documentation with headers and archive old files
Applied a unified header format to all documentation files for better status identification, referencing, and ownership tracking. Archived outdated roadmaps, reports, and journal entries. Updated playbooks with new responsibilities, lifecycle rules, and consistent handover formats to align with the new archiving strategy.
2026-01-16 12:17:47 +01:00
39ba21fd77 docs: add core domain SQL schema draft and enhance domain glossary
Introduced an initial SQL schema draft for the core domain, focusing on offline-first architecture and aligning with OEPS legacy specifications. Expanded the domain glossary to include critical terms for improved clarity and domain understanding. Added session notes and user stories to document analysis outcomes and requirements.
2026-01-16 11:32:53 +01:00
2dc3c4154b docs: consolidate roadmaps and update architecture documentation
Replaced fragmented roadmaps with a single MASTER_ROADMAP for Q1 2026 as the authoritative source. Deprecated outdated roadmap files and updated Architect playbook to reflect new ownership and delegation responsibilities. Introduced architecture improvement proposals and added related documents for enhanced collaboration and knowledge sharing.
2026-01-16 10:42:34 +01:00
4b9772ff6b chore(docs): add roadmap for system hardening and resilience strategy
- Introduced a detailed roadmap document outlining phased plans for system instandsetzung and hardening using Ping-Service as a core.
- Covers infrastructure diagnosis, resilience enhancements, security improvements, and standardization processes for Microservices architecture.
- Document serves as a technical guide for upcoming implementations starting January 2026.
2026-01-15 19:50:20 +01:00
36aea11ce4 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-15 19:31:58 +01:00
f6e644d433 docs: finalize TODO list for documentation cleanup
Marked all remaining documentation tasks as complete, including fixing broken links, correcting invalid HTML in legacy specifications, and adding missing placeholder READMEs. Resolved issues with new link inconsistencies and ensured the project is free of known documentation warnings.
2026-01-15 13:58:14 +01:00
f4563a3da3 docs: add new documentation for API Gateway, core model, and backend structure
Introduced detailed documentation for the API Gateway, including its configuration and responsibilities in the system (e.g., routing, security, and cross-cutting concerns). Added a README for the core model directory to define its structure and workflow. Created a new backend README to describe its components and their documentation structure. Simplified and clarified legacy specifications for archiving purposes.
2026-01-15 13:53:56 +01:00
a454e6c97a docs: restructure domain documentation and update references
Implemented a standardized folder structure for domain documentation to improve clarity and maintainability. Migrated existing files to the new structure, updated links in related documentation, and added README files for navigation and guidance.
2026-01-15 13:44:49 +01:00
7d71ca9a48 docs: add 2026 Austrian tournament regulations and special provisions
Added updated documentation for the 2026 Austrian Tournament Regulations, including general rules, special provisions, fees, and technical details. Covers Dressage, Jumping, and Eventing classes, along with appendices for heights and requirements across disciplines.
2026-01-14 14:45:28 +01:00
7da3fc26d3 docs: expand ping-service documentation and add backend startup troubleshooting journal
Enhanced `ping-service` documentation with architectural, implementation, and API details. Added a new journal entry outlining the troubleshooting steps for backend startup issues, including fixes for Dockerfile paths, Gradle build conflicts, and Keycloak pre-build configuration.
2026-01-13 17:41:19 +01:00
0335de7654 docs: add runbook for local development setup and update docker-related configurations
Added a comprehensive runbook detailing the local Docker-based development setup. Updated Dockerfile paths for Nginx and Keycloak to simplify configuration and improve clarity.
2026-01-13 16:30:00 +01:00
e5a66726fd docs: fix relative link in SQLDelight ADR to correct navigation 2026-01-13 16:05:33 +01:00
33a6a96ec6 docs: fix incorrect relative links in ADRs and frontend documentation
Corrected relative links in architectural decision records and the frontend README to ensure proper navigation and consistency across documentation.
2026-01-13 16:04:25 +01:00
bf8facfa66 docs(frontend): add detailed offline-first architecture and web setup documentation
Added documentation to outline the Offline-First strategy for the KMP frontend, emphasizing the use of SQLDelight with cross-platform storage. Also included guidance for setting up Web targets, covering OPFS integration and Web Worker usage. Updated ADRs with decisions for SQLDelight and Koin adoption.
2026-01-13 15:59:25 +01:00
8362a8b11d docs: establish AOM + per-system technical truth (ping-service) 2026-01-13 14:33:45 +01:00
ff0e1a36cc tooling: make .junie/.gemini docs-first (remove legacy guidelines) 2026-01-13 14:32:49 +01:00
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
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
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
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
e38b693847 Versuche 2025-12-31 00:20:29 +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
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
StefanMo
95fe3e0573
chore(ci): Align GH Workflows with Docker SSoT, new paths; minimal SSoT guard; staticAnalysis (#23)
* chore(MP-21): snapshot pre-refactor state (Epic 1)

* chore(MP-22): scaffold new repo structure, relocate Docker Compose, move frontend/backend modules, update Makefile; add docs mapping and env template

* MP-22 Epic 2: Erfolgreich umgesetzt und verifiziert

* MP-23 Epic 3: Gradle/Build Governance zentralisieren

* MP-23 Epic 3: Gradle/Build Governance zentralisieren

* chore(devops)!: Docker-SSoT (.env) konsolidiert, Compose-Mounts ergänzt, Makefile entfernt

- ENV Single Source of Truth
  - docker/.env.example neu (inkl. REDIS_PASSWORD, Ports, Build-Overrides)
  - config/.env(.example) als DEPRECATED markiert (Verweis auf docker/.env[.example])

- Docker Compose vereinheitlicht (docker/docker-compose.yaml)
  - Postgres: zentralen postgresql.conf mounten (../config/postgres/postgresql.conf)
    und Start mit -c config_file=/etc/postgresql/postgresql.conf
  - Redis: zentralen redis.conf mounten (../config/redis/redis.conf)
    und Start via "redis-server … ${REDIS_PASSWORD:+--requirepass $REDIS_PASSWORD}"
  - Web-Nginx: ../config/nginx/nginx.prod.conf → /etc/nginx/nginx.conf (ro)
  - Monitoring: Prometheus/Grafana nutzen ../config/monitoring/* als SSoT

- Frontend/DI/Network (MP-23 Grundlage)
  - :frontend:core:network Modul mit Koin `apiClient` (Ktor + JSON/Retry/Timeout/Logging)
  - Plattform-Basis-URL-Auflösung (JVM: ENV API_BASE_URL; JS: globalThis.API_BASE_URL / Same-Origin)
  - Web index.html setzt API_BASE_URL (Query `?apiBaseUrl=…` > Same-Origin > Fallback)

- Build/Gradle & Module-Refs
  - settings.gradle.kts: neue Frontend-/Backend-Pfade bereits inkludiert
  - Features/Shell: Abhängigkeiten auf :frontend:shared / :frontend:core:* angepasst
  - Ping-API-Refs auf :backend:services:ping:ping-api vereinheitlicht

- Dockerfiles angepasst
  - backend/infrastructure/gateway/Dockerfile → Tasks/Pfade auf :backend:gateway
  - backend/services/ping/Dockerfile → Tasks/Pfade auf :backend:services:ping:ping-service

- Static Analysis / Guards
  - config/detekt/detekt.yml hinzugefügt
  - Leichter Arch-Guard (Frontend) gegen manuelle Authorization-Header vorbereitet

- Doku
  - docs/ARCHITECTURE.md (Struktur, Mapping, Next Steps) ergänzt
  - docs/adr/README.md angelegt

BREAKING CHANGES:
- Makefile komplett entfernt (bitte direkt `docker compose` verwenden)
- ENV-Quelle ist jetzt docker/.env (statt config/.env oder Root)
- Compose-Datei unter docker/docker-compose.yaml (nicht mehr compose.yaml im Repo-Root)

Verifikation (lokal):
- ENV anlegen: `cp docker/.env.example docker/.env` (Werte anpassen)
- Compose prüfen: `docker compose --env-file docker/.env -f docker/docker-compose.yaml config`
- Infrastruktur: `docker compose --env-file docker/.env -f docker/docker-compose.yaml -p meldestelle up -d postgres redis keycloak web-app`
- Services bauen: `docker compose --env-file docker/.env -f docker/docker-compose.yaml -p meldestelle build api-gateway ping-service --no-cache --progress=plain`

Refs: MP-22 (Epic 2), MP-23 (Epic 3)

* chore(devops)!: Docker-SSoT (.env) konsolidiert, Compose-Mounts ergänzt, Makefile entfernt

- ENV Single Source of Truth
  - docker/.env.example neu (inkl. REDIS_PASSWORD, Ports, Build-Overrides)
  - config/.env(.example) als DEPRECATED markiert (Verweis auf docker/.env[.example])

- Docker Compose vereinheitlicht (docker/docker-compose.yaml)
  - Postgres: zentralen postgresql.conf mounten (../config/postgres/postgresql.conf)
    und Start mit -c config_file=/etc/postgresql/postgresql.conf
  - Redis: zentralen redis.conf mounten (../config/redis/redis.conf)
    und Start via "redis-server … ${REDIS_PASSWORD:+--requirepass $REDIS_PASSWORD}"
  - Web-Nginx: ../config/nginx/nginx.prod.conf → /etc/nginx/nginx.conf (ro)
  - Monitoring: Prometheus/Grafana nutzen ../config/monitoring/* als SSoT

- Frontend/DI/Network (MP-23 Grundlage)
  - :frontend:core:network Modul mit Koin `apiClient` (Ktor + JSON/Retry/Timeout/Logging)
  - Plattform-Basis-URL-Auflösung (JVM: ENV API_BASE_URL; JS: globalThis.API_BASE_URL / Same-Origin)
  - Web index.html setzt API_BASE_URL (Query `?apiBaseUrl=…` > Same-Origin > Fallback)

- Build/Gradle & Module-Refs
  - settings.gradle.kts: neue Frontend-/Backend-Pfade bereits inkludiert
  - Features/Shell: Abhängigkeiten auf :frontend:shared / :frontend:core:* angepasst
  - Ping-API-Refs auf :backend:services:ping:ping-api vereinheitlicht

- Dockerfiles angepasst
  - backend/infrastructure/gateway/Dockerfile → Tasks/Pfade auf :backend:gateway
  - backend/services/ping/Dockerfile → Tasks/Pfade auf :backend:services:ping:ping-service

- Static Analysis / Guards
  - config/detekt/detekt.yml hinzugefügt
  - Leichter Arch-Guard (Frontend) gegen manuelle Authorization-Header vorbereitet

- Doku
  - docs/ARCHITECTURE.md (Struktur, Mapping, Next Steps) ergänzt
  - docs/adr/README.md angelegt

BREAKING CHANGES:
- Makefile komplett entfernt (bitte direkt `docker compose` verwenden)
- ENV-Quelle ist jetzt docker/.env (statt config/.env oder Root)
- Compose-Datei unter docker/docker-compose.yaml (nicht mehr compose.yaml im Repo-Root)

Verifikation (lokal):
- ENV anlegen: `cp docker/.env.example docker/.env` (Werte anpassen)
- Compose prüfen: `docker compose --env-file docker/.env -f docker/docker-compose.yaml config`
- Infrastruktur: `docker compose --env-file docker/.env -f docker/docker-compose.yaml -p meldestelle up -d postgres redis keycloak web-app`
- Services bauen: `docker compose --env-file docker/.env -f docker/docker-compose.yaml -p meldestelle build api-gateway ping-service --no-cache --progress=plain`

Refs: MP-22 (Epic 2), MP-23 (Epic 3)

* chore(devops)!: Docker-SSoT (.env) konsolidiert, Compose-Mounts ergänzt, Makefile entfernt

- ENV Single Source of Truth
  - docker/.env.example neu (inkl. REDIS_PASSWORD, Ports, Build-Overrides)
  - config/.env(.example) als DEPRECATED markiert (Verweis auf docker/.env[.example])

- Docker Compose vereinheitlicht (docker/docker-compose.yaml)
  - Postgres: zentralen postgresql.conf mounten (../config/postgres/postgresql.conf)
    und Start mit -c config_file=/etc/postgresql/postgresql.conf
  - Redis: zentralen redis.conf mounten (../config/redis/redis.conf)
    und Start via "redis-server … ${REDIS_PASSWORD:+--requirepass $REDIS_PASSWORD}"
  - Web-Nginx: ../config/nginx/nginx.prod.conf → /etc/nginx/nginx.conf (ro)
  - Monitoring: Prometheus/Grafana nutzen ../config/monitoring/* als SSoT

- Frontend/DI/Network (MP-23 Grundlage)
  - :frontend:core:network Modul mit Koin `apiClient` (Ktor + JSON/Retry/Timeout/Logging)
  - Plattform-Basis-URL-Auflösung (JVM: ENV API_BASE_URL; JS: globalThis.API_BASE_URL / Same-Origin)
  - Web index.html setzt API_BASE_URL (Query `?apiBaseUrl=…` > Same-Origin > Fallback)

- Build/Gradle & Module-Refs
  - settings.gradle.kts: neue Frontend-/Backend-Pfade bereits inkludiert
  - Features/Shell: Abhängigkeiten auf :frontend:shared / :frontend:core:* angepasst
  - Ping-API-Refs auf :backend:services:ping:ping-api vereinheitlicht

- Dockerfiles angepasst
  - backend/infrastructure/gateway/Dockerfile → Tasks/Pfade auf :backend:gateway
  - backend/services/ping/Dockerfile → Tasks/Pfade auf :backend:services:ping:ping-service

- Static Analysis / Guards
  - config/detekt/detekt.yml hinzugefügt
  - Leichter Arch-Guard (Frontend) gegen manuelle Authorization-Header vorbereitet

- Doku
  - docs/ARCHITECTURE.md (Struktur, Mapping, Next Steps) ergänzt
  - docs/adr/README.md angelegt

BREAKING CHANGES:
- Makefile komplett entfernt (bitte direkt `docker compose` verwenden)
- ENV-Quelle ist jetzt docker/.env (statt config/.env oder Root)
- Compose-Datei unter docker/docker-compose.yaml (nicht mehr compose.yaml im Repo-Root)

Verifikation (lokal):
- ENV anlegen: `cp docker/.env.example docker/.env` (Werte anpassen)
- Compose prüfen: `docker compose --env-file docker/.env -f docker/docker-compose.yaml config`
- Infrastruktur: `docker compose --env-file docker/.env -f docker/docker-compose.yaml -p meldestelle up -d postgres redis keycloak web-app`
- Services bauen: `docker compose --env-file docker/.env -f docker/docker-compose.yaml -p meldestelle build api-gateway ping-service --no-cache --progress=plain`

Refs: MP-22 (Epic 2), MP-23 (Epic 3)

* chore(ci): Workflows an Docker-SSoT & neue Struktur angepasst, minimaler SSoT-Guard

- ssot-guard.yml: Option B (minimal) → `docker compose -f docker/docker-compose.yaml config` als Lint
- integration-tests.yml: `./gradlew staticAnalysis` vor Integrationstests
- docs-kdoc-sync.yml: Dokka-Task Fallback (dokkaGfmAll || dokkaGfm), YouTrack-Sync nur wenn Script vorhanden
- deploy-proxmox.yml: Compose-Pfade auf docker/docker-compose.yaml + `--env-file docker/.env`; Build/Test Schritte vereinheitlicht
- ci-main.yml: SSoT-Skripte per `if: hashFiles(...)` guarded, Compose-Lint Fallback; OpenAPI‑Pfad → backend/gateway; ADR‑Pfade → docs/adr/**; `staticAnalysis` in Build integriert
- youtrack-sync.yml: unverändert (funktional)

Refs: MP-22, MP-23

* chore(ci): Workflows an Docker-SSoT & neue Struktur angepasst, minimaler SSoT-Guard

- ssot-guard.yml: Option B (minimal) → `docker compose -f docker/docker-compose.yaml config` als Lint
- integration-tests.yml: `./gradlew staticAnalysis` vor Integrationstests
- docs-kdoc-sync.yml: Dokka-Task Fallback (dokkaGfmAll || dokkaGfm), YouTrack-Sync nur wenn Script vorhanden
- deploy-proxmox.yml: Compose-Pfade auf docker/docker-compose.yaml + `--env-file docker/.env`; Build/Test Schritte vereinheitlicht
- ci-main.yml: SSoT-Skripte per `if: hashFiles(...)` guarded, Compose-Lint Fallback; OpenAPI‑Pfad → backend/gateway; ADR‑Pfade → docs/adr/**; `staticAnalysis` in Build integriert
- youtrack-sync.yml: unverändert (funktional)

Refs: MP-22, MP-23

* fix(ci): create .env from example before validating compose config

* fix(ci): update ssot-guard filename (.yaml) and sync workflow state

* fixing

* fix(webpack): correct sql.js fallback configuration for webpack 5
2025-12-03 12:03:40 +01:00
StefanMo
034892e890
chore(MP-23): network DI client, frontend architecture guards, detekt & ktlint setup, docs, ping DI factory (#21)
* chore(MP-21): snapshot pre-refactor state (Epic 1)

* chore(MP-22): scaffold new repo structure, relocate Docker Compose, move frontend/backend modules, update Makefile; add docs mapping and env template

* MP-22 Epic 2: Erfolgreich umgesetzt und verifiziert

* MP-23 Epic 3: Gradle/Build Governance zentralisieren
2025-11-30 23:14:00 +01:00
StefanMo
9ea2b74a81
Merge pull request #18
* MP-19 Refactoring: Einführung der "Registry" & "Masterdata" Trennung …

* MP-19 Refactoring: Frontend Tabula Rasa

* MP-19 Refactoring: Frontend Tabula Rasa

* refactoring:

* MP-20 fix(docker/clients): include `:domains` module in web/desktop b…

* MP-20 fix(web-app build): resolve JS compile error and add dev/prod b…

* MP-20 fix(web-app): remove vendor.js reference and harden JS bootstra…

* MP-20 fixing: clients

* MP-20 fixing: clients
2025-11-30 14:13:12 +01:00
b5b87292fe fix(doc): fixing Lint Critical Markdown (MP-17) (#17) 2025-11-12 00:10:44 +01:00
5cc1ee6e4d docs: erweitere Makefile-Dokumentation in README und start-local (MP-17) (#17)
Integriert umfassende Makefile-Referenz in die Haupt-Dokumentation für
bessere Auffindbarkeit und Developer Experience.

Änderungen:
- README.md: Erweitert "Makefile-Shortcuts" zu "Makefile-Befehle"
  - Hinzugefügt: Wichtigste Development-Befehle (full-up, services-up, dev-up, test, health-check)
  - Hinzugefügt: SSoT-Befehle (docker-sync, docker-compose-gen, docker-validate)
  - Hinzugefügt: Link zur vollständigen Referenz in docker-development.md
  - +20 Zeilen (Zeilen 292-319)

- docs/how-to/start-local.md: Neue Sektion "Weitere Makefile-Befehle"
  - Hinzugefügt: Verweis auf `make help`
  - Hinzugefügt: Link zu Docker Development Guide Makefile-Referenz
  - +6 Zeilen (nach Zeile 39)

Kontext:
Diese Änderungen bauen auf der vollständigen Makefile-Dokumentation in
.junie/guidelines/technology-guides/docker/docker-development.md auf
(194 → 756 Zeilen, 50+ Befehle, erstellt am 2025-11-11).

Nutzen:
- Entwickler: Schnellerer Einstieg durch zentrale Übersicht
- Onboarding: Alle wichtigen Befehle auf einen Blick
- AI-Assistenten: Konsistente Command-Referenz
- Dokumentation: Verbesserte Navigation zwischen How-To-Guides und Referenz

Technische Details:
Das Makefile umfasst 10 Befehlskategorien:
1. Development Workflow (dev-up, dev-down, dev-restart, dev-logs, dev-info)
2. Layer-spezifisch (infrastructure-*, services-*, clients-*)
3. Full System (full-up, full-down, full-restart, full-logs)
4. Build (build, build-service, build-client)
5. Test (test, test-e2e)
6. Environment (env-setup, env-dev, env-prod, env-staging, env-test, validate)
7. SSoT (versions-show, versions-update, docker-sync, docker-compose-gen, docker-validate, hooks-install)
8. Production (prod-up, prod-down, prod-restart, prod-logs)
9. Monitoring (status, health-check, logs, shell)
10. Cleanup (clean, clean-all)

Related:
- Vorherige Commits: Makefile-Optimierung (425 Zeilen, strukturiert)
- Vorherige Commits: docker-development.md vollständige Aktualisierung
- Vorherige Commits: Port-Korrekturen (8080 → 8081)

Testing:
-  make help zeigt alle Befehle korrekt an
-  Links in Markdown funktionieren
-  Dokumentation konsistent mit aktuellem Makefile
2025-11-11 23:32:40 +01:00
StefanMo
b35c4087a2
Fix: Test-Commit für VCS-Integration (MP-8) (#15)
* MP-8 OTHER Implementiere JWT-Authentifizierungs-Filter im Gateway

* Fix(ci): Update upload-artifact action to v4

* Fix(ci): Add start command for Keycloak and failure logs

* Fix(ci): Remove invalid 'command' property from Keycloak service

* Fix(ci): Use KC_DEV_MODE env var to start Keycloak

* Fix(ci): Keycloak service was removed from GitHub Actions services and replaced with a manual docker run step that starts Keycloak with the start-dev command.

* dev(ci): vereinheitliche Keycloak auf 26.4.2; aktiviere Health im CI (MP-8)

* Fix(ci): Stabilize Keycloak startup in integration tests via matrix

- Add `dev-file` Keycloak variant to matrix for stability fallback.
- Improve wait logic and health checks for Keycloak and Postgres.
- Unify Keycloak version to 26.4.2 across codebase.
- Add log dumps on failure.

* Fix(ci): Die betroffene Datei docs/Visionen-Ideen/Infrastruktur-Strategie_DSGVO-Konformität.md endet aktuell mit genau einer leeren Zeile (Zeile 87). Das entspricht der Regel MD047 („Files should end with a single newline character“). Damit ist deine Korrektur korrekt.

* Fix(ci): Repository-wide auto-fix for Markdown files was implemented with a GitHub Actions workflow and a local helper script. EditorConfig and markdownlint ignore files were added to ensure consistent formatting. Instructions for using the auto-fix both via GitHub Actions and locally were provided.

* fix(gradle): build.gradle.kts jsBrowser testTask disabled

* fix(gradle): build.gradle.kts jsBrowser testTask disabled

* Fix(ci): Stabilize integration tests with Keycloak matrix build (MP-8)

Introduces a matrix strategy (`keycloak_db: [postgres, dev-file]`)
in the integration-tests workflow to mitigate flaky Keycloak starts
when using the Postgres service container.

- Adds a `dev-file` Keycloak variant for stability fallback.
- Improves wait logic and health checks for Keycloak/Postgres.
- Unifies Keycloak version to 26.4.2 across codebase (Dockerfile, Compose,
  ADR, README, tests).
- Adds log dumps on failure in CI.
- Ensures `KC_HEALTH_ENABLED=true` is set.
- Updates related documentation (README, Schlachtplan).
- Includes broader Docker SSoT cleanup (versions.toml as source,
  script updates, env file cleanup, validator hardening).

This resolves recurring CI failures related to Keycloak startup and
ensures required checks for PRs (#15) are reliable, while also
improving overall Docker build consistency.

* feat(docs, ci): Implement YouTrack SSoT strategy with Dokka sync (MP-8)

- Add Dokka multi-module Gradle configuration and KDoc style guide.
- Add GitHub Actions workflow (docs-kdoc-sync.yml) and Python script
  (youtrack-sync-kb.py) to sync Dokka GFM output to YouTrack KB.
- Extend front-matter schema (bc, doc_type) and update relevant pages/stubs.
- Adapt CI scripts (validate-frontmatter, check-docs-drift, ci-docs link ignore).
- Update README.md to reference YouTrack KB.

* feat(docs, ci): Implement YouTrack SSoT strategy with Dokka sync (MP-8)

- Add Dokka multi-module Gradle configuration and KDoc style guide.
- Add GitHub Actions workflow (docs-kdoc-sync.yml) and Python script
  (youtrack-sync-kb.py) to sync Dokka GFM output to YouTrack KB.
- Extend front-matter schema (bc, doc_type) and update relevant pages/stubs.
- Adapt CI scripts (validate-frontmatter, check-docs-drift, ci-docs link ignore).
- Update README.md to reference YouTrack KB.

* Fix(ci): Replace OpenAPI validator with Spectral

Replaces the deprecated 'char0n/swagger-editor-validate' action,
which failed due to sandbox issues in GitHub Actions, with the
modern '@stoplight/spectral-cli'.

This ensures robust OpenAPI specification validation without
requiring a headless browser environment. The 'generate-api-docs'
job now depends on the successful completion of the Spectral validation.

Part of resolving CI failures for PR #15 (MP-8).

* Fix(ci): Specify spectral:oas ruleset for OpenAPI validation (MP-8)

* Fix(ci): Remove explicit ruleset argument for Spectral validation (MP-8)

* Fix(ci): Added a .spectral.yaml file to fix Spectral linting errors. Corrected markdown lint issues in two documentation files. Updated README.md with a new guidelines section to fix link validation errors.

* Fix(ci): Markdownlint errors were fixed by adding required blank lines. The Guidelines Validation error was resolved by updating the README.md link. The API Documentation Generator workflow was stabilized by updating paths, tasks, and validation steps.

* Fix(ci): Alle vier fehlerhaften GitHub-Action-Prüfungen wurden behoben. Fehler in der OpenAPI-Spezifikation, Probleme mit der Markdown-Linting-Analyse und Validierungsfehler bei Querverweisen wurden korrigiert. Die README.md enthält nun alle erforderlichen Links zu den Richtlinien.

* Fix(ci): Markdown linting errors in docs/api/README.md were fixed by specifying languages in fenced code blocks. OpenAPI specification errors in documentation.yaml were resolved by correcting example property types to strings. Cross-reference validation errors in README.md were fixed by adding the missing link to project-standards/coding-standards.md.

* Fix(ci): Duplicate heading errors in docs/api/members-api.md were fixed. Cross-reference validation errors for docker-architecture.md were resolved. All originally reported issues passed validation successfully.

* Fix(ci): The markdown heading levels in docs/api/members-api.md were corrected from h5 to h4 to fix linting errors. The missing cross-reference link from technology-guides/docker/docker-development.md to docker-overview.md was added. These fixes resolved the original validation and linting errors causing the process to fail.

* Fix(ci): Duplicate heading warnings in docs/api/members-api.md were resolved. Cross-reference validation for docker-development.md to docker-architecture.md was fixed. A new unrelated warning about docker-production.md was identified but not addressed.

* refactor(ci,docs): Simplify CI pipeline and migrate docs to YouTrack SSoT

BREAKING CHANGE: Documentation structure radically simplified

- Consolidate 9 GitHub Actions workflows into 1 main pipeline (ci-main.yml)
- Remove redundant workflows: ci-docs, markdownlint-autofix, guidelines-validation, api-docs
- Delete documentation migrated to YouTrack: api/, BCs/, Visionen-Ideen/, reference/, now/, overview/
- Keep only ADRs, C4 diagrams, and essential dev guides in repo
- Update README.md with YouTrack KB links
- Create new docs/README.md as documentation gateway
- Relax markdown-lint config for pragmatic developer experience

Kept workflows:
- ssot-guard.yml (Docker SSoT validation)
- docs-kdoc-sync.yml (KDoc → YouTrack sync)
- integration-tests.yml (Integration tests)
- deploy-proxmox.yml (Deployment)
- youtrack-sync.yml (YouTrack integration)

Related: MP-DOCS-001

* refactor(ci,docs): Simplify CI pipeline and migrate docs to YouTrack SSoT

BREAKING CHANGE: Documentation structure radically simplified

- Consolidate 9 GitHub Actions workflows into 1 main pipeline (ci-main.yml)
- Remove redundant workflows: ci-docs, markdownlint-autofix, guidelines-validation, api-docs
- Delete documentation migrated to YouTrack: api/, BCs/, Visionen-Ideen/, reference/, now/, overview/
- Keep only ADRs, C4 diagrams, and essential dev guides in repo
- Update README.md with YouTrack KB links
- Create new docs/README.md as documentation gateway
- Relax markdown-lint config for pragmatic developer experience

Kept workflows:
- ssot-guard.yml (Docker SSoT validation)
- docs-kdoc-sync.yml (KDoc → YouTrack sync)
- integration-tests.yml (Integration tests)
- deploy-proxmox.yml (Deployment)
- youtrack-sync.yml (YouTrack integration)

Related: MP-DOCS-001

* refactor(ci,docs): README.md und einige andere Dokumentationen überarbeitet.
ports-and-urls.md hinzugefügt.
Related: MP-DOCS-001

* refactor(ci,docs): Die Markdownlint-Fehler in README.md und docs/README.md wurden behoben, indem die Überschriftenebenen angepasst, überflüssige Satzzeichen am Ende entfernt und die notwendigen Leerzeilen um Überschriften, Listen, Tabellen und Codeblöcke eingefügt wurden. Das problematische Leerzeichen am Ende in docs/README.md wurde ebenfalls entfernt. Die Dateien entsprechen nun den vorgegebenen Markdownlint-Regeln und sollten die CI-Validierung bestehen.
Related: MP-DOCS-001

* refactor(ci,docs): Docker guideline cross-references were fixed and normalized to lowercase labels. Validation scripts confirmed zero cross-reference warnings and consistent metadata. Documentation was updated with a changelog and enhanced README navigation.
Related: MP-DOCS-001

* refactor(ci,docs): Docker guideline cross-references were fixed and normalized to lowercase labels. Validation scripts confirmed zero cross-reference warnings and consistent metadata. Documentation was updated with a changelog and enhanced README navigation.
Related: MP-DOCS-001

* refactor(ci,docs): Dead links in docs/architecture/adr were fixed by updating URLs to stable sources and adding an ignore pattern for a placeholder link. Specific ADR files had their broken links replaced with valid ones. The markdown-link-check GitHub Action is expected to pass with zero dead links now.
Related: MP-DOCS-001

* refactor(ci,docs): Links in ADR checked
Related: MP-DOCS-001

* refactor(ci,docs): Links in ADR checked
Related: MP-DOCS-001

* refactor(ci,docs): Markdown Regeln ausgebessert
Related: MP-DOCS-001

* refactor(ci,docs): Markdown Regeln ausgebessert
Related: MP-DOCS-001

* refactor(ci,docs): Markdown Regeln ausgebessert
Related: MP-DOCS-001

* Chore: Rerun CI checks with updated branch protection rules
2025-11-07 12:26:33 +01:00
51c5635bd3 docs(ci): DE-only docs cleanup; add CI Docs + validators; manualize deploy workflow; consolidate PR template; add .gitignore (MP-7) 2025-10-22 13:06:37 +02:00
1bdd5c38aa docs(ci): Front-Matter + CI-Docs + YT-Sync vorbereitet (MP-7) 2025-10-22 11:11:10 +02:00
79c9d4a71a feature Dokumentation Git GitHub 2025-10-21 13:15:30 +02:00
75d2537476 feature Dokumentation Git GitHub 2025-10-15 14:05:03 +02:00
188e935d6a docs: hard-prune docs/ to agreed minimal set; keep API, how-to, overview, now, ADR/C4, nginx; recreate required empty dirs 2025-10-15 13:12:19 +02:00
be464f2ac0 refactoring Dokumentation 2025-10-15 12:48:00 +02:00
3e3af214e6 fixing Keycloak Auth 2025-10-02 00:52:24 +02:00
f81e52388c fixing Trace Bullet 2025-09-15 21:23:33 +02:00
stefan
ea560fc221 fixing client 2025-09-15 17:48:57 +02:00
stefan
4fcb4bb48c Dokumentations-Tasks 2025-09-01 14:32:23 +02:00
a50b1b3822 feat(Tracer Bullet) 2025-08-11 23:47:05 +02:00
stefan
1db41a5c62 refactor(core): Stabilize and Refactor Shared Kernel
This commit introduces a comprehensive refactoring and stabilization of the core module, establishing a robust and well-tested foundation (Shared Kernel) for all other services.

The module has been thoroughly analyzed, cleaned up, and equipped with a professional-grade test suite.

Architectural Refinements:
- Slimmed down `core-domain` to be a true, minimal Shared Kernel by removing all domain-specific enums (`PferdeGeschlechtE`, `SparteE`, etc.). This enforces loose coupling between feature modules.
- The only remaining enum is `DatenQuelleE`, which is a cross-cutting concern.

Code Refactoring & Improvements:
- Refactored the configuration loading by introducing a `ConfigLoader` class. This decouples the `AppConfig` data classes from the loading mechanism, significantly improving the testability of components that rely on configuration.
- Unified the previously duplicated `ValidationResult` and `ValidationError` classes into a single, serializable source of truth, ensuring consistent error reporting across all APIs.

Testing Enhancements:
- Introduced a comprehensive test suite for the core module, bringing it to a production-ready quality standard.
- Implemented the "gold standard" for database testing by replacing the previous H2 approach with **Testcontainers**. The `DatabaseFactory` is now tested against a real, ephemeral PostgreSQL container, guaranteeing 100% production parity.
- Added robust unit and integration tests for critical components, including the new `ConfigLoader`, all custom `Serializers`, and the `ApiResponse` logic.
- Fixed all compilation and runtime errors in the test suite, resulting in a successful `./gradlew clean build`.
2025-08-05 18:25:21 +02:00
stefan
df5919fac8 feat(build): Refactor infrastructure modules and establish single source of truth
This commit introduces a major refactoring of the build system and the core infrastructure modules. The primary goal is to establish a strict "Single Source of Truth" for all dependencies using Gradle Version Catalogs and to create a clean, maintainable, and scalable foundation for all current and future services.

### 1. Centralized Dependency Management (`libs.versions.toml`)

- **Established Single Source of Truth:** All dependency versions are now exclusively managed in `gradle/libs.versions.toml`. Hardcoded versions have been removed from all build scripts.
- **Introduced Gradle Bundles:** To simplify module dependencies, several bundles have been created (e.g., `testing-jvm`, `redis-cache`, `spring-cloud-gateway`, `monitoring-client`). This drastically reduces boilerplate in the `build.gradle.kts` files and improves readability.
- **Cleaned up Aliases:** All library and plugin aliases have been standardized for consistency.

### 2. Infrastructure Module Refactoring

All infrastructure modules (`core`, `platform`, `auth`, `cache`, `event-store`, `messaging`, `monitoring`, `gateway`) have been refactored to align with the new dependency management strategy.

- **Simplified Build Scripts:** The `build.gradle.kts` for each module now uses the new bundles and aliases, making them significantly cleaner and easier to understand.
- **Consistent Structure:** The architecture of each module now clearly follows the Port-Adapter pattern where applicable (e.g., `cache-api`/`redis-cache`).
- **Standardized `platform-bom`:** The project's own Bill of Materials (`platform-bom`) now also includes the Spring Cloud BOM, ensuring version consistency for all Spring-related dependencies.

### 3. Added Infrastructure Documentation

To improve onboarding and architectural understanding, a dedicated `README-*.md` file has been created for each refactored infrastructure module:
- `README-CORE.md`
- `README-PLATFORM.md`
- `README-INFRA-AUTH.md`
- `README-INFRA-CACHE.md`
- `README-INFRA-EVENT-STORE.md`
- `README-INFRA-MESSAGING.md`
- `README-INFRA-MONITORING.md`
- `README-INFRA-GATEWAY.md`

These documents explain the purpose, architecture, and usage of each component within the system. This lays the groundwork for our "Tracer Bullet" development approach.
2025-07-31 14:09:22 +02:00
stefan
965aa68fa7 fix(gradle) gradle.build 2025-07-29 16:32:38 +02:00
73b5e19db4 Gesamtplanung, Roadmap & Optimierung 2025-07-27 13:25:43 +02:00
f839b61f43 wichtige Neuerungen für die Weiterentwicklungen 2025-07-26 23:08:26 +02:00
7e0b56a247 einige Ergänzungen 2025-07-25 23:16:16 +02:00
stefan
65a0084f91 docs: Migrationsplan für Projekt-Restrukturierung hinzugefügt
- Detaillierter Plan zur Migration von alter zu neuer Modulstruktur
- Umfasst Überführung von shared-kernel zu core-Modulen
- Definiert Migration von Fachdomänen zu bounded contexts:
  * master-data → masterdata-Module
  * member-management → members-Module
  * horse-registry → horses-Module
  * event-management → events-Module
- Beschreibt Verlagerung von api-gateway zu infrastructure/gateway
- Strukturiert nach Domain-driven Design Prinzipien
- Berücksichtigt Clean Architecture Layering (domain, application, infrastructure, api)
2025-07-25 13:05:42 +02:00
stefan
e7b18da45d refactor: Migrate from monolithic to modular architecture
1. **Docker-Compose für Entwicklung optimieren**
2. **Umgebungsvariablen für lokale Entwicklung**
3. **Service-Abhängigkeiten**
4. **Docker-Compose für Produktion**
5. **Dokumentation**
2025-07-24 14:20:48 +02:00
stefan
9282dd0eb4 refactor: Migrate from monolithic to modular architecture
1. **Dokumentation der Architektur:**
    - Vervollständigen Sie die C4-Diagramme im docs-Verzeichnis
    - Dokumentieren Sie die wichtigsten Architekturentscheidungen in ADRs

2. **Redis-Integration finalisieren:**
    - Implementieren Sie die verteilte Cache-Lösung für die Offline-Fähigkeit
    - Nutzen Sie Redis Streams für das Event-Sourcing
2025-07-23 14:29:40 +02:00
stefan
a256622f37 refactor: Migrate from monolithic to modular architecture
- Restructure project into domain-specific modules (core, masterdata, members, horses, events, infrastructure)
- Create shared client components in common-ui module
- Implement CI/CD workflows with GitHub Actions
- Consolidate documentation in docs directory
- Remove deprecated modules and documentation files
- Add cleanup and migration scripts for transition
- Update README with new project structure and setup instructions
2025-07-22 18:44:18 +02:00
stefan
f8eade8091 (fix) Umbau zu SCS
### API-Gateway erweitern
- Bestehenden API-Gateway-Service mit zusätzlichen Funktionen ausstatten:
    - Rate Limiting implementieren
    - Request/Response Logging verbessern
    - Cross-Service Tracing mit eindeutigen Request-IDs einführen
2025-07-21 17:17:40 +02:00
stefan
7a64325196 (fix) Umbau zu SCS
### API-Gateway erweitern
- Bestehenden API-Gateway-Service mit zusätzlichen Funktionen ausstatten:
    - Rate Limiting implementieren
    - Request/Response Logging verbessern
2025-07-21 16:25:12 +02:00
stefan
c551ef63c6 (fix) Umbau zu SCS
### 1.1 OpenAPI-Dokumentation implementieren
- Swagger/OpenAPI in bestehenden Ktor-Diensten integrieren
- Zentrale API-Dokumentationsseite im API-Gateway erstellen
- CI/CD-Pipeline um automatische API-Dokumentationsgenerierung erweitern
- Entwickler-Guidelines für API-Dokumentation erstellen
2025-07-21 13:52:27 +02:00
stefan
143de2b4d5 (fix) Umbau zu SCS
### 1.1 OpenAPI-Dokumentation implementieren
- Swagger/OpenAPI in bestehenden Ktor-Diensten integrieren
- Zentrale API-Dokumentationsseite im API-Gateway erstellen
- CI/CD-Pipeline um automatische API-Dokumentationsgenerierung erweitern
- Entwickler-Guidelines für API-Dokumentation erstellen
2025-07-21 13:48:36 +02:00
stefan
81e40e70fc (fix) Umbau zu SCS
### 1.1 OpenAPI-Dokumentation implementieren
- Swagger/OpenAPI in bestehenden Ktor-Diensten integrieren
- Zentrale API-Dokumentationsseite im API-Gateway erstellen
- CI/CD-Pipeline um automatische API-Dokumentationsgenerierung erweitern
- Entwickler-Guidelines für API-Dokumentation erstellen
2025-07-21 13:45:58 +02:00
611e31e196 (vision) SCS/DDD 2025-07-18 23:07:05 +02:00
stefan
029b0c86bc Umbau zu SCS 2025-07-17 15:17:31 +02:00
6e52015f46 (vision) SCS/DDD 2025-07-14 22:02:46 +02:00
f4b11b220d (vision) SCS/DDD 2025-07-01 23:53:29 +02:00
d40bfaac48 (fix) Swagger/OpenAPI-Dokumentation implementieren 2025-06-30 23:38:48 +02:00
e2432510af (fix) Implementiere einen Service-Layer
Erstellung von DTOs für alle Ressourcen
Implement a versioning system
2025-06-30 22:25:35 +02:00
418e692092 (fix) API Endpoints Creation for All Tables 2025-06-30 21:11:09 +02:00
8bacd72e87 (fix) Statische Startseite im Server-Modul erstellen 2025-06-30 00:38:08 +02:00
89b8900fb2 impl div Klassen 2025-05-26 23:00:15 +02:00
stefan
181cbcf7d3 Klassen impl 2025-05-20 16:44:45 +02:00
stefan
0ca73cbe60 OeTo-DB-Modell 2025-05-16 14:38:16 +02:00
stefan
c738d9952b PlantUML ER-Modell 2025-05-14 14:18:50 +02:00
stefan
468b45aa56 impl Pruefungsaufgaben 2025-05-13 14:01:52 +02:00