easyappointments/doc/thesis/diagrams/ea-domain-model.io

1 line
8.8 KiB
Io
Raw Normal View History

<mxGraphModel dx="800" dy="800" grid="1" guides="1" tooltips="1" connect="1" fold="1" page="1" pageScale="1" pageWidth="826" pageHeight="1169" style="default-style2"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="28" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center;&quot;&gt;&lt;strong&gt;User&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ first_name: string&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ last_name: string&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ email: string&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ phone_number: string&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ settings: array&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ role: UserRole&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ login(): bool&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ logout(): bool&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1" parent="1" vertex="1"><mxGeometry x="30" y="145" width="160" height="175" as="geometry"/></mxCell><mxCell id="29" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center;&quot;&gt;&lt;strong&gt;Administrator&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1" parent="1" vertex="1"><mxGeometry x="275" y="25" width="180" height="70" as="geometry"/></mxCell><mxCell id="30" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center;&quot;&gt;&lt;strong&gt;Secretary&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ providers: array&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1" parent="1" vertex="1"><mxGeometry x="275" y="127.5" width="180" height="70" as="geometry"/></mxCell><mxCell id="31" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center;&quot;&gt;&lt;strong&gt;Provider&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ services: array&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1" parent="1" vertex="1"><mxGeometry x="275" y="315" width="180" height="70" as="geometry"/></mxCell><mxCell id="32" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center;&quot;&gt;&lt;strong&gt;Customer&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ appointments: array&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1" parent="1" vertex="1"><mxGeometry x="275" y="417.5" width="180" height="70" as="geometry"/></mxCell><mxCell id="33" value="Extends" style="endArrow=block;endSize=16;endFill=0;exitX=0;exitY=0.5;entryX=1;entryY=0.25" parent="1" source="29" target="28" edge="1"><mxGeometry y="-625" as="geometry"><mxPoint y="-625" as="sourcePoint"/><mxPoint x="160" y="-625" as="targetPoint"/></mxGeometry></mxCell><mxCell id="34" value="Extends" style="endArrow=block;endSize=16;endFill=0;exitX=0;exitY=0.5;entryX=1;entryY=0.5" parent="1" source="30" target="28" edge="1"><mxGeometry y="-625" as="geometry"><mxPoint y="-625" as="sourcePoint"/><mxPoint x="160" y="-625" as="targetPoint"/></mxGeometry></mxCell><mxCell id="35" value="Extends" style="endArrow=block;endSize=16;endFill=0;exitX=0;exitY=0.5;entryX=1;entryY=0.5" parent="1" source="31" target="28" edge="1"><mxGeometry y="-625" as="geometry"><mxPoint y="-625" as="sourcePoint"/><mxPoint x="160" y="-625" as="targetPoint"/></mxGeometry></mxCell><mxCell id="36" value="Extends" style="endArrow=block;endSize=16;endFill=0;exitX=0;exitY=0.5;entryX=1;entryY=0.75" parent="1" source="32" target="28" edge="1"><mxGeometry y="-625" as="geometry"><mxPoint y="-625" as="sourcePoint"/><mxPoint x="160" y="-625" as="targetPoint"/></mxGeome