Commit Graph

142 Commits

Author SHA1 Message Date
78e153f768 Clean up unused imports in Veranstalter and Turnier features 2026-04-02 22:30:29 +02:00
5e4c292f0c Implement MVVM + UDF: Add BewerbAnlegenViewModel, VeranstalterViewModel, and state management for Veranstalter and Bewerb workflows. Refactor existing Composables to use ViewModels and intents. Update Turnier UI for Bewerb creation with mandatory division logic, and add documentation for MVVM patterns and guidelines. Mark A-1 and A-2 as complete in the roadmap. 2026-04-02 22:29:21 +02:00
d3d80f6995 Enhance Veranstalter and Veranstaltung flows: add confirm dialog for event creation, refine navigation logic, and improve onboarding with keyboard focus handling.
Some checks failed
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
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
2026-04-02 00:41:29 +02:00
6fc6c8fc79 feat(management-feature): add centralized administration screens and back-navigation support
- Introduced comprehensive management screens for horses, riders, clubs, and officials.
- Integrated reusable `ManagementTableScreen` component for standardized layouts and operations.
- Added back-navigation support in `DesktopNavigationPort` with a stack-based implementation.
- Refined `DesktopMainLayout` with enhanced routing and dynamic placeholders for in-development screens.
- Updated roadmap to reflect completion of Phase 7: "Zentrale Verwaltung".

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-04-01 17:26:44 +02:00
09debdef86 Refactor Veranstalter and Veranstaltung flows: add VeranstalterProfil UI, event creation callback, profile enhancements, and save-enable matrix logic. Extend ZNS import and branding workflows.
Some checks failed
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
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
2026-04-01 02:51:02 +02:00
f44b2c8126 feat(event-feature): enhance Veranstaltungs- & Turnier-Workflow
Some checks are pending
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Waiting to run
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Waiting to run
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Waiting to run
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Waiting to run
- Extended `Veranstaltung` domain model with new fields: `untertitel`, `logoUrl`, and `sponsoren`.
- Refined navigation in `DesktopMainLayout.kt` to check turnier context and improve routing.
- Overhauled `TurnierStammdatenTab` with enhanced interactivity: dynamic chip-based selectors for Spartens, Klassen, and Sponsors, as well as date pickers and ZNS import handling.
- Implemented validations for date ranges and required fields.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-31 17:33:14 +02:00
496e801943 feat(verein-feature): add Vereinsverwaltung module with screens, ViewModel, and integration
- Introduced `verein-feature` module for managing Vereine, including list, detail, and editor views using `MsMasterDetailLayout`.
- Added new domain models (`Verein`, `VereinStatus`) and integrated mock data for development.
- Registered the new feature in `settings.gradle.kts` and `DesktopMainLayout.kt`, including breadcrumb navigation and entry point.
- Updated `VeranstaltungenUebersichtV2` to add Vereine as a quick-access KPI tile.
- Removed unnecessary logout functionality and adjusted the root navigation for consistency.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-31 15:00:24 +02:00
1699c24875 feat(workflow): introduce Event-First workflow with improved UX and test data seeding
- Replaced `VeranstalterAuswahlV2` with `VeranstaltungenUebersichtV2` for a direct entry point to event management.
- Integrated onboarding directly into the event creation flow (`VeranstaltungKonfigV2`).
- Added realistic test data (`StoreV2.seed()`) for instant workflow testing.
- Updated initial navigation flow (`DesktopApp.kt`) to prioritize the event-first approach.
- Enhanced screen and component interactions to streamline the user journey in offline-first mode.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-31 13:34:42 +02:00
6bbf6dc966 feat(pferde-feature): introduce Pferde management module with screens, ViewModel, and domain models
- Added `pferde-feature` module for managing horses, including list, detail, and editing views.
- Implemented `MsMasterDetailLayout` for PferdeScreen, integrating `MsDataTable`, `MsFilterBar`, and `MsActionToolbar`.
- Defined domain models (`Pferd`, `Geschlecht`, `PferdeStatus`) with mock data support.
- Updated roadmap to mark `Pferde-Verwaltung (MVP)` as complete.
- Registered the new module in `settings.gradle.kts` and `meldestelle-desktop` build configuration.
- Added previews for Pferde and Reiter components to support IDE render.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-31 12:20:03 +02:00
94306329c9 feat(reiter-feature): introduce Reiter management module with screens, ViewModel, and domain models
- Added `reiter-feature` module for managing riders, including list and detail views.
- Implemented `MsMasterDetailLayout` for ReiterScreen, integrating `MsDataTable`, `MsFilterBar`, and `MsActionToolbar`.
- Defined domain models (`Reiter`, `LizenzKlasse`, `Sparte`, `ReiterStatus`) with mock data support.
- Updated roadmap to reflect progress in Phase 5: Routing & Screen-Komposition.
- Registered the new module in `settings.gradle.kts`.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-31 11:09:41 +02:00
659e699c33 feat(design-system): add MsDialogShell and MsConfirmDialog components, and update roadmap
- Introduced `MsDialogShell` for a standardized modal dialog framework.
- Added `MsConfirmDialog` as a utility for common confirmation dialogs.
- Updated `Frontend_Komponenten_Roadmap.md` to mark `MsDialogShell` as complete.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-31 10:57:09 +02:00
96c9abb264 feat(design-system): add MsActionToolbar component and update roadmap
- Introduced `MsActionToolbar` for consistent placement of primary actions like Save, Cancel, Add, and Delete.
- Updated `Frontend_Komponenten_Roadmap.md` to mark this component as complete in Phase 4.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-31 10:52:58 +02:00
ad529f7395 feat(design-system): add MsMasterDetailLayout component and update roadmap
- Introduced `MsMasterDetailLayout` as a standardized layout for master-detail screens, including support for customizable headers and split proportions.
- Updated `Frontend_Komponenten_Roadmap.md` to mark this component as complete in Phase 4.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-31 10:52:30 +02:00
b2a0883388 feat(design-system): add MsSearchableSelect component and update roadmap
- Introduced `MsSearchableSelect` for autocomplete search and selection of objects like riders, horses, or clubs.
- Updated `Frontend_Komponenten_Roadmap.md` to mark Phase 3 as complete.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-31 10:46:26 +02:00
442caa59ff feat(design-system): add MsValidationWrapper component and update roadmap
- Introduced `MsValidationWrapper` for consistent display of validation messages (errors, warnings, info) in input components.
- Updated `Frontend_Komponenten_Roadmap.md` to mark this component as complete in Phase 3.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-31 10:42:40 +02:00
340f341594 feat(design-system): add MsEnumDropdown component and update roadmap
- Introduced a reusable `MsEnumDropdown` component for selecting enum values with customizable options, labels, and error handling.
- Updated `Frontend_Komponenten_Roadmap.md` to reflect progress in Phase 3, marking `MsEnumDropdown` as completed.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-31 10:40:50 +02:00
5980fbe14f feat(design-system): add MsFilterBar, MsDataTable, and MsStatusBadge components
- Implemented MsFilterBar for search, filters, and result count display in list views.
- Introduced MsDataTable for high-density, flexible data visualization with column definitions and alternate row styling.
- Added MsStatusBadge for compact, reusable status indicators with predefined styles (Success, Warning, Error, Info).
- Updated roadmap documentation to mark these components as complete in Phase 2.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-31 10:30:43 +02:00
2d532eb41c docs(roadmap): mark Phase 1 as complete and update progress in Frontend_Komponenten_Roadmap.md
- Marked Phase 1 (`Cleanup & Konsolidierung`) as complete and updated task checklists accordingly.
- Recorded fixes for `ping-feature` and `profile-feature` references in the roadmap.
- Improved clarity for completed refactorings and theme adjustments.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-31 10:10:31 +02:00
c20899752a refactor(design-system): consolidate components and standardize naming with Ms prefix
- Removed redundant files: `AppFooter`, `AppHeader`, `AppScaffold`, `LoadingIndicator`, `MeldestelleButton`, `MeldestelleTextField`, `DashboardCard`.
- Introduced `MsFooter`, `MsHeader`, `MsScaffold`, `MsLoadingIndicator`, `MsButton`, `MsTextField`, `MsCard` with standardized implementation and naming.
- Updated references in `profile-feature` and `ping-feature` to use the new components.
- Aligned with roadmap goals for a consistent, reusable, and high-density design system.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-31 10:07:17 +02:00
b2e6158328 feat(billing-feature): introduce billing module with Money class, calculation logic, and DI setup
- Added `Money` value class for precise monetary operations.
- Implemented `BillingCalculator` to handle fee calculations, including ÖTO-compliant contributions and prize distribution rules.
- Created `BillingModule` for dependency injection using Koin.
- Integrated `billing-feature` into the desktop shell and project dependencies.
- Introduced `TurnierWizardV2` and `VeranstalterAuswahlV2` screens with improved UI and billing synchronization support.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-30 16:38:29 +02:00
c5c1e96d25 feat(masterdata): add ÖTO seed data, regulation validation tests, and profile module integration
- Introduced ÖTO 2026-compliant seed data (`V008__Seed_OETO_2026_Data.sql`) for tournament classes, license matrix, and age groups.
- Added `RegulationSeedVerificationTest` to validate repository queries and domain eligibility logic.
- Implemented a new `profile-feature` module covering user profile management and ZNS linking.
- Integrated the `profile-feature` into the desktop shell and frontend with Koin DI configuration.
- Extended CHANGELOG, ROADMAP, and architecture documentation to reflect related changes.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-30 16:14:13 +02:00
6ef1fd4ca6 fix(ui): ensure outlinedButtonBorder respects enabled state in Screens.kt
Some checks failed
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
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-28 17:03:08 +01:00
e30304937f chore: update module dependencies and remove unused imports
- Added `backend.infrastructure.persistence` to `@SpringBootApplication` scanBasePackages in `IdentityServiceApplication` and included it as a dependency in `build.gradle.kts`.
- Cleaned up unused imports in several files, including `Screens.kt`, `VeranstaltungScreens.kt`, and `TurnierAbrechnungTab.kt`.
- Updated `PingJpaEntity` to include `@Column` annotation for `createdAt` field.
- Refactored import ordering in `ZnsImportServiceTest` and `DatabaseFactory`.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-28 17:00:19 +01:00
c806660685 chore: remove deprecated horses, clubs, officials, and persons services
- Deleted obsolete modules related to horses, clubs, officials, and persons services, including their configurations, build files, and database provisioning scripts.
- Cleaned up associated references in the project structure (e.g., `settings.gradle.kts`).
- Removed unused database tables and Spring beans related to these domains.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-28 16:51:08 +01:00
43d83e403a Implement Vision_03: Overhaul Veranstalter and Veranstaltung flow with new composables, centralized state management via StoreV2, and updated navigation logic. Add DesktopThemeV2 for consistent UI styling. 2026-03-28 02:08:14 +01:00
7a10d8bb18 Implement Veranstalter and Veranstaltung management: Add VeranstalterDetailScreen, seed FakeVeranstaltungStore, and enable deletion of Veranstaltungen. Extend onboarding with device name validation. Refine UI for VeranstalterKonfigScreen, add InvalidContextNotice, and centralize navigation checks. 2026-03-28 01:37:32 +01:00
ae64714465 refactor(preview): replace @Preview with @ComponentPreview and update dependencies
Some checks failed
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Failing after 2m56s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Failing after 3m12s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 1m19s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 2m19s
- Replaced all occurrences of `@Preview` with the standardized `@ComponentPreview` annotation for a consistent preview experience across modules.
- Added `compose.uiTooling` dependency to `core/design-system` for enhanced preview functionality.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-26 16:59:43 +01:00
c2b3b5889f chore: remove obsolete screens from meldestelle-desktop module
Some checks failed
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Failing after 2m56s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Failing after 3m3s
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 2m13s
- Deleted unused screens including `AdminUebersichtScreen`, `AktorScreens`, `StammdatenImportScreen`, `TurnierDetailScreen`, and supporting components such as `PlaceholderContent`.
- Cleaned up references and placeholders to streamline module structure.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-26 15:09:44 +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
b8e5065d6a fix(ui): handle nullability for errorMessage in StammdatenImportScreen
Some checks failed
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Failing after 3m3s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Failing after 3m8s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 1m43s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 2m0s
- Updated `state.errorMessage` to safely use non-null assertion (`!!`) in `Text()` to prevent potential nullability issues and runtime crashes.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-25 15:47:26 +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
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
e89c58bd28 feat(ui): add new screens for AuthStatus, OrganizerProfile, and Dashboard
- Introduced `AuthStatusScreen` to display user authentication status and navigation options.
- Added `OrganizerProfileScreen` with detailed profile editing features (contacts, address, and social links).
- Created `DashboardScreen` for admins and organizers with responsive layouts.
- Developed reusable `TournamentCard` component for displaying tournament details.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-21 18:37:23 +01:00
3a53dd95da chore(build): remove unused composeHotReload plugin from build script
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-21 17:52:35 +01:00
0e32999df4 feat(auth, ui): add Keycloak login flow and enhance LoginScreen UI
- Introduced `onKeycloakLogin` callback in LoginScreen for Keycloak-based authentication.
- Updated Login UI with "Login with Keycloak" button and loading indicator for OIDC flow.
- Implemented dividers and spacing for improved visual structure.

