#612 future Modul-, Object- and ER-Model

This commit is contained in:
Claus-Peter Hübner 2021-08-12 02:15:04 +02:00
parent ac0ed4fee8
commit 4a6dc733a4
8 changed files with 520 additions and 4 deletions

3
.gitignore vendored
View File

@ -3,4 +3,5 @@
.vscode
messages.pot
.skeema
nbproject
nbproject
.metadata

View File

@ -2,14 +2,39 @@
This document describes the technical overview for the Gradido infrastructur. Beginning with a bird's eye view of all involved components, the following chapters will go in details of each component.
# Inventory Taking
![TechnicalOverview](../image/TechnicalOverview.png)
# Community-Server
## Public API
## Community-Server
### Public API
![CommunityServerAPI](../image/CommunityServerAPI.png)
## Database Skeema
### Database Skeema
![CommunityDBSkeema](../image/CommunityDBSkeema.png)
# Ideas of future Architecture
## Moduls
![ModulsOverview](../image/ModulsOverview.png)
## ObjectModel
![BusinessObjectModel](../image/GradidoBusinessObjekte.png)
## DatabaseModel
![DatabaseModel](../image/GradidoBusinessDBSkeema.png)
#

View File

@ -0,0 +1,209 @@
<mxfile>
<diagram id="gFWPI0aHTji9uMcxbVr0" name="Page-1">
<mxGraphModel dx="1088" dy="800" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1654" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="&lt;div style=&quot;box-sizing: border-box ; width: 100% ; background: #e4e4e4 ; padding: 2px&quot;&gt;Community&lt;/div&gt;&lt;table style=&quot;width: 100% ; font-size: 1em&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;Id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br&gt;&lt;/td&gt;&lt;td&gt;Name&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Icon&lt;br&gt;Beschreibung&lt;br&gt;virtuellServer&lt;br&gt;GemeinwohlKontoID&lt;br&gt;AUFKontoID&lt;br&gt;ParentCommunityID&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="verticalAlign=top;align=left;overflow=fill;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="310" y="280" width="140" height="160" as="geometry"/>
</mxCell>
<mxCell id="3" value="&lt;div style=&quot;box-sizing: border-box ; width: 100% ; background: #e4e4e4 ; padding: 2px&quot;&gt;Benutzer&lt;/div&gt;&lt;table style=&quot;width: 100% ; font-size: 1em&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;Id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FK1&lt;/td&gt;&lt;td&gt;CommunityID&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Boolean&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/td&gt;&lt;td&gt;SchöpfenFlag&lt;br&gt;Icon&lt;br&gt;Strasse&lt;br&gt;Hausnummer&lt;br&gt;PLZ&lt;br&gt;Ort&lt;br&gt;Adresszusatz&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="verticalAlign=top;align=left;overflow=fill;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
<mxGeometry x="550" y="280" width="180" height="160" as="geometry"/>
</mxCell>
<mxCell id="4" value="" style="endArrow=classic;html=1;entryX=1;entryY=0.208;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.25;exitDx=0;exitDy=0;" parent="1" source="3" target="2" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="530" y="290" as="sourcePoint"/>
<mxPoint x="690" y="580" as="targetPoint"/>
<Array as="points">
<mxPoint x="510" y="320"/>
<mxPoint x="510" y="313"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="5" value="&lt;div style=&quot;box-sizing: border-box ; width: 100% ; background: #e4e4e4 ; padding: 2px&quot;&gt;Konto&lt;/div&gt;&lt;table style=&quot;width: 100% ; font-size: 1em&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;Id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br&gt;&lt;/td&gt;&lt;td&gt;Art&lt;br&gt;Vergänglichkeit&lt;br&gt;ErstelltAm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Saldo&lt;br&gt;Währung&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="verticalAlign=top;align=left;overflow=fill;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="1110" y="340" width="110" height="120" as="geometry"/>
</mxCell>
<mxCell id="6" value="&lt;div style=&quot;box-sizing: border-box ; width: 100% ; background: #e4e4e4 ; padding: 2px&quot;&gt;NatürlichePerson&lt;/div&gt;&lt;table style=&quot;width: 100% ; font-size: 1em&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;Id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FK1&lt;/td&gt;&lt;td&gt;BenutzerID&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Vorname&lt;br&gt;Nachname&lt;br&gt;Geburtsdatum&lt;br&gt;AGEKontoID&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="verticalAlign=top;align=left;overflow=fill;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
<mxGeometry x="830" y="280" width="180" height="120" as="geometry"/>
</mxCell>
<mxCell id="7" value="&lt;div style=&quot;box-sizing: border-box ; width: 100% ; background: #e4e4e4 ; padding: 2px&quot;&gt;FiktivePerson&lt;/div&gt;&lt;table style=&quot;width: 100% ; font-size: 1em&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;Id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FK1&lt;/td&gt;&lt;td&gt;BenutzerID&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Name&lt;br&gt;GDDKonto&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="verticalAlign=top;align=left;overflow=fill;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
<mxGeometry x="830" y="420" width="180" height="90" as="geometry"/>
</mxCell>
<mxCell id="8" value="" style="endArrow=classic;html=1;entryX=1.003;entryY=0.153;entryDx=0;entryDy=0;entryPerimeter=0;exitX=-0.003;exitY=0.375;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="6" target="3" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="750" y="430" as="sourcePoint"/>
<mxPoint x="800" y="380" as="targetPoint"/>
<Array as="points">
<mxPoint x="800" y="325"/>
<mxPoint x="800" y="304"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="9" value="" style="endArrow=classic;html=1;exitX=0;exitY=0.461;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1.008;entryY=0.15;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="7" target="3" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="750" y="430" as="sourcePoint"/>
<mxPoint x="800" y="380" as="targetPoint"/>
<Array as="points">
<mxPoint x="790" y="461"/>
<mxPoint x="790" y="304"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="10" value="" style="endArrow=classic;html=1;exitX=0.994;exitY=0.892;exitDx=0;exitDy=0;exitPerimeter=0;entryX=-0.014;entryY=0.204;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="6" target="5" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1070" y="430" as="sourcePoint"/>
<mxPoint x="1110" y="370" as="targetPoint"/>
<Array as="points">
<mxPoint x="1030" y="387"/>
<mxPoint x="1030" y="366"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="11" value="" style="endArrow=classic;html=1;exitX=0.997;exitY=0.883;exitDx=0;exitDy=0;exitPerimeter=0;entryX=-0.009;entryY=0.204;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="7" target="5" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1070" y="430" as="sourcePoint"/>
<mxPoint x="1120" y="380" as="targetPoint"/>
<Array as="points">
<mxPoint x="1040" y="499"/>
<mxPoint x="1040" y="366"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="12" value="&lt;div style=&quot;box-sizing: border-box ; width: 100% ; background: #e4e4e4 ; padding: 2px&quot;&gt;Transaktion&lt;/div&gt;&lt;table style=&quot;width: 100% ; font-size: 1em&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;Id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FK1&lt;/td&gt;&lt;td&gt;KontoID&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;ErhaltenAm&lt;br&gt;Sender&lt;br&gt;Empfänger&lt;br&gt;GebuchtAm&lt;br&gt;Betrag&lt;br&gt;Währung&lt;br&gt;Verwendungszweck&lt;br&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="verticalAlign=top;align=left;overflow=fill;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="1270" y="320" width="140" height="160" as="geometry"/>
</mxCell>
<mxCell id="13" value="" style="endArrow=classic;html=1;entryX=0.995;entryY=0.221;entryDx=0;entryDy=0;exitX=0;exitY=0.288;exitDx=0;exitDy=0;exitPerimeter=0;entryPerimeter=0;" parent="1" source="12" target="5" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1160" y="430" as="sourcePoint"/>
<mxPoint x="1210" y="380" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="14" value="&lt;div style=&quot;box-sizing: border-box ; width: 100% ; background: #e4e4e4 ; padding: 2px&quot;&gt;Identitätsnachweis&lt;/div&gt;&lt;table style=&quot;width: 100% ; font-size: 1em&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;Id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FK1&lt;/td&gt;&lt;td&gt;NatürlichePersonID&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Identitätsart&lt;br&gt;Identitätsnummer&lt;br&gt;Identitätsdaten&lt;br&gt;AusgestelltAm&lt;br&gt;AusgestelltDurch&lt;br&gt;ErfasstAm&lt;br&gt;ErfasstDurch&lt;br&gt;GeprüftAm&lt;br&gt;GeprüftVon&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="verticalAlign=top;align=left;overflow=fill;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
<mxGeometry x="1110" y="120" width="140" height="180" as="geometry"/>
</mxCell>
<mxCell id="15" value="" style="endArrow=classic;html=1;entryX=1.003;entryY=0.217;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.25;exitDx=0;exitDy=0;" parent="1" source="14" target="6" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1070" y="270" as="sourcePoint"/>
<mxPoint x="1120" y="220" as="targetPoint"/>
<Array as="points">
<mxPoint x="1080" y="165"/>
<mxPoint x="1080" y="306"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="16" value="" style="endArrow=classic;html=1;exitX=0.996;exitY=0.659;exitDx=0;exitDy=0;exitPerimeter=0;entryX=-0.009;entryY=0.2;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="2" target="5" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="540" y="440" as="sourcePoint"/>
<mxPoint x="590" y="390" as="targetPoint"/>
<Array as="points">
<mxPoint x="510" y="386"/>
<mxPoint x="510" y="540"/>
<mxPoint x="1050" y="540"/>
<mxPoint x="1050" y="365"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="17" value="" style="endArrow=classic;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0.005;entryY=0.208;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="2" target="5" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="570" y="440" as="sourcePoint"/>
<mxPoint x="620" y="390" as="targetPoint"/>
<Array as="points">
<mxPoint x="500" y="399"/>
<mxPoint x="500" y="550"/>
<mxPoint x="1060" y="550"/>
<mxPoint x="1060" y="365"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="18" value="&lt;div style=&quot;box-sizing: border-box ; width: 100% ; background: #e4e4e4 ; padding: 2px&quot;&gt;ChildCommunities&lt;/div&gt;&lt;table style=&quot;width: 100% ; font-size: 1em&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;Id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FK1&lt;/td&gt;&lt;td&gt;CommunityID&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FK2&lt;/td&gt;&lt;td&gt;ChildCommunityID&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="verticalAlign=top;align=left;overflow=fill;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="40" y="320" width="150" height="80" as="geometry"/>
</mxCell>
<mxCell id="19" value="" style="endArrow=classic;html=1;exitX=0.993;exitY=0.581;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.163;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="18" target="2" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="200" y="440" as="sourcePoint"/>
<mxPoint x="250" y="390" as="targetPoint"/>
<Array as="points">
<mxPoint x="210" y="366"/>
<mxPoint x="210" y="306"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="20" value="" style="endArrow=classic;html=1;entryX=-0.007;entryY=0.159;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.75;exitDx=0;exitDy=0;" parent="1" source="18" target="2" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="200" y="440" as="sourcePoint"/>
<mxPoint x="250" y="390" as="targetPoint"/>
<Array as="points">
<mxPoint x="220" y="380"/>
<mxPoint x="220" y="305"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="21" value="" style="endArrow=classic;html=1;exitX=0;exitY=0.834;exitDx=0;exitDy=0;exitPerimeter=0;entryX=-0.004;entryY=0.159;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="2" target="2" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="200" y="440" as="sourcePoint"/>
<mxPoint x="250" y="390" as="targetPoint"/>
<Array as="points">
<mxPoint x="280" y="413"/>
<mxPoint x="280" y="305"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="22" value="&lt;div style=&quot;box-sizing: border-box ; width: 100% ; background: #e4e4e4 ; padding: 2px&quot;&gt;TrustedCommunities&lt;/div&gt;&lt;table style=&quot;width: 100% ; font-size: 1em&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;Id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FK1&lt;/td&gt;&lt;td&gt;CommunityID&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FK2&lt;/td&gt;&lt;td&gt;TrustedCommunityID&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="verticalAlign=top;align=left;overflow=fill;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="40" y="420" width="150" height="80" as="geometry"/>
</mxCell>
<mxCell id="23" value="" style="endArrow=classic;html=1;entryX=-0.014;entryY=0.159;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.997;exitY=0.556;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="22" target="2" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="200" y="440" as="sourcePoint"/>
<mxPoint x="250" y="390" as="targetPoint"/>
<Array as="points">
<mxPoint x="230" y="464"/>
<mxPoint x="230" y="305"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="24" value="" style="endArrow=classic;html=1;entryX=-0.004;entryY=0.159;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.806;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="22" target="2" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="200" y="440" as="sourcePoint"/>
<mxPoint x="250" y="390" as="targetPoint"/>
<Array as="points">
<mxPoint x="240" y="484"/>
<mxPoint x="240" y="305"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="25" value="&lt;div style=&quot;box-sizing: border-box ; width: 100% ; background: #e4e4e4 ; padding: 2px&quot;&gt;Rolle&lt;/div&gt;&lt;table style=&quot;width: 100% ; font-size: 1em&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;Id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br&gt;&lt;/td&gt;&lt;td&gt;Name&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="verticalAlign=top;align=left;overflow=fill;html=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
<mxGeometry x="750" y="140" width="80" height="50" as="geometry"/>
</mxCell>
<mxCell id="26" value="&lt;div style=&quot;box-sizing: border-box ; width: 100% ; background: #e4e4e4 ; padding: 2px&quot;&gt;RollenZuordnung&lt;/div&gt;&lt;table style=&quot;width: 100% ; font-size: 1em&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;Id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FK1&lt;/td&gt;&lt;td&gt;RolleID&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FK2&lt;/td&gt;&lt;td&gt;BenutzerID&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="verticalAlign=top;align=left;overflow=fill;html=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
<mxGeometry x="590" y="120" width="110" height="70" as="geometry"/>
</mxCell>
<mxCell id="27" value="" style="endArrow=classic;html=1;exitX=1;exitY=0.643;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="26" target="25" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="390" as="sourcePoint"/>
<mxPoint x="810" y="340" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="28" value="" style="endArrow=classic;html=1;exitX=-0.014;exitY=0.9;exitDx=0;exitDy=0;exitPerimeter=0;entryX=-0.003;entryY=0.159;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="26" target="3" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="770" y="310" as="sourcePoint"/>
<mxPoint x="820" y="260" as="targetPoint"/>
<Array as="points">
<mxPoint x="530" y="183"/>
<mxPoint x="530" y="305"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="29" value="&lt;div style=&quot;box-sizing: border-box ; width: 100% ; background: #e4e4e4 ; padding: 2px&quot;&gt;Recht&lt;/div&gt;&lt;table style=&quot;width: 100% ; font-size: 1em&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;Id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FK1&lt;/td&gt;&lt;td&gt;RolleId&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Name&lt;br&gt;Key&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="verticalAlign=top;align=left;overflow=fill;html=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
<mxGeometry x="870" y="120" width="70" height="90" as="geometry"/>
</mxCell>
<mxCell id="30" value="" style="endArrow=classic;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="29" target="25" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="840" y="310" as="sourcePoint"/>
<mxPoint x="890" y="260" as="targetPoint"/>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,184 @@
<mxfile>
<diagram id="ZgDWW9pSgEU1kBHeR6SU" name="Page-1">
<mxGraphModel dx="1134" dy="800" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1654" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="31" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;Class Community&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Name: String&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Icon: Bitmap&lt;br&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Beschreibung: String&lt;br&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Server: String&lt;br&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Gemeinwohlkonto: Konto&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ AUFKonto: Konto&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ ParentCommunity: Community&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ ChildCommunities: List&amp;lt;Community&amp;gt;&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ TrustedCommunities: List&amp;lt;Community&amp;gt;&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Benutzer: List&amp;lt;Benutzer&amp;gt;&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Administratoren: List&amp;lt;Benutzer&amp;gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ method(): Type&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="90" y="80" width="230" height="220" as="geometry"/>
</mxCell>
<mxCell id="32" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;Class Benutzer&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Schöpfer: Boolean&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Icon: Bitmap&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Strasse: String&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Hausnummer: String&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ PLZ: String&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Ort: String&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Adresszusatz: String&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Rollen: List&amp;lt;Rolle&amp;gt;&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Identitätsnachweise: List&amp;lt;Identitätsnachweis&amp;gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ method(): Type&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="440" y="233" width="260" height="187" as="geometry"/>
</mxCell>
<mxCell id="33" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;Class NartürlichePerson&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Vorname: String&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Nachname: String&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Geburtsdatum: Date&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ AGEKonto: Konto&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ method(): Type&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="382.5" y="480" width="160" height="120" as="geometry"/>
</mxCell>
<mxCell id="34" value="" style="endArrow=open;endFill=1;endSize=12;html=1;entryX=1;entryY=0.05;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.559;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="31" target="31">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="520" y="410" as="sourcePoint"/>
<mxPoint x="680" y="410" as="targetPoint"/>
<Array as="points">
<mxPoint x="340" y="203"/>
<mxPoint x="340" y="91"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="35" value="" style="endArrow=open;endFill=1;endSize=12;html=1;exitX=1;exitY=0.609;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="31">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="520" y="410" as="sourcePoint"/>
<mxPoint x="320" y="90" as="targetPoint"/>
<Array as="points">
<mxPoint x="350" y="214"/>
<mxPoint x="350" y="90"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="36" value="" style="endArrow=open;endFill=1;endSize=12;html=1;exitX=1;exitY=0.677;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="31">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="520" y="410" as="sourcePoint"/>
<mxPoint x="320" y="90" as="targetPoint"/>
<Array as="points">
<mxPoint x="360" y="229"/>
<mxPoint x="360" y="90"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="37" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="33" target="32">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="790" y="290" as="sourcePoint"/>
<mxPoint x="950" y="290" as="targetPoint"/>
<Array as="points">
<mxPoint x="463" y="450"/>
<mxPoint x="570" y="450"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="38" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;Class FiktivePerson&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Name: String&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ GDDKonto: Konto&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Administratoren: List&amp;lt;Benutzer&amp;gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ method(): Type&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="557.5" y="480" width="200" height="110" as="geometry"/>
</mxCell>
<mxCell id="39" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="38" target="32">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="790" y="290" as="sourcePoint"/>
<mxPoint x="950" y="290" as="targetPoint"/>
<Array as="points">
<mxPoint x="658" y="450"/>
<mxPoint x="570" y="450"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="40" value="" style="endArrow=open;endFill=1;endSize=12;html=1;exitX=1;exitY=0.618;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.059;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="38" target="32">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="790" y="290" as="sourcePoint"/>
<mxPoint x="950" y="290" as="targetPoint"/>
<Array as="points">
<mxPoint x="780" y="548"/>
<mxPoint x="780" y="243"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="41" value="" style="endArrow=open;endFill=1;endSize=12;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=-0.008;entryY=0.065;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="31" target="32">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="410" y="410" as="sourcePoint"/>
<mxPoint x="70" y="371" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="42" value="" style="endArrow=open;endFill=1;endSize=12;html=1;exitX=1;exitY=0.814;exitDx=0;exitDy=0;exitPerimeter=0;entryX=-0.004;entryY=0.062;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="31" target="32">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="410" y="410" as="sourcePoint"/>
<mxPoint x="120" y="370" as="targetPoint"/>
<Array as="points">
<mxPoint x="380" y="259"/>
<mxPoint x="380" y="244"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="43" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;Class Rolle&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Name: String&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Rechte: List&amp;lt;Recht&amp;gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ method(): Type&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
<mxGeometry x="880" y="250" width="130" height="90" as="geometry"/>
</mxCell>
<mxCell id="44" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;Class Recht&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Name: String&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Key: String&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ method(): Type&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
<mxGeometry x="1062.5" y="292" width="100" height="90" as="geometry"/>
</mxCell>
<mxCell id="45" value="" style="endArrow=open;endFill=1;endSize=12;html=1;entryX=0.01;entryY=0.111;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1.015;exitY=0.578;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="43" target="44">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="700" y="650" as="sourcePoint"/>
<mxPoint x="860" y="650" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="46" value="" style="endArrow=open;endFill=1;endSize=12;html=1;entryX=-0.012;entryY=0.133;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.706;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="32" target="43">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="530" y="330" as="sourcePoint"/>
<mxPoint x="690" y="330" as="targetPoint"/>
<Array as="points">
<mxPoint x="830" y="365"/>
<mxPoint x="830" y="262"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="47" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;Class Identitätsnachweis&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ IdentArt: Enum&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ IdentNummer: String&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ IdentDaten: Sring&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ AusgestelltAm: Date&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ AusgestelltDurch: String&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ GültigBis: Date&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ erfasstAm: Date&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ erfasstDurch: String&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ geprüftAm: Date&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ geprüftDurch: String&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ method(): Type&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="880" y="373" width="150" height="200" as="geometry"/>
</mxCell>
<mxCell id="48" value="" style="endArrow=open;endFill=1;endSize=12;html=1;exitX=1;exitY=0.813;exitDx=0;exitDy=0;exitPerimeter=0;entryX=-0.007;entryY=0.06;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="32" target="47">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="770" y="330" as="sourcePoint"/>
<mxPoint x="930" y="330" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="49" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;Class Konto&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Art: Enum&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Vergänglichkeit: Boolean&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ ErstelltAm: Date&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Saldo: Float&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Währung: String&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Transaktionen: List&amp;lt;Transaktion&amp;gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ method(): Type&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="480" y="640" width="200" height="150" as="geometry"/>
</mxCell>
<mxCell id="50" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;Class Transaktion&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ ErhaltenAm: Timestamp&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Sender: String&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Empfänger: String&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ GebuchtAm: Timestamp&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Betrag: Float&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Währung: String&lt;/p&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ Verwendungszweck: String&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;p style=&quot;margin: 0px ; margin-left: 4px&quot;&gt;+ method(): Type&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="757.5" y="730" width="170" height="160" as="geometry"/>
</mxCell>
<mxCell id="51" value="" style="endArrow=open;endFill=1;endSize=12;html=1;entryX=-0.015;entryY=0.081;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.995;exitY=0.7;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="49" target="50">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="480" y="670" as="sourcePoint"/>
<mxPoint x="640" y="670" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="52" value="" style="endArrow=open;endFill=1;endSize=12;html=1;exitX=1.003;exitY=0.436;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.1;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="38" target="49">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="480" y="670" as="sourcePoint"/>
<mxPoint x="640" y="670" as="targetPoint"/>
<Array as="points">
<mxPoint x="810" y="528"/>
<mxPoint x="810" y="653"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="53" value="" style="endArrow=open;endFill=1;endSize=12;html=1;exitX=0.003;exitY=0.667;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.1;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="33" target="49">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="480" y="670" as="sourcePoint"/>
<mxPoint x="640" y="670" as="targetPoint"/>
<Array as="points">
<mxPoint x="350" y="560"/>
<mxPoint x="350" y="653"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="54" value="" style="endArrow=open;endFill=1;endSize=12;html=1;exitX=-0.009;exitY=0.473;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.115;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="31" target="49">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="410" y="330" as="sourcePoint"/>
<mxPoint x="570" y="330" as="targetPoint"/>
<Array as="points">
<mxPoint x="60" y="184"/>
<mxPoint x="60" y="650"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="55" value="" style="endArrow=open;endFill=1;endSize=12;html=1;exitX=-0.009;exitY=0.427;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.108;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="31" target="49">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="410" y="330" as="sourcePoint"/>
<mxPoint x="570" y="330" as="targetPoint"/>
<Array as="points">
<mxPoint x="30" y="174"/>
<mxPoint x="30" y="650"/>
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,97 @@
<mxfile>
<diagram id="IpaYKNE555SeSldH36kN" name="Page-1">
<mxGraphModel dx="1554" dy="1143" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1654" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="Gradido" style="rounded=0;whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=middle;align=left;verticalAlign=top;fontSize=18;gradientColor=#ffd966;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="80" y="80" width="1100" height="1040" as="geometry"/>
</mxCell>
<mxCell id="3" value="Moduls and Services" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="80" y="40" width="200" height="20" as="geometry"/>
</mxCell>
<mxCell id="4" value="UI - Layer" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;align=left;verticalAlign=top;gradientColor=#b3b3b3;fillColor=#f5f5f5;strokeColor=#666666;" vertex="1" parent="1">
<mxGeometry x="100" y="120" width="1060" height="120" as="geometry"/>
</mxCell>
<mxCell id="5" value="User&#10;Internet-Browser&#10;(GDD-Application)" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;gradientColor=#ffd966;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="160" y="150" width="210" height="70" as="geometry"/>
</mxCell>
<mxCell id="6" value="User &#10;Mobile&#10;(GDD-Application)" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;gradientColor=#ffd966;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="400" y="150" width="210" height="70" as="geometry"/>
</mxCell>
<mxCell id="7" value="Admin&#10;Internet-Browser&#10;(GDD-Admin-Application)" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;gradientColor=#97d077;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="630" y="150" width="210" height="70" as="geometry"/>
</mxCell>
<mxCell id="8" value="Admin&#10;Internet-Browser&#10;(GDD-Monitoring-Application)" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;gradientColor=#7ea6e0;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="870" y="150" width="250" height="70" as="geometry"/>
</mxCell>
<mxCell id="9" value="Business - Layer" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;align=left;verticalAlign=top;gradientColor=#b3b3b3;fillColor=#f5f5f5;strokeColor=#666666;" vertex="1" parent="1">
<mxGeometry x="100" y="440" width="1060" height="440" as="geometry"/>
</mxCell>
<mxCell id="10" value="Persistenz - Layer" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;align=left;verticalAlign=top;gradientColor=#b3b3b3;fillColor=#f5f5f5;strokeColor=#666666;" vertex="1" parent="1">
<mxGeometry x="97" y="920" width="1063" height="160" as="geometry"/>
</mxCell>
<mxCell id="11" value="Client - Layer" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;align=left;verticalAlign=top;gradientColor=#b3b3b3;fillColor=#f5f5f5;strokeColor=#666666;" vertex="1" parent="1">
<mxGeometry x="100" y="280" width="1060" height="120" as="geometry"/>
</mxCell>
<mxCell id="12" value="GDD-Application &#10;Client&#10;(Apollo)" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;gradientColor=#ffd966;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="270" y="305" width="210" height="70" as="geometry"/>
</mxCell>
<mxCell id="13" value="GDD-Admin-Application&#10;Client&#10;(Apollo)" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;gradientColor=#97d077;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="630" y="310" width="210" height="70" as="geometry"/>
</mxCell>
<mxCell id="14" value="GDD-Monitoring-Application&#10;Client&#10;(Apollo)" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;gradientColor=#7ea6e0;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="870" y="310" width="250" height="70" as="geometry"/>
</mxCell>
<mxCell id="20" value="CommunityService" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="130" y="515" width="210" height="70" as="geometry"/>
</mxCell>
<mxCell id="21" value="BenutzerService" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="380" y="515" width="210" height="70" as="geometry"/>
</mxCell>
<mxCell id="22" value="KontoService" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="640" y="515" width="210" height="70" as="geometry"/>
</mxCell>
<mxCell id="23" value="BerechtigungService" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
<mxGeometry x="910" y="515" width="210" height="70" as="geometry"/>
</mxCell>
<mxCell id="24" value="GDTService" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
<mxGeometry x="910" y="640" width="210" height="70" as="geometry"/>
</mxCell>
<mxCell id="25" value="GDT Database" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
<mxGeometry x="525" y="965" width="210" height="70" as="geometry"/>
</mxCell>
<mxCell id="26" value="Gradido Database" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;gradientColor=#ffd966;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="160" y="965" width="210" height="70" as="geometry"/>
</mxCell>
<mxCell id="28" value="NodeService" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;fillColor=#1ba1e2;strokeColor=#006EAF;fontColor=#ffffff;" vertex="1" parent="1">
<mxGeometry x="910" y="760" width="210" height="70" as="geometry"/>
</mxCell>
<mxCell id="29" value="IdentityService" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="380" y="630" width="210" height="70" as="geometry"/>
</mxCell>
<mxCell id="31" value="IOTA" style="rounded=0;whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=middle;align=left;verticalAlign=top;fontSize=18;gradientColor=#7ea6e0;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="1240" y="930" width="360" height="150" as="geometry"/>
</mxCell>
<mxCell id="33" value="BlockChain" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;fillColor=#1ba1e2;strokeColor=#006EAF;fontColor=#ffffff;" vertex="1" parent="1">
<mxGeometry x="1315" y="965" width="210" height="70" as="geometry"/>
</mxCell>
<mxCell id="34" value="Elopage" style="rounded=0;whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=middle;align=left;verticalAlign=top;fontSize=18;gradientColor=#ffa500;fillColor=#ffcd28;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="1240" y="80" width="360" height="320" as="geometry"/>
</mxCell>
<mxCell id="35" value="User&#10;Internet-Browser&#10;(GDT-Application)" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;gradientColor=#ffd966;" vertex="1" parent="1">
<mxGeometry x="1315" y="140" width="210" height="70" as="geometry"/>
</mxCell>
<mxCell id="36" value="GDT-Application" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
<mxGeometry x="1260" y="290" width="150" height="70" as="geometry"/>
</mxCell>
<mxCell id="37" value="MarketPlace-&#10;Application" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;gradientColor=#ffd966;" vertex="1" parent="1">
<mxGeometry x="1430" y="290" width="150" height="70" as="geometry"/>
</mxCell>
<mxCell id="38" value="BlockChain" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontSize=16;fillColor=#1ba1e2;strokeColor=#006EAF;fontColor=#ffffff;gradientDirection=south;gradientColor=#FFFFFF;" vertex="1" parent="1">
<mxGeometry x="900" y="965" width="210" height="70" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB