UMTS at Teleco 1 tháng trước cách đây
mục cha
commit
33e9dcb675
3 tập tin đã thay đổi với 259 bổ sung13 xóa
  1. 3 0
      .gitignore
  2. 53 13
      Abgaben/Beepzone-Stack-Projektplanung.md
  3. 203 0
      Abgaben/PSP.drawio

+ 3 - 0
.gitignore

@@ -4,4 +4,7 @@
 # Log files
 *.log
 
+# Temporary files
+*.drawio.bkp
+
 # Test So I can Commit Branch rename

+ 53 - 13
Abgaben/Beepzone-Stack-Projektplanung.md

@@ -2,24 +2,64 @@
 > BeepZone : Eine sehr Effiziente, Funktionsreiche als auch Integrierbare Inventarisierungslösung geschrieben in Rust 
 ###### *T.Bachmann (aka. crt / umts) - 2025-12-09*
 
-## Kurz/Grob Planung bzw. Beschreib
+## Projektauftrag
 
-### Ausgangslage
-- BeepZone-Backend (MySQL Schema und Sekel-Proxy) : Läuft stabil, benötigt jedoch diverse Aufräumarbeiten und Dokumentation.
-- BeepZone-eGUI (Desktop Client) deckt die Grundfunktionalität ab, es fehlen aber diverse Features (zB. richtiges RBAC, Admin Panel View) und es gibt noch diverse Lücken im Bereich Tests und Dokuemntation.
+### Projektbezeichnung :
+Initial Finalisierung des BeepZone Inventar Systems
 
-### Hauptproblem
+### Ausgangslage (Ist)
+- BeepZone-Backend (MySQL Schema und Sekel-Proxy) : Läuft stabil, benötigt jedoch etwas Aufräumarbeiten und Dokumentation.
+- BeepZone-eGUI (Desktop Client) deckt die Grundfunktionalität ab, es fehlen aber Features (zB. RBAC, Admin Panel) und es gibt Lücken bezüglich Tests und Dokumentation.
+
+#### Hauptproblem
 Ohne den Finalisierten Stack kann das Inventarsystem nicht im Betrieb umgesetzt/angewendet werden.
 
-### Projektziel (Soll)
-BeepZone-Stack produktion bereit machen und publizieren sowie für internen Einsatz fertigstellen.
+### Projektergebnis (Soll)
+BeepZone-Stack produktionsreif machen, veröffentlichen und für internen Einsatz bereit stellen.
 
-### Teilziele
-- Fehlende im UI Angezeigte Funktionen implementieren
-- Fehlende Funktionen bezüglich Admin Panel und RBAC implementieren
-- Tests aller Funktionen und Feinschliff
-- Code aufräumen und Dokumentation und Setup Anleitung fertig Stellen.
+#### Teilziele
+- Fehlende im UI angezeigte Funktionen implementieren.
+- Fehlende Funktionen bezüglich Admin Panel und RBAC implementieren.
+- Tests aller Funktionen und Feinschliff.
+- Code aufräumen sowie Dokumentation und Setup Anleitung fertig stellen.
 
 ### Nutzen
 - Intern: Schliesst die aktuelle Lücke im Bereich Inventarisierung, reduziert unbemerkter Diebstahl, und erleichtert Audits von Zimmern und deren Zugewiesenen Objekte
