Skip to content

Commit baffee2

Browse files
committed
add info about hexagonal architecture
1 parent dc5fe4c commit baffee2

5 files changed

Lines changed: 100 additions & 45 deletions

File tree

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ mkdocs serve
1919

2020
![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/hololinked-dev/docs/ci.yaml?label=Build%20And%20Publish%20Website)
2121

22+
> This project is always looking for contributors to improve the documentation. Hop into our [Discord](https://discord.com/invite/kEz87zqQXh) to discuss upfront if needed
23+
> and make a PR with your changes.
24+
2225
### skaffold
2326

2427
To develop the documentation with skaffold within a kubernetes cluster, create a `skaffold.env` file specifying the docker registry. For example, if you are using Docker Hub, it should look like this:

docs/UML/drawio/hexagonal-architecture.drawio

Lines changed: 57 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,107 +1,122 @@
1-
<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/29.0.3 Chrome/140.0.7339.249 Electron/38.7.0 Safari/537.36" version="29.0.3">
1+
<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/29.3.0 Chrome/140.0.7339.249 Electron/38.7.2 Safari/537.36" version="29.3.0">
22
<diagram name="Page-1" id="DFCrOaSrRtZvU-2D4lRB">
3-
<mxGraphModel dx="1554" dy="938" 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">
3+
<mxGraphModel dx="1072" dy="647" 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">
44
<root>
55
<mxCell id="0" />
66
<mxCell id="1" parent="0" />
7-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-1" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Lucida Console&quot;&gt;hololinked.core&lt;/font&gt;&lt;div&gt;&lt;br&gt;&lt;div&gt;Thing&lt;/div&gt;&lt;div&gt;Property, Action, Event&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;RPCServer, EventPublisher&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=2;" vertex="1" parent="1">
8-
<mxGeometry x="310" y="440" width="200" height="110" as="geometry" />
7+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-1" parent="1" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=2;" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Lucida Console&quot;&gt;hololinked.core&lt;/font&gt;&lt;div&gt;&lt;br&gt;&lt;div&gt;Thing&lt;/div&gt;&lt;div&gt;Property, Action, Event&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;RPCServer, EventPublisher&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;" vertex="1">
8+
<mxGeometry height="110" width="200" x="310" y="440" as="geometry" />
99
</mxCell>
10-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-3" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
11-
<mxGeometry width="50" height="50" relative="1" as="geometry">
10+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-3" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;" value="">
11+
<mxGeometry height="50" relative="1" width="50" as="geometry">
1212
<mxPoint x="490" y="440" as="sourcePoint" />
1313
<mxPoint x="610" y="320" as="targetPoint" />
1414
</mxGeometry>
1515
</mxCell>
16-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-4" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
17-
<mxGeometry width="50" height="50" relative="1" as="geometry">
16+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-4" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;" value="">
17+
<mxGeometry height="50" relative="1" width="50" as="geometry">
1818
<mxPoint x="200" y="680" as="sourcePoint" />
1919
<mxPoint x="330" y="550" as="targetPoint" />
2020
</mxGeometry>
2121
</mxCell>
22-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-6" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;fillColor=none;strokeColor=none;resizable=0;perimeter=centerPerimeter;rotatable=0;allowArrows=0;points=[];outlineConnect=1;" vertex="1" parent="1">
23-
<mxGeometry x="440" y="470" width="10" height="10" as="geometry" />
22+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-6" parent="1" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;fillColor=none;strokeColor=none;resizable=0;perimeter=centerPerimeter;rotatable=0;allowArrows=0;points=[];outlineConnect=1;" value="" vertex="1">
23+
<mxGeometry height="10" width="10" x="440" y="470" as="geometry" />
2424
</mxCell>
25-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-7" value="" style="rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;endSize=6;strokeWidth=3;sketch=0;exitX=0.917;exitY=0.106;exitDx=0;exitDy=0;curved=0;exitPerimeter=0;" edge="1" parent="1" source="IdZxaUeP-qgIX7MlmHNZ-1">
25+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-7" edge="1" parent="1" source="IdZxaUeP-qgIX7MlmHNZ-1" style="rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;endSize=6;strokeWidth=3;sketch=0;exitX=0.917;exitY=0.106;exitDx=0;exitDy=0;curved=0;exitPerimeter=0;" value="">
2626
<mxGeometry relative="1" as="geometry">
2727
<mxPoint x="620" y="705" as="sourcePoint" />
28-
<mxPoint x="600" y="390" as="targetPoint" />
28+
<mxPoint x="600" y="380" as="targetPoint" />
2929
</mxGeometry>
3030
</mxCell>
31-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-8" value="" style="rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=oval;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;endSize=10;curved=0;strokeWidth=3;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="IdZxaUeP-qgIX7MlmHNZ-10">
31+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-8" edge="1" parent="1" source="IdZxaUeP-qgIX7MlmHNZ-10" style="rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=oval;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;endSize=10;curved=0;strokeWidth=3;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" value="">
3232
<mxGeometry relative="1" as="geometry">
3333
<mxPoint x="641.6400000000001" y="367.94000000000005" as="sourcePoint" />
34-
<mxPoint x="600" y="390" as="targetPoint" />
34+
<mxPoint x="600" y="380" as="targetPoint" />
3535
</mxGeometry>
3636
</mxCell>
37-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-9" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;fillColor=none;strokeColor=none;resizable=0;perimeter=centerPerimeter;rotatable=0;allowArrows=0;points=[];outlineConnect=1;" vertex="1" parent="1">
38-
<mxGeometry x="595" y="700" width="10" height="10" as="geometry" />
37+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-9" parent="1" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;fillColor=none;strokeColor=none;resizable=0;perimeter=centerPerimeter;rotatable=0;allowArrows=0;points=[];outlineConnect=1;" value="" vertex="1">
38+
<mxGeometry height="10" width="10" x="595" y="700" as="geometry" />
3939
</mxCell>
40-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-10" value="Serializers" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;" vertex="1" parent="1">
41-
<mxGeometry x="670" y="370" width="120" height="30" as="geometry" />
40+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-10" parent="1" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;" value="Serializers" vertex="1">
41+
<mxGeometry height="30" width="120" x="670" y="365" as="geometry" />
4242
</mxCell>
43-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-11" value="" style="rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;endSize=6;strokeWidth=3;sketch=0;exitX=1;exitY=0.25;exitDx=0;exitDy=0;curved=0;" edge="1" parent="1" source="IdZxaUeP-qgIX7MlmHNZ-1">
43+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-11" edge="1" parent="1" source="IdZxaUeP-qgIX7MlmHNZ-1" style="rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;endSize=6;strokeWidth=3;sketch=0;exitX=1;exitY=0.25;exitDx=0;exitDy=0;curved=0;" value="">
4444
<mxGeometry relative="1" as="geometry">
4545
<mxPoint x="501" y="555" as="sourcePoint" />
4646
<mxPoint x="600" y="450" as="targetPoint" />
4747
</mxGeometry>
4848
</mxCell>
49-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-12" value="" style="rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=oval;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;endSize=10;curved=0;strokeWidth=3;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="IdZxaUeP-qgIX7MlmHNZ-13">
49+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-12" edge="1" parent="1" source="IdZxaUeP-qgIX7MlmHNZ-13" style="rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=oval;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;endSize=10;curved=0;strokeWidth=3;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" value="">
5050
<mxGeometry relative="1" as="geometry">
5151
<mxPoint x="670" y="545" as="sourcePoint" />
5252
<mxPoint x="600" y="450" as="targetPoint" />
5353
</mxGeometry>
5454
</mxCell>
55-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-13" value="Metadata Generator&lt;div&gt;(ThingModel generator)&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;" vertex="1" parent="1">
56-
<mxGeometry x="670" y="430" width="120" height="50" as="geometry" />
55+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-13" parent="1" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;" value="Metadata Generator&lt;div&gt;(ThingModel generator)&lt;/div&gt;" vertex="1">
56+
<mxGeometry height="50" width="120" x="670" y="425" as="geometry" />
5757
</mxCell>
58-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-14" value="" style="rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;endSize=6;strokeWidth=3;sketch=0;exitX=0.932;exitY=0.863;exitDx=0;exitDy=0;curved=0;exitPerimeter=0;" edge="1" parent="1">
58+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-14" edge="1" parent="1" style="rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;endSize=6;strokeWidth=3;sketch=0;exitX=0.932;exitY=0.863;exitDx=0;exitDy=0;curved=0;exitPerimeter=0;" value="">
5959
<mxGeometry relative="1" as="geometry">
60-
<mxPoint x="496.39999999999986" y="529.93" as="sourcePoint" />
61-
<mxPoint x="590" y="590" as="targetPoint" />
60+
<mxPoint x="496.39999999999986" y="530.93" as="sourcePoint" />
61+
<mxPoint x="590" y="610" as="targetPoint" />
6262
</mxGeometry>
6363
</mxCell>
64-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-15" value="" style="rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=oval;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;endSize=10;curved=0;strokeWidth=3;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="IdZxaUeP-qgIX7MlmHNZ-16">
64+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-15" edge="1" parent="1" source="IdZxaUeP-qgIX7MlmHNZ-16" style="rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=oval;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;endSize=10;curved=0;strokeWidth=3;exitX=0.004;exitY=0.475;exitDx=0;exitDy=0;exitPerimeter=0;" value="">
6565
<mxGeometry relative="1" as="geometry">
66-
<mxPoint x="610" y="585" as="sourcePoint" />
67-
<mxPoint x="590" y="590" as="targetPoint" />
66+
<mxPoint x="670" y="612" as="sourcePoint" />
67+
<mxPoint x="590" y="610" as="targetPoint" />
6868
</mxGeometry>
6969
</mxCell>
70-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-16" value="storage &amp;amp; database&lt;div&gt;(JSON, sqlalchemy, mongo)&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;" vertex="1" parent="1">
71-
<mxGeometry x="670" y="570" width="120" height="50" as="geometry" />
70+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-16" parent="1" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;" value="storage &amp;amp; database&lt;div&gt;(JSON, sqlalchemy, mongo)&lt;/div&gt;" vertex="1">
71+
<mxGeometry height="50" width="120" x="670" y="586" as="geometry" />
7272
</mxCell>
73-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-19" value="Protocol Controllers&lt;div&gt;(HTTP, MQTT etc.)&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;" vertex="1" parent="1">
74-
<mxGeometry x="40" y="380.35" width="120" height="70" as="geometry" />
73+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-19" parent="1" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;" value="Protocol Servers&lt;div&gt;(HTTP, MQTT etc.)&lt;/div&gt;" vertex="1">
74+
<mxGeometry height="70" width="120" x="40" y="380.35" as="geometry" />
7575
</mxCell>
76-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-20" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="IdZxaUeP-qgIX7MlmHNZ-19">
77-
<mxGeometry width="50" height="50" relative="1" as="geometry">
76+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-20" edge="1" parent="1" source="IdZxaUeP-qgIX7MlmHNZ-19" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=3;" value="">
77+
<mxGeometry height="50" relative="1" width="50" as="geometry">
7878
<mxPoint x="140" y="470.35" as="sourcePoint" />
7979
<mxPoint x="230" y="415.35" as="targetPoint" />
8080
</mxGeometry>
8181
</mxCell>
82-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-21" value="" style="rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=oval;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;endSize=10;curved=0;strokeWidth=3;exitX=0.047;exitY=0.215;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1">
82+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-21" edge="1" parent="1" source="IdZxaUeP-qgIX7MlmHNZ-1" style="rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=oval;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;endSize=10;curved=0;strokeWidth=3;exitX=0.05;exitY=0.245;exitDx=0;exitDy=0;exitPerimeter=0;" value="">
8383
<mxGeometry relative="1" as="geometry">
8484
<mxPoint x="313.39999999999986" y="480" as="sourcePoint" />
8585
<mxPoint x="234" y="416.35" as="targetPoint" />
8686
</mxGeometry>
8787
</mxCell>
88-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-22" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1">
89-
<mxGeometry width="50" height="50" relative="1" as="geometry">
88+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-22" edge="1" parent="1" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=3;" value="">
89+
<mxGeometry height="50" relative="1" width="50" as="geometry">
9090
<mxPoint x="160" y="399.35" as="sourcePoint" />
9191
<mxPoint x="230" y="399.35" as="targetPoint" />
9292
</mxGeometry>
9393
</mxCell>
94-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-23" value="" style="rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=oval;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;endSize=10;curved=0;strokeWidth=3;exitX=0.085;exitY=0.052;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1">
94+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-23" edge="1" parent="1" source="IdZxaUeP-qgIX7MlmHNZ-1" style="rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=oval;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;endSize=10;curved=0;strokeWidth=3;exitX=0.082;exitY=0.106;exitDx=0;exitDy=0;exitPerimeter=0;" value="">
9595
<mxGeometry relative="1" as="geometry">
9696
<mxPoint x="317" y="466.07000000000005" as="sourcePoint" />
9797
<mxPoint x="236" y="398.35" as="targetPoint" />
9898
</mxGeometry>
9999
</mxCell>
100-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-25" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;Driven&lt;/font&gt;" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" vertex="1" parent="1">
101-
<mxGeometry x="660" y="320" width="60" height="30" as="geometry" />
100+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-25" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;Driven Dependencies&lt;/font&gt;" vertex="1">
101+
<mxGeometry height="30" width="60" x="660" y="320" as="geometry" />
102102
</mxCell>
103-
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-26" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;Driving&lt;/font&gt;" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" vertex="1" parent="1">
104-
<mxGeometry x="460" y="320" width="60" height="30" as="geometry" />
103+
<mxCell id="IdZxaUeP-qgIX7MlmHNZ-26" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;Driving&lt;/font&gt;&lt;div&gt;&lt;font style=&quot;font-size: 16px;&quot;&gt;Dependencies&lt;/font&gt;&lt;/div&gt;" vertex="1">
104+
<mxGeometry height="30" width="60" x="460" y="320" as="geometry" />
105+
</mxCell>
106+
<mxCell id="IFCsPYImHeIqqcxwqQ8c-2" edge="1" parent="1" source="IdZxaUeP-qgIX7MlmHNZ-1" style="rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;endSize=6;strokeWidth=3;sketch=0;exitX=0.899;exitY=0.989;exitDx=0;exitDy=0;curved=0;exitPerimeter=0;" value="">
107+
<mxGeometry relative="1" as="geometry">
108+
<mxPoint x="496.4" y="604.93" as="sourcePoint" />
109+
<mxPoint x="590.0000000000001" y="684" as="targetPoint" />
110+
</mxGeometry>
111+
</mxCell>
112+
<mxCell id="IFCsPYImHeIqqcxwqQ8c-3" edge="1" parent="1" source="IFCsPYImHeIqqcxwqQ8c-4" style="rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=oval;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;endSize=10;curved=0;strokeWidth=3;exitX=0.004;exitY=0.475;exitDx=0;exitDy=0;exitPerimeter=0;" value="">
113+
<mxGeometry relative="1" as="geometry">
114+
<mxPoint x="670.0000000000001" y="686" as="sourcePoint" />
115+
<mxPoint x="590.0000000000001" y="684" as="targetPoint" />
116+
</mxGeometry>
117+
</mxCell>
118+
<mxCell id="IFCsPYImHeIqqcxwqQ8c-4" parent="1" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;" value="Payload Validators&lt;div&gt;(Schema based)&lt;/div&gt;" vertex="1">
119+
<mxGeometry height="50" width="120" x="670.0000000000001" y="660" as="geometry" />
105120
</mxCell>
106121
</root>
107122
</mxGraphModel>

docs/assets/hexagonal-architecture.drawio.svg

Lines changed: 4 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)