docs: enhance glossary formatting for consistency and readability

- Standardized table layouts by aligning column headers and content across all alphabetical sections.
- Improved text organization and adjusted spacing for better readability.
- Retained all existing references and definitions without modifications to their meaning.
This commit is contained in:
2026-04-07 19:28:34 +02:00
parent 6b9177e818
commit 92f22faf2f
3 changed files with 215 additions and 44 deletions
@@ -0,0 +1,98 @@
<mxfile host="Electron" modified="2026-04-07T12:00:00.000Z" agent="Lead Architect" version="21.0.0" type="device">
<diagram id="domain_model" name="Core Domain Model">
<mxGraphModel dx="1200" dy="1000" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<!-- Entities -->
<mxCell id="ent_veranstaltung" value="&lt;b&gt;Veranstaltung&lt;/b&gt;&lt;br&gt;&lt;hr&gt;&lt;i&gt;Event Management Context&lt;/i&gt;&lt;br&gt;- Name&lt;br&gt;- Ort&lt;br&gt;- Zeitraum (z.B. Do-So)&lt;br&gt;- ZNS.zip (Stammdaten)&lt;br&gt;&lt;b&gt;[Tenant Boundary]&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;verticalAlign=top;align=left;spacingTop=4;spacingLeft=8;strokeWidth=2;" vertex="1" parent="1">
<mxGeometry x="120" y="80" width="200" height="120" as="geometry" />
</mxCell>
<!-- NEU: Austragungsplatz und Artikel an Veranstaltung -->
<mxCell id="ent_austragungsplatz" value="&lt;b&gt;Austragungsplatz&lt;/b&gt;&lt;br&gt;&lt;hr&gt;&lt;i&gt;Event Management Context&lt;/i&gt;&lt;br&gt;- Name (z.B. Waldarena)&lt;br&gt;- Sparte (optional)&lt;br&gt;- Maße" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;verticalAlign=top;align=left;spacingTop=4;spacingLeft=8;" vertex="1" parent="1">
<mxGeometry x="360" y="80" width="160" height="100" as="geometry" />
</mxCell>
<mxCell id="ent_artikel" value="&lt;b&gt;TurnierArtikel&lt;/b&gt;&lt;br&gt;&lt;hr&gt;&lt;i&gt;Billing Context&lt;/i&gt;&lt;br&gt;- Name (Heu, Ansage)&lt;br&gt;- Preis&lt;br&gt;- Automatisch (Nenngeld) vs. Manuell" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;verticalAlign=top;align=left;spacingTop=4;spacingLeft=8;" vertex="1" parent="1">
<mxGeometry x="560" y="80" width="200" height="100" as="geometry" />
</mxCell>
<mxCell id="ent_kassa" value="&lt;b&gt;TeilnehmerKonto&lt;/b&gt;&lt;br&gt;&lt;hr&gt;&lt;i&gt;Billing Context&lt;/i&gt;&lt;br&gt;- Saldo&lt;br&gt;- Buchungen (Artikel/Gebühren)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;verticalAlign=top;align=left;spacingTop=4;spacingLeft=8;" vertex="1" parent="1">
<mxGeometry x="800" y="80" width="200" height="100" as="geometry" />
</mxCell>
<mxCell id="ent_turnier" value="&lt;b&gt;Turnier&lt;/b&gt;&lt;br&gt;&lt;hr&gt;&lt;i&gt;Event Management Context&lt;/i&gt;&lt;br&gt;- 5-stellige Nr. (26128)&lt;br&gt;- Sparte &amp;amp; Kategorie&lt;br&gt;- Nennschluss&lt;br&gt;- n2-xxxxx.dat (Nenndaten)&lt;br&gt;- TB (Turnierbeauftragter)&lt;br&gt;- Richterkollegium" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;verticalAlign=top;align=left;spacingTop=4;spacingLeft=8;" vertex="1" parent="1">
<mxGeometry x="120" y="280" width="200" height="140" as="geometry" />
</mxCell>
<mxCell id="ent_bewerb" value="&lt;b&gt;Bewerb&lt;/b&gt;&lt;br&gt;&lt;hr&gt;&lt;i&gt;Competition Context&lt;/i&gt;&lt;br&gt;- Nummer / Name&lt;br&gt;- Richtverfahren / Klasse&lt;br&gt;- Austragungsplatz (Ref)&lt;br&gt;- Richter-Einsatz&lt;br&gt;- Zeitplan (Dauer, Beginn)&lt;br&gt;- Geldpreis (Ja/Nein)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;verticalAlign=top;align=left;spacingTop=4;spacingLeft=8;" vertex="1" parent="1">
<mxGeometry x="120" y="500" width="200" height="140" as="geometry" />
</mxCell>
<mxCell id="ent_abteilung" value="&lt;b&gt;Abteilung&lt;/b&gt;&lt;br&gt;&lt;hr&gt;&lt;i&gt;Competition Context&lt;/i&gt;&lt;br&gt;- Trennungs-Kriterium&lt;br&gt; (z.B. R1 vs. R2)&lt;br&gt;- Startliste" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;verticalAlign=top;align=left;spacingTop=4;spacingLeft=8;" vertex="1" parent="1">
<mxGeometry x="120" y="720" width="200" height="100" as="geometry" />
</mxCell>
<!-- NENNUNG -->
<mxCell id="ent_nennung" value="&lt;b&gt;Nennung (Entry)&lt;/b&gt;&lt;br&gt;&lt;hr&gt;&lt;i&gt;Registration Context&lt;/i&gt;&lt;br&gt;- Status (Offen, Bestätigt)&lt;br&gt;- Ist-Nachnennung (Flag)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;verticalAlign=top;align=left;spacingTop=4;spacingLeft=8;" vertex="1" parent="1">
<mxGeometry x="480" y="520" width="200" height="120" as="geometry" />
</mxCell>
<mxCell id="ent_reiter" value="&lt;b&gt;Reiter&lt;/b&gt;&lt;br&gt;&lt;hr&gt;&lt;i&gt;Actor Context&lt;/i&gt;&lt;br&gt;- Name&lt;br&gt;- Lizenz" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;verticalAlign=top;align=left;spacingTop=4;spacingLeft=8;" vertex="1" parent="1">
<mxGeometry x="800" y="420" width="200" height="100" as="geometry" />
</mxCell>
<mxCell id="ent_pferd" value="&lt;b&gt;Pferd&lt;/b&gt;&lt;br&gt;&lt;hr&gt;&lt;i&gt;Actor Context&lt;/i&gt;&lt;br&gt;- Name&lt;br&gt;- Kopfnummer (lokal)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;verticalAlign=top;align=left;spacingTop=4;spacingLeft=8;" vertex="1" parent="1">
<mxGeometry x="800" y="620" width="200" height="100" as="geometry" />
</mxCell>
<!-- Connections (Relationships) -->
<mxCell id="edge_ver_tur" value="1 : N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="ent_veranstaltung" target="ent_turnier">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<!-- NEU: Platz/Artikel Verbindungen -->
<mxCell id="edge_ver_platz" value="1 : N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.25;exitDx=0;exitDy=0;" edge="1" parent="1" source="ent_veranstaltung" target="ent_austragungsplatz">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="edge_ver_artikel" value="1 : N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.75;exitDx=0;exitDy=0;" edge="1" parent="1" source="ent_veranstaltung" target="ent_artikel">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="edge_ver_konto" value="1 : N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="ent_artikel" target="ent_kassa">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="edge_tur_bew" value="1 : N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="ent_turnier" target="ent_bewerb">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="edge_bew_abt" value="1 : N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="ent_bewerb" target="ent_abteilung">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<!-- ABTEILUNG -> NENNUNG (The True Relationship) -->
<mxCell id="edge_abt_nen" value="1 : N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;entryX=0;entryY=0.75;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="ent_abteilung" target="ent_nennung">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<!-- BEWERB -> NENNUNG (Denormalisiert) -->
<mxCell id="edge_bew_nen" value="(Denormalisiert)" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;entryX=0;entryY=0.25;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;dashed=1;strokeColor=#82b366;" edge="1" parent="1" source="ent_bewerb" target="ent_nennung">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="edge_nen_rei" value="1 : 1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.25;exitDx=0;exitDy=0;" edge="1" parent="1" source="ent_nennung" target="ent_reiter">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="edge_nen_pfe" value="1 : 1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.75;exitDx=0;exitDy=0;" edge="1" parent="1" source="ent_nennung" target="ent_pferd">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
@@ -0,0 +1,73 @@
<mxfile host="Electron" modified="2026-04-07T12:00:00.000Z" agent="Lead Architect" version="21.0.0" type="device">
<diagram id="c4-level-2" name="C4 Level 2 - Bounded Contexts">
<mxGraphModel dx="1200" dy="800" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<!-- Actor -->
<mxCell id="actor_user" value="Meldestelle-Mitarbeiter /&#10;Veranstalter" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
<mxGeometry x="40" y="320" width="30" height="60" as="geometry" />
</mxCell>
<!-- System Boundary -->
<mxCell id="system_boundary" value="Meldestelle (Compose Desktop KMP)" style="swimlane;whiteSpace=wrap;html=1;startSize=30;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
<mxGeometry x="160" y="80" width="760" height="640" as="geometry" />
</mxCell>
<!-- SCS / Bounded Contexts -->
<mxCell id="ctx_event" value="&lt;b&gt;Event Management Context&lt;/b&gt;&lt;br&gt;&lt;br&gt;Verwaltet die Rahmenbedingungen:&lt;br&gt;Veranstaltung, Turniere, Ausschreibung" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;verticalAlign=top;align=left;spacingTop=4;spacingLeft=8;" vertex="1" parent="system_boundary">
<mxGeometry x="40" y="60" width="280" height="100" as="geometry" />
</mxCell>
<mxCell id="ctx_actor" value="&lt;b&gt;Actor Context&lt;/b&gt;&lt;br&gt;&lt;br&gt;Stammdaten:&lt;br&gt;Reiter, Pferde, Funktionäre, Vereine" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;verticalAlign=top;align=left;spacingTop=4;spacingLeft=8;" vertex="1" parent="system_boundary">
<mxGeometry x="440" y="60" width="280" height="100" as="geometry" />
</mxCell>
<mxCell id="ctx_registration" value="&lt;b&gt;Registration Context&lt;/b&gt;&lt;br&gt;&lt;br&gt;Das Herzstück:&lt;br&gt;Nennungen, Nennungs-Transfers" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;verticalAlign=top;align=left;spacingTop=4;spacingLeft=8;" vertex="1" parent="system_boundary">
<mxGeometry x="240" y="220" width="280" height="100" as="geometry" />
</mxCell>
<mxCell id="ctx_competition" value="&lt;b&gt;Competition Context&lt;/b&gt;&lt;br&gt;&lt;br&gt;Der sportliche Ablauf:&lt;br&gt;Bewerbe, Abteilungen, Startlisten, Ergebnisse" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;verticalAlign=top;align=left;spacingTop=4;spacingLeft=8;" vertex="1" parent="system_boundary">
<mxGeometry x="440" y="380" width="280" height="100" as="geometry" />
</mxCell>
<mxCell id="ctx_billing" value="&lt;b&gt;Billing Context&lt;/b&gt;&lt;br&gt;&lt;br&gt;Finanzen:&lt;br&gt;Kassa, Gebühren, Abrechnung" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;verticalAlign=top;align=left;spacingTop=4;spacingLeft=8;" vertex="1" parent="system_boundary">
<mxGeometry x="40" y="380" width="280" height="100" as="geometry" />
</mxCell>
<!-- SaaS Admin Context -->
<mxCell id="ctx_saas_admin" value="&lt;b&gt;SaaS Admin Context / Masterdata&lt;/b&gt;&lt;br&gt;&lt;br&gt;Mandanten-Verwaltung:&lt;br&gt;Kunden (Veranstalter), Lizenzen, Provisionierung" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;verticalAlign=top;align=left;spacingTop=4;spacingLeft=8;" vertex="1" parent="system_boundary">
<mxGeometry x="240" y="520" width="280" height="100" as="geometry" />
</mxCell>
<!-- External Systems -->
<mxCell id="ext_zns" value="&lt;b&gt;ZNS (Zentrales Nennungs-System)&lt;/b&gt;&lt;br&gt;&lt;br&gt;Externe Datenquelle für Nennungen (A-Satz, B-Satz) und Stammdaten." style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;verticalAlign=top;align=left;spacingTop=4;spacingLeft=8;" vertex="1" parent="1">
<mxGeometry x="1000" y="300" width="200" height="100" as="geometry" />
</mxCell>
<!-- Connections (Relationships) -->
<mxCell id="edge_user_sys" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;dashed=1;" edge="1" parent="1" source="actor_user" target="system_boundary">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="edge_zns_reg" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;dashed=1;" edge="1" parent="1" source="ext_zns" target="ctx_registration">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="edge_zns_actor" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.25;exitDx=0;exitDy=0;dashed=1;" edge="1" parent="1" source="ext_zns" target="ctx_actor">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="edge_reg_comp" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="system_boundary" source="ctx_registration" target="ctx_competition">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="edge_saas_event" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="system_boundary" source="ctx_saas_admin" target="ctx_event">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>