- Replaced outdated `.puml` and `.mermaid` diagrams with modernized `.drawio` versions for enhanced clarity.
- Added `container_diagram.drawio` to depict offline-first architecture and backend synchronization workflow.
- Introduced `workflow_turnieranlage.drawio` to visualize the tournament creation process (3-step wizard).
- Archived legacy diagrams under `docs/01_Architecture/_archive` for reference.
- Replaced outdated `.puml` and `.mermaid` diagrams with modernized `.drawio` versions for enhanced clarity.
- Added `container_diagram.drawio` to depict offline-first architecture and backend synchronization workflow.
- Introduced `workflow_turnieranlage.drawio` to visualize the tournament creation process (3-step wizard).
- Archived legacy diagrams under `docs/01_Architecture/_archive` for reference.
- Logged additional ideas in `Chat-Verlauf-Gemini_2026-04-07.md` regarding visualizing hierarchy, inheritance, and class structure.
- Documented discussion on reevaluating "Dom..." class prefixes and planning for implementation steps.
- Standardized section headers in `Chat-Verlauf-Gemini_2026-04-07.md` for better clarity.
- Adjusted markdown formatting for participant labels ("Ich", "Gemini") to ensure consistent separation and readability.
- Leveraged markdown lists to enhance the readability of ÖTO § 3 guidelines and constraints.
- Resolved minor inconsistencies in indentation to ensure visual alignment across all sections.
- **Domain Enhancements:**
- Introduced `TurnierNummer` (mandatory, 5 digits) field in `DomTurnier` to establish unique tournament identification.
- Added `TeilnehmerKreisE` enum representing participation constraints defined in ÖTO § 3 (e.g., J, P, H).
- Extended `DomTurnier` model with `einschraenkungen` field to store applicable participant restrictions.
- **Infrastructure Updates:**
- Updated `TurnierTable` to include `turnier_nummer` (varchar) and `einschraenkungen` (text/JSON).
- Created Flyway migration to add new columns to `turniere` table and backfill existing data.
- Enhanced repository methods (`TurnierRepositoryImpl`) to handle the new fields.
- **Validation and API Expansion:**
- Added validation for mandatory 5-digit format of `TurnierNummer` and ensured `einschraenkungen` values conform to the ÖTO spec.
- Updated relevant APIs (`CreateTurnierUseCase`, `TurniereController`) to accept and process new fields.
- **Documentation:**
- Updated the glossary in `Ubiquitous_Language.md` to include new concepts (`TurnierNummer` and participation constraints).
This enhancement lays the groundwork for ÖTO-compliant tournament management with precise scope and constraint controls.
- Included comprehensive documentation addressing the architecture, roadmap, and MVP goals for Neumarkt 2026.
- Added domain-specific definitions, glossary references, and functional breakdowns for both the public Web-App and Desktop-App.
- Clarified MVP deliverables, including Web-App Nennformular, Desktop-App offline-first setup, ZNS data sync, and LAN integration.
- Documented step-by-step onboarding workflow and open decisions for device pairing and security.
- Updated roadmap with sprint goals and technical steps for implementation.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
- 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>