68 lines
5.2 KiB
Plaintext
68 lines
5.2 KiB
Plaintext
<mxfile host="app.diagrams.net" modified="2026-01-30T13:55:00.000Z" agent="codex" version="24.7.7">
|
|
<diagram name="class diagram"><mxGraphModel dx="1426" dy="769" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" background="#ffffff" math="0" shadow="0">
|
|
<root>
|
|
<mxCell id="0"/>
|
|
<mxCell id="1" parent="0"/>
|
|
<mxCell id="40" value="User" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;rounded=0;shadow=0;labelBackgroundColor=none;strokeColor=#000000;strokeWidth=1;fillColor=none;fontFamily=Verdana;fontSize=12;fontColor=#000000;" vertex="1" parent="1">
|
|
<mxGeometry x="40" y="80" width="180" height="230" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="41" value="+ id: Long
|
|
+ username: String
|
|
+ phone: String
|
|
+ email: String
|
|
+ password: String
|
|
+ role: String
|
|
+ status: Integer" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="40">
|
|
<mxGeometry y="26" width="180" height="204" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="43" value="Doctor" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;rounded=0;shadow=0;labelBackgroundColor=none;strokeColor=#000000;strokeWidth=1;fillColor=none;fontFamily=Verdana;fontSize=12;fontColor=#000000;" vertex="1" parent="1">
|
|
<mxGeometry x="260" y="80" width="180" height="230" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="44" value="+ id: Long
|
|
+ name: String
|
|
+ department: String
|
|
+ title: String
|
|
+ phone: String" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="43">
|
|
<mxGeometry y="26" width="180" height="204" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="46" value="Pet" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;rounded=0;shadow=0;labelBackgroundColor=none;strokeColor=#000000;strokeWidth=1;fillColor=none;fontFamily=Verdana;fontSize=12;fontColor=#000000;" vertex="1" parent="1">
|
|
<mxGeometry x="480" y="80" width="180" height="230" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="47" value="+ id: Long
|
|
+ ownerId: Long
|
|
+ name: String
|
|
+ species: String
|
|
+ breed: String
|
|
+ gender: String
|
|
+ birthday: Date" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="46">
|
|
<mxGeometry y="26" width="180" height="204" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="49" value="Appointment" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;rounded=0;shadow=0;labelBackgroundColor=none;strokeColor=#000000;strokeWidth=1;fillColor=none;fontFamily=Verdana;fontSize=12;fontColor=#000000;" vertex="1" parent="1">
|
|
<mxGeometry x="720" y="80" width="180" height="230" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="50" value="+ id: Long
|
|
+ customerId: Long
|
|
+ petId: Long
|
|
+ doctorId: Long
|
|
+ appointmentDate: Date
|
|
+ timeSlot: String
|
|
+ status: String" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="49">
|
|
<mxGeometry y="26" width="180" height="204" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="52" value="owns" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=bottom;" edge="1" parent="1" source="40" target="46">
|
|
<mxGeometry relative="1" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="53" value="makes" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=bottom;" edge="1" parent="1" source="40" target="49">
|
|
<mxGeometry relative="1" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="54" value="handles" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=bottom;" edge="1" parent="1" source="43" target="49">
|
|
<mxGeometry relative="1" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="55" value="involves" style="endArrow=open;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=bottom;" edge="1" parent="1" source="46" target="49">
|
|
<mxGeometry relative="1" as="geometry"/>
|
|
</mxCell>
|
|
</root>
|
|
</mxGraphModel>
|
|
</diagram>
|
|
</mxfile>
|