- Refactored LandingScreen into a separate file for better modularity and maintenance.
- Reintroduced LandingScreen features, hero section, and footer with enhanced composables.

- Added `composeHotReload` plugin and `uiTooling` dependency for development improvements.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-21 17:49:15 +01:00
c0389558bb feat(ui): add LandingPagePreview with Compose-based design preview
- Introduced `LandingPagePreview` composable for live UI previews in IntelliJ (Hot-Reload).
- Included fallback `main()` for standalone preview in the Design Preview Sandbox.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-21 16:57:42 +01:00
a0b7d5aa34 feat(theme): add centralized typography and color definitions
- Introduced `AppTypography` for standardized text styles across the project.
- Added `AppColors` with centralized color palette for consistent theming.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-21 16:57:20 +01:00
ac3bfcad3c refactor(theme): centralize colors and typography in AppColors and AppTypography
- Replaced hardcoded color values in `LightColorScheme` and `DarkColorScheme` with `AppColors`.
- Updated `AppTypography` references in `AppMaterialTypography`.
- Upgraded Kotlin, Compose Multiplatform, and Ktor to latest versions in `libs.versions.toml`.
- Added `uiToolingPreview` dependency in `meldestelle-portal` build script.
- Refactored config loading to include `RequestInit`.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-21 16:56:33 +01:00
2eb88430f1 refactor(ui): replace TabRow with PrimaryTabRow and improve toggle state handling in MainApp
Some checks failed
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Failing after 2m41s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Failing after 2m55s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m19s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m46s
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-21 14:00:15 +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
575ef18034 Refactor: Replace androidx.compose.ui.Modifier with Modifier for cleaner code and consistency
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 8m4s
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 3m17s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m51s
2026-03-21 00:01:53 +01:00
499b93e100 Add registration tab to LoginScreen and implement OrganizerProfile screen 2026-03-20 23:57:21 +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
119af6fd6b fix(auth, web-app): update Keycloak config secrets and improve SW cache handling
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 6m42s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 1m58s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m44s
- Updated `keycloak/meldestelle-realm.json` to replace dynamic secrets with static values for local testing.
- Incremented service worker cache version to `v4` and added bypass rules for API requests and app bundles to prevent outdated data.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-17 10:41:32 +01:00
bafb63dc16 Remove deprecated isAuthenticated logic from PingViewModel and related UI components 2026-03-17 00:18:02 +01:00
4344d04ff9 Add authentication check to secure ping action and propagate auth state in PingScreen
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 8m16s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m38s
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 1m46s
2026-03-16 23:35:49 +01:00