-- Extern: Vorzeigbares OpenSource Projekt das von anderen Verwendet werden kann bzw. erweitert und Verbessert werden kann.
+- Extern: Vorzeigbares OpenSource Projekt das von anderen Verwendet werden kann bzw. erweitert und Verbessert werden kann.
+
+### Administrative Informationen
+
+#### Auftragsgeber
+- T.Bachmann (auf Grundes Eigeninitative)
+
+#### Projektverantwortlicher
+- T.Bachmann
+
+#### Ziel Betrieb
+- Immo
+
+#### Projektnummer
+- 1
+
+#### Terminvorgaben
+Projektabschluss bis 2026-01-12 (Start der Zimmerkontrollen).
+
+## Risikoanalyse
+
+| Risiko                               | Auswirkung                   | Wahrscheinlichkeit       | Gegenmassnahme                                            |
+| ------------------------------------ | ---------------------------- | ------------------------ | --------------------------------------------------------- |
+| Prokastination und Zeitmangel        | Terminverzug                 | Hoch                     | Wichtigste Features Priorisieren und Zeitpuffer einplanen |
+| Unerwartete Bugs nach Code Aufräumen | Funktionsausfälle            | Mittel                   | Kleine Änderunen Schrittweise anwenden und immer testen   |
+| Unklare Anforderungen im Admin Panel | Fehlende Funktionen          | Mittel                   | Bei zukünftigen Administratoren nach gewünschtem fragen   |
+| Nicht genug Tests                    | Bugs und Sicherheitsprobleme | Niedrig                  | Realistische Testfälle machen und Seed Daten erstellen    |
+
+
+## Grober Phasenplan
+
+| Woche / Zeitraum     | Phase                        | Kernaufgaben                                                       |
+| -------------------- | ---------------------------- | ------------------------------------------------------------------ |
+| KW50 (09.12.–15.12.) | Bestandsaufnahme und Planung | Repo grob aufräumen, Notizen erstellen, Planung grob Finalisieren  |
+| KW51 (16.12.–22.12.) | Umsetzung                    | Fehlende Features Implementieren und Code Polieren                 |
+| KW52 (23.12.–29.12.) | Umsetzung                    | Fehlende Features Implementieren und Code Polieren                 |
+| KW01 (30.12.–05.01.) | Testen                       | Alle Features Testen, Eventuel End-Nutzer Test, Bugs reparieren    |
+| KW02 (06.01.–12.01.) | Dokumentieren und Abschluss  | Dokumentation Vervollständigen und Publizieren                     |

+ 203 - 0
Abgaben/PSP.drawio

