aboutsummaryrefslogtreecommitdiff
path: root/Abgaben
diff options
context:
space:
mode:
Diffstat (limited to 'Abgaben')
-rw-r--r--Abgaben/Beepzone-Stack-Projektplanung.md66
-rw-r--r--Abgaben/PSP.drawio203
2 files changed, 256 insertions, 13 deletions
diff --git a/Abgaben/Beepzone-Stack-Projektplanung.md b/Abgaben/Beepzone-Stack-Projektplanung.md
index 2ea7c37..ce84ac9 100644
--- a/Abgaben/Beepzone-Stack-Projektplanung.md
+++ b/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. \ No newline at end of file
+- 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 | \ No newline at end of file
diff --git a/Abgaben/PSP.drawio b/Abgaben/PSP.drawio
new file mode 100644
index 0000000..7f24694
--- /dev/null
+++ b/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>