@@ -0,0 +1,203 @@
+<mxfile host="Electron" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/28.1.2 Chrome/138.0.7204.243 Electron/37.4.0 Safari/537.36" version="28.1.2">
+  <diagram name="Page-1" id="nfd8GJAHPX_azGzCf930">
+    <mxGraphModel dx="1057" dy="716" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-51" style="edgeStyle=orthogonalEdgeStyle;shape=filledEdge;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;strokeColor=default;strokeWidth=1;align=center;verticalAlign=middle;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;endArrow=none;endFill=0;" edge="1" parent="1" source="qeMqfj75xE5H9zpvlo9_-1" target="qeMqfj75xE5H9zpvlo9_-2">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="560" y="100" />
+              <mxPoint x="320" y="100" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-52" style="edgeStyle=orthogonalEdgeStyle;shape=filledEdge;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;strokeColor=default;strokeWidth=1;align=center;verticalAlign=middle;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;endArrow=none;endFill=0;" edge="1" parent="1" source="qeMqfj75xE5H9zpvlo9_-1" target="qeMqfj75xE5H9zpvlo9_-28">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="560" y="100" />
+              <mxPoint x="480" y="100" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-53" style="edgeStyle=orthogonalEdgeStyle;shape=filledEdge;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;strokeColor=default;strokeWidth=1;align=center;verticalAlign=middle;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;endArrow=none;endFill=0;" edge="1" parent="1" source="qeMqfj75xE5H9zpvlo9_-1" target="qeMqfj75xE5H9zpvlo9_-29">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="560" y="100" />
+              <mxPoint x="640" y="100" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-54" style="edgeStyle=orthogonalEdgeStyle;shape=filledEdge;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;strokeColor=default;strokeWidth=1;align=center;verticalAlign=middle;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;endArrow=none;endFill=0;" edge="1" parent="1" source="qeMqfj75xE5H9zpvlo9_-1" target="qeMqfj75xE5H9zpvlo9_-30">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="560" y="100" />
+              <mxPoint x="800" y="100" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-55" style="edgeStyle=orthogonalEdgeStyle;shape=filledEdge;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shadow=1;strokeColor=default;strokeWidth=1;align=center;verticalAlign=middle;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;endArrow=none;endFill=0;" edge="1" parent="1" source="qeMqfj75xE5H9zpvlo9_-1" target="qeMqfj75xE5H9zpvlo9_-47">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="560" y="100" />
+              <mxPoint x="960" y="100" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-1" value="1&lt;div&gt;Inventar System&lt;/div&gt;&lt;div&gt;BeepZone Finalisieren&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;shadow=1;" vertex="1" parent="1">
+          <mxGeometry x="480" y="30" width="160" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-56" style="edgeStyle=orthogonalEdgeStyle;shape=filledEdge;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shadow=1;strokeColor=default;strokeWidth=1;align=center;verticalAlign=middle;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;endArrow=none;endFill=0;" edge="1" parent="1" source="qeMqfj75xE5H9zpvlo9_-2" target="qeMqfj75xE5H9zpvlo9_-12">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="250" y="240" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-57" style="edgeStyle=orthogonalEdgeStyle;shape=filledEdge;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shadow=1;strokeColor=default;strokeWidth=1;align=center;verticalAlign=middle;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;endArrow=none;endFill=0;" edge="1" parent="1" source="qeMqfj75xE5H9zpvlo9_-2" target="qeMqfj75xE5H9zpvlo9_-16">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="250" y="320" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-58" style="edgeStyle=orthogonalEdgeStyle;shape=filledEdge;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shadow=1;strokeColor=default;strokeWidth=1;align=center;verticalAlign=middle;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;endArrow=none;endFill=0;" edge="1" parent="1" source="qeMqfj75xE5H9zpvlo9_-2" target="qeMqfj75xE5H9zpvlo9_-20">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="250" y="400" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-59" style="edgeStyle=orthogonalEdgeStyle;shape=filledEdge;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shadow=1;strokeColor=default;strokeWidth=1;align=center;verticalAlign=middle;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;endArrow=none;endFill=0;" edge="1" parent="1" source="qeMqfj75xE5H9zpvlo9_-2" target="qeMqfj75xE5H9zpvlo9_-26">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="250" y="480" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-2" value="1.1&lt;div&gt;Bestandsaufnahme und Planung&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;shadow=1;" vertex="1" parent="1">
+          <mxGeometry x="250" y="129" width="140" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-71" style="edgeStyle=orthogonalEdgeStyle;shape=filledEdge;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shadow=1;strokeColor=default;strokeWidth=1;align=center;verticalAlign=middle;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;endArrow=none;endFill=0;" edge="1" parent="1" source="qeMqfj75xE5H9zpvlo9_-28" target="qeMqfj75xE5H9zpvlo9_-68">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="410" y="240" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-28" value="1.2&lt;div&gt;Umsetzung&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;shadow=1;" vertex="1" parent="1">
+          <mxGeometry x="410" y="129" width="140" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-65" style="edgeStyle=orthogonalEdgeStyle;shape=filledEdge;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shadow=1;strokeColor=default;strokeWidth=1;align=center;verticalAlign=middle;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;endArrow=none;endFill=0;" edge="1" parent="1" source="qeMqfj75xE5H9zpvlo9_-29" target="qeMqfj75xE5H9zpvlo9_-43">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="570" y="240" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-29" value="1.3&lt;div&gt;Testen&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;shadow=1;" vertex="1" parent="1">
+          <mxGeometry x="570" y="129" width="140" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-66" style="edgeStyle=orthogonalEdgeStyle;shape=filledEdge;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shadow=1;strokeColor=default;strokeWidth=1;align=center;verticalAlign=middle;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;endArrow=none;endFill=0;" edge="1" parent="1" source="qeMqfj75xE5H9zpvlo9_-30" target="qeMqfj75xE5H9zpvlo9_-45">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="730" y="240" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-30" value="1.4&lt;div&gt;Dokumentieren&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;shadow=1;" vertex="1" parent="1">
+          <mxGeometry x="730" y="129" width="140" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-22" value="&lt;span style=&quot;font-weight: normal;&quot;&gt;1.1.5&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Projekt in Kanban aufnehmen&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;" style="swimlane;whiteSpace=wrap;html=1;startSize=60;fillColor=#fff2cc;strokeColor=#d6b656;shadow=1;" vertex="1" collapsed="1" parent="1">
+          <mxGeometry x="260" y="530" width="120" height="60" as="geometry">
+            <mxRectangle x="100" y="530" width="120" height="190" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-23" value="&lt;span style=&quot;font-size: 8px;&quot;&gt;Projekt in Kanban aufnehmen, Arbeitspakete falls Nötig in kleinere Tasks aufteilen, Checklisten zu Arbeitspaketen hinzufügen&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=5;spacingLeft=5;spacingRight=5;" vertex="1" parent="qeMqfj75xE5H9zpvlo9_-22">
+          <mxGeometry y="60" width="120" height="130" as="geometry" />
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-26" value="&lt;span style=&quot;font-weight: normal;&quot;&gt;1.1.4&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Planung Kontrollieren&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;" style="swimlane;whiteSpace=wrap;html=1;startSize=60;fillColor=#fff2cc;strokeColor=#d6b656;shadow=1;" vertex="1" collapsed="1" parent="1">
+          <mxGeometry x="260" y="450" width="120" height="60" as="geometry">
+            <mxRectangle x="100" y="450" width="120" height="190" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-27" value="&lt;span style=&quot;font-size: 8px;&quot;&gt;Selbständiger Überflug von Planungsdokumenten sowie mit Lehrperson&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=5;spacingLeft=5;spacingRight=5;" vertex="1" parent="qeMqfj75xE5H9zpvlo9_-26">
+          <mxGeometry y="60" width="120" height="130" as="geometry" />
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-20" value="&lt;span style=&quot;font-weight: normal;&quot;&gt;1.1.3&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Planungsrelevante Dokumente Vervollständigen&lt;/span&gt;&lt;/div&gt;" style="swimlane;whiteSpace=wrap;html=1;startSize=60;fillColor=#fff2cc;strokeColor=#d6b656;shadow=1;" vertex="1" collapsed="1" parent="1">
+          <mxGeometry x="260" y="370" width="120" height="60" as="geometry">
+            <mxRectangle x="100" y="370" width="120" height="190" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-21" value="&lt;span style=&quot;font-size: 8px;&quot;&gt;Projektplanungsdokument Vervollständigen&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: 8px;&quot;&gt;PSP und Phasenplan Falls Notwendig oder Sinnvoll Anpassen&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 8px;&quot;&gt;Risikoanalyse Vervollständigen&amp;nbsp;&lt;/span&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=5;spacingLeft=5;spacingRight=5;" vertex="1" parent="qeMqfj75xE5H9zpvlo9_-20">
+          <mxGeometry y="60" width="120" height="130" as="geometry" />
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-16" value="&lt;span style=&quot;font-weight: normal;&quot;&gt;1.1.2&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Überflug Backend&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;" style="swimlane;whiteSpace=wrap;html=1;startSize=60;fillColor=#fff2cc;strokeColor=#d6b656;shadow=1;" vertex="1" collapsed="1" parent="1">
+          <mxGeometry x="260" y="290" width="120" height="60" as="geometry">
+            <mxRectangle x="100" y="290" width="120" height="190" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-17" value="&lt;span style=&quot;font-size: 8px;&quot;&gt;Zur Sicherheit Sekel-Proxy Code sowie MySQL Schema überfliegen&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 8px;&quot;&gt;und Liste Erstellen an klar ersichtlichen Fehlenden features, Problemen sowie anderem Notizwertem.&amp;nbsp;&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=5;spacingLeft=5;spacingRight=5;" vertex="1" parent="qeMqfj75xE5H9zpvlo9_-16">
+          <mxGeometry y="60" width="120" height="130" as="geometry" />
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-12" value="&lt;span style=&quot;font-weight: normal;&quot;&gt;1.1.1&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Überflug Frontend&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;" style="swimlane;whiteSpace=wrap;html=1;startSize=60;fillColor=#fff2cc;strokeColor=#d6b656;shadow=1;" vertex="1" collapsed="1" parent="1">
+          <mxGeometry x="260" y="210" width="120" height="60" as="geometry">
+            <mxRectangle x="100" y="210" width="120" height="190" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-13" value="&lt;span style=&quot;font-size: 8px;&quot;&gt;BeepZone-eGUI Desktop Client Visuel als auch Code mässig kurz Überfliegen und Liste Erstellen an klar ersichtlichen Fehlenden features, Problemen sowie anderem Notizwertem.&amp;nbsp;&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=5;spacingLeft=5;spacingRight=5;" vertex="1" parent="qeMqfj75xE5H9zpvlo9_-12">
+          <mxGeometry y="60" width="120" height="130" as="geometry" />
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-43" value="&lt;span style=&quot;font-weight: normal;&quot;&gt;1.3.1&lt;/span&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Todo Arbeitspakete hier erstellen&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;" style="swimlane;whiteSpace=wrap;html=1;startSize=60;fillColor=#fff2cc;strokeColor=#d6b656;shadow=1;" vertex="1" collapsed="1" parent="1">
+          <mxGeometry x="580" y="210" width="120" height="60" as="geometry">
+            <mxRectangle x="100" y="210" width="120" height="190" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-44" value="&lt;span style=&quot;font-size: 8px;&quot;&gt;BeepZone-eGUI Desktop Client Visuel als auch Code mässig kurz Überfliegen und Liste Erstellen an klar ersichtlichen Fehlenden features, Problemen sowie anderem Notizwertem.&amp;nbsp;&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=5;spacingLeft=5;spacingRight=5;" vertex="1" parent="qeMqfj75xE5H9zpvlo9_-43">
+          <mxGeometry y="60" width="120" height="130" as="geometry" />
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-45" value="&lt;span style=&quot;font-weight: normal;&quot;&gt;1.3.1&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Todo Arbeitspakete hier erstellen&lt;/span&gt;&lt;/div&gt;" style="swimlane;whiteSpace=wrap;html=1;startSize=60;fillColor=#fff2cc;strokeColor=#d6b656;shadow=1;" vertex="1" collapsed="1" parent="1">
+          <mxGeometry x="740" y="210" width="120" height="60" as="geometry">
+            <mxRectangle x="100" y="210" width="120" height="190" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-46" value="&lt;span style=&quot;font-size: 8px;&quot;&gt;BeepZone-eGUI Desktop Client Visuel als auch Code mässig kurz Überfliegen und Liste Erstellen an klar ersichtlichen Fehlenden features, Problemen sowie anderem Notizwertem.&amp;nbsp;&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=5;spacingLeft=5;spacingRight=5;" vertex="1" parent="qeMqfj75xE5H9zpvlo9_-45">
+          <mxGeometry y="60" width="120" height="130" as="geometry" />
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-67" style="edgeStyle=orthogonalEdgeStyle;shape=filledEdge;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shadow=1;strokeColor=default;strokeWidth=1;align=center;verticalAlign=middle;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;endArrow=none;endFill=0;" edge="1" parent="1" source="qeMqfj75xE5H9zpvlo9_-47" target="qeMqfj75xE5H9zpvlo9_-48">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="890" y="240" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-47" value="1.5&lt;div&gt;Abschluss&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;shadow=1;" vertex="1" parent="1">
+          <mxGeometry x="890" y="129" width="140" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-48" value="&lt;span style=&quot;font-weight: normal;&quot;&gt;1.4.1&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Todo Arbeitspakete hier erstellen&lt;/span&gt;&lt;/div&gt;" style="swimlane;whiteSpace=wrap;html=1;startSize=60;fillColor=#fff2cc;strokeColor=#d6b656;shadow=1;" vertex="1" collapsed="1" parent="1">
+          <mxGeometry x="900" y="210" width="120" height="60" as="geometry">
+            <mxRectangle x="100" y="210" width="120" height="190" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-49" value="&lt;span style=&quot;font-size: 8px;&quot;&gt;BeepZone-eGUI Desktop Client Visuel als auch Code mässig kurz Überfliegen und Liste Erstellen an klar ersichtlichen Fehlenden features, Problemen sowie anderem Notizwertem.&amp;nbsp;&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=5;spacingLeft=5;spacingRight=5;" vertex="1" parent="qeMqfj75xE5H9zpvlo9_-48">
+          <mxGeometry y="60" width="120" height="130" as="geometry" />
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-60" style="edgeStyle=orthogonalEdgeStyle;shape=filledEdge;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shadow=1;strokeColor=default;strokeWidth=1;align=center;verticalAlign=middle;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;endArrow=none;endFill=0;" edge="1" parent="1" source="qeMqfj75xE5H9zpvlo9_-2" target="qeMqfj75xE5H9zpvlo9_-22">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="250" y="560" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-68" value="&lt;span style=&quot;font-weight: normal;&quot;&gt;1.2.1&lt;/span&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Todo anhand Notizen Arbeitspakete hier erstellen&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;" style="swimlane;whiteSpace=wrap;html=1;startSize=60;fillColor=#fff2cc;strokeColor=#d6b656;shadow=1;" vertex="1" collapsed="1" parent="1">
+          <mxGeometry x="420" y="210" width="120" height="60" as="geometry">
+            <mxRectangle x="100" y="210" width="120" height="190" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="qeMqfj75xE5H9zpvlo9_-69" value="&lt;span style=&quot;font-size: 8px;&quot;&gt;BeepZone-eGUI Desktop Client Visuel als auch Code mässig kurz Überfliegen und Liste Erstellen an klar ersichtlichen Fehlenden features, Problemen sowie anderem Notizwertem.&amp;nbsp;&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;spacing=5;spacingLeft=5;spacingRight=5;" vertex="1" parent="qeMqfj75xE5H9zpvlo9_-68">
+          <mxGeometry y="60" width="120" height="130" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>