Add files via upload
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,86 @@
|
||||
<mxfile host="app.diagrams.net" modified="2023-05-11T22:07:43.655Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36" etag="aBW4jSGyPDGQoomiV2hG" version="21.2.9" type="device">
|
||||
<diagram name="Page-1" id="l5vY4O9IbvtC4RH7jgLU">
|
||||
<mxGraphModel dx="2261" dy="796" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="dh-SCe4R4OtTttROAreb-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="dh-SCe4R4OtTttROAreb-1" target="dh-SCe4R4OtTttROAreb-2" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dh-SCe4R4OtTttROAreb-8" value="Provides id for <br>deposit" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="dh-SCe4R4OtTttROAreb-6" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.1493" y="4" relative="1" as="geometry">
|
||||
<mxPoint x="3" y="24" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dh-SCe4R4OtTttROAreb-1" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="1" vertex="1">
|
||||
<mxGeometry x="-173" y="40" width="160" height="180" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dh-SCe4R4OtTttROAreb-2" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="1" vertex="1">
|
||||
<mxGeometry x="107" y="40" width="160" height="180" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dh-SCe4R4OtTttROAreb-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="dh-SCe4R4OtTttROAreb-3" target="dh-SCe4R4OtTttROAreb-2" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dh-SCe4R4OtTttROAreb-9" value="Provides id for<br style="border-color: var(--border-color);">product" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="dh-SCe4R4OtTttROAreb-7" vertex="1" connectable="0">
|
||||
<mxGeometry x="0.2059" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="12" y="19" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dh-SCe4R4OtTttROAreb-3" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="1" vertex="1">
|
||||
<mxGeometry x="387" y="40" width="160" height="180" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dh-SCe4R4OtTttROAreb-4" value="<font style="font-size: 15px;">Deposit</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="-128" y="230" width="70" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dh-SCe4R4OtTttROAreb-5" value="<font style="font-size: 15px;">Product</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="427" y="230" width="80" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dh-SCe4R4OtTttROAreb-10" value="<font style="font-size: 15px;">Prod_In_Depo</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="127" y="230" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dh-SCe4R4OtTttROAreb-11" value="- ID: Integer<br>- Name: String" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="417" y="120" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dh-SCe4R4OtTttROAreb-12" value="<font style="font-size: 20px;">Fields</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="427" y="80" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dh-SCe4R4OtTttROAreb-13" value="<font style="font-size: 20px;">Fields</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="-133" y="80" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dh-SCe4R4OtTttROAreb-14" value="- ID: Integer<br>- Name: String<br>- Lat_Coord: String<br>- Long_Coord: String" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="-158" y="120" width="130" height="70" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dh-SCe4R4OtTttROAreb-15" value="<font style="font-size: 20px;">Fields</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="147" y="80" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dh-SCe4R4OtTttROAreb-16" value="-ID_Product: Integer<br>-ID_Deposit: Integer" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="122" y="120" width="130" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="OZQAEx3QhlDbhOcGXMMP-1" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" vertex="1" parent="1">
|
||||
<mxGeometry x="-453" y="40" width="160" height="180" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="OZQAEx3QhlDbhOcGXMMP-2" value="<font style="font-size: 15px;">Orders</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||
<mxGeometry x="-408" y="230" width="70" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="OZQAEx3QhlDbhOcGXMMP-3" value="<font style="font-size: 20px;">Fields</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||
<mxGeometry x="-413" y="80" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="OZQAEx3QhlDbhOcGXMMP-4" value="- ID: Integer<br>- File_Name: String" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||
<mxGeometry x="-438" y="120" width="130" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="OZQAEx3QhlDbhOcGXMMP-5" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" vertex="1" parent="1">
|
||||
<mxGeometry x="667" y="40" width="160" height="180" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="OZQAEx3QhlDbhOcGXMMP-6" value="<font style="font-size: 15px;">Routes</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||
<mxGeometry x="712" y="230" width="70" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="OZQAEx3QhlDbhOcGXMMP-7" value="<font style="font-size: 20px;">Fields</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||
<mxGeometry x="707" y="80" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="OZQAEx3QhlDbhOcGXMMP-8" value="- ID: Integer<br>- File_Name: String" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||
<mxGeometry x="682" y="120" width="130" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
@@ -0,0 +1,94 @@
|
||||
<mxfile host="app.diagrams.net" modified="2023-05-10T22:21:30.619Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36" etag="tVxgBoU-VddJc27ReIE6" version="21.2.9" type="device">
|
||||
<diagram name="Page-1" id="8nhaB22vOXxsg6rP0QTx">
|
||||
<mxGraphModel dx="1195" dy="589" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="iqbZGlfnLgNiDH94HB-4-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=-0.022;entryY=0.499;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="iqbZGlfnLgNiDH94HB-4-1" target="iqbZGlfnLgNiDH94HB-4-2">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="iqbZGlfnLgNiDH94HB-4-16" value="Selects files<br>to process" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="iqbZGlfnLgNiDH94HB-4-7">
|
||||
<mxGeometry x="-0.2741" y="2" relative="1" as="geometry">
|
||||
<mxPoint x="6" y="22" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="iqbZGlfnLgNiDH94HB-4-1" value="Admin" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="40" y="90" width="40" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="iqbZGlfnLgNiDH94HB-4-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=-0.096;entryY=0.633;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="iqbZGlfnLgNiDH94HB-4-2" target="iqbZGlfnLgNiDH94HB-4-18">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="280" y="130" />
|
||||
<mxPoint x="280" y="141" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="iqbZGlfnLgNiDH94HB-4-21" value="Generates" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="iqbZGlfnLgNiDH94HB-4-20">
|
||||
<mxGeometry x="-0.2162" y="-1" relative="1" as="geometry">
|
||||
<mxPoint x="4" y="19" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="iqbZGlfnLgNiDH94HB-4-2" value="App" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;" vertex="1" parent="1">
|
||||
<mxGeometry x="160" y="100" width="80" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="iqbZGlfnLgNiDH94HB-4-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.55;exitY=0.95;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="iqbZGlfnLgNiDH94HB-4-3" target="iqbZGlfnLgNiDH94HB-4-6">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="550" y="211" />
|
||||
<mxPoint x="550" y="230" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="iqbZGlfnLgNiDH94HB-4-15" value="Saves results in folder" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="iqbZGlfnLgNiDH94HB-4-14">
|
||||
<mxGeometry x="-0.3353" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="25" y="11" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="iqbZGlfnLgNiDH94HB-4-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.875;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=-0.05;entryY=0.628;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="iqbZGlfnLgNiDH94HB-4-3" target="iqbZGlfnLgNiDH94HB-4-25">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="iqbZGlfnLgNiDH94HB-4-29" value="Uses" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="iqbZGlfnLgNiDH94HB-4-27">
|
||||
<mxGeometry x="-0.3438" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="16" y="-14" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="iqbZGlfnLgNiDH94HB-4-3" value="Server" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="410" y="30" width="257" height="190" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="iqbZGlfnLgNiDH94HB-4-4" value="Database" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" vertex="1" parent="1">
|
||||
<mxGeometry x="720" y="10" width="60" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="iqbZGlfnLgNiDH94HB-4-6" value="Routes folder" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3D;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.folder;" vertex="1" parent="1">
|
||||
<mxGeometry x="674.96" y="210" width="45.04" height="41" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="iqbZGlfnLgNiDH94HB-4-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.625;entryY=0.2;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="iqbZGlfnLgNiDH94HB-4-4" target="iqbZGlfnLgNiDH94HB-4-3">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="560" y="40" />
|
||||
<mxPoint x="560" y="58" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="iqbZGlfnLgNiDH94HB-4-13" value="Extract DB info for algorithm" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="iqbZGlfnLgNiDH94HB-4-12">
|
||||
<mxGeometry x="0.2696" y="2" relative="1" as="geometry">
|
||||
<mxPoint x="36" y="-12" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="iqbZGlfnLgNiDH94HB-4-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.16;entryY=0.55;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="iqbZGlfnLgNiDH94HB-4-18" target="iqbZGlfnLgNiDH94HB-4-3">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="iqbZGlfnLgNiDH94HB-4-23" value="Send to server" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="iqbZGlfnLgNiDH94HB-4-22">
|
||||
<mxGeometry x="0.0278" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-10" y="17" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="iqbZGlfnLgNiDH94HB-4-18" value="JSON" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;" vertex="1" parent="1">
|
||||
<mxGeometry x="310" y="90" width="40" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="iqbZGlfnLgNiDH94HB-4-25" value="Alg script" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;" vertex="1" parent="1">
|
||||
<mxGeometry x="740" y="100" width="60" height="70" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
@@ -0,0 +1,116 @@
|
||||
body {
|
||||
display: grid;
|
||||
grid-template-columns: 20% 60% 20%;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.margin{
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background-image: linear-gradient(
|
||||
rgb(8, 255, 156),
|
||||
rgb(255, 5, 5),
|
||||
rgb(255, 234, 5),
|
||||
rgb(226, 5, 255)
|
||||
);
|
||||
}
|
||||
|
||||
.main-content{
|
||||
border-left: solid black 2px;
|
||||
border-right: solid black 2px;
|
||||
padding: 3rem;
|
||||
}
|
||||
|
||||
p,
|
||||
ul {
|
||||
font-family: 'Roboto';
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.main-title {
|
||||
text-align: center;
|
||||
font-size: 4rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.authors {
|
||||
text-align: center;
|
||||
font-size: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.paragraph {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin-bottom: 2rem;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.header {
|
||||
font-size: 1.7rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.text {
|
||||
text-align: justify;
|
||||
text-justify: inter-word;
|
||||
font-size: 1.1rem;
|
||||
margin-bottom: 0.7rem;
|
||||
}
|
||||
|
||||
.list {
|
||||
margin-left: 2rem;
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
.sub-title {
|
||||
font-size: 1.4rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.database_img{
|
||||
display: block;
|
||||
width: 100%;
|
||||
|
||||
margin-top: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.routes_img{
|
||||
display: block;
|
||||
width: 80%;
|
||||
|
||||
margin-bottom: 2rem;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.wrap_img {
|
||||
float: right;
|
||||
margin-left: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
width: 70%;
|
||||
}
|
||||
|
||||
.json_paragraph{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
margin-left: 3rem;
|
||||
margin-right: 3rem;
|
||||
}
|
||||
|
||||
.img_json{
|
||||
margin-left: 10rem;
|
||||
margin-bottom: 2rem;
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
.sub-paragraph{
|
||||
margin-left: 3rem;
|
||||
margin-right: 3rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
@@ -0,0 +1,175 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Delivery Planner</title>
|
||||
<link rel="stylesheet" href="index.css">
|
||||
<link href='https://fonts.googleapis.com/css?family=Roboto' rel='stylesheet'>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="margin"></div>
|
||||
|
||||
<div class="main-content">
|
||||
<p class="main-title">DeliveryPlanner</p>
|
||||
<div class="authors">
|
||||
<p>Proiect realizat de: </p>
|
||||
<p>Cerbu Andrei - Mihnea </h3>
|
||||
<p>Robert - Giorgio Ciubotaru</h3>
|
||||
</div>
|
||||
|
||||
<div class="paragraph">
|
||||
<p class="header">Cerinta:</p>
|
||||
<p class="text">
|
||||
Sa se realizeze un server de procesare a comenzilor online plasate de clienti.
|
||||
Acest server va analiza o comanda si va stabili cu ajutorul algoritmului
|
||||
‘Multi-Depot-Vehicle-Routing’ traseul cel mai scurt pentru un camion de a
|
||||
colecta produsele de la un depozit/mai multe depozite si a le livra la client.
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p class="header">Tehnologii:</p>
|
||||
<ul class="list">
|
||||
<li>Server java;</li>
|
||||
<li>Baza de date mySql;</li>
|
||||
<li>Interfata server pentru client/admin realizata cu JavaFX;</li>
|
||||
<li>Fisiere JSON pentru comunicarea pe retea.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p class="header">Clasificarea utlizatorilor</p>
|
||||
<p class="text">
|
||||
Un utilizator va putea accesa resursele din server numai prin intermediul unei aplicatii.
|
||||
Exista doua tipuri de aplicatii cu diferite functionalitati, aceste tipuri fiind descrise
|
||||
in detaliu in sectiunea 'Interfata'.
|
||||
</p>
|
||||
<p class="text">
|
||||
Utilizatorul 'User' este cel care se foloseste de aplicatie pentru a plasa comenzi catre server.
|
||||
Acestuia i se ofera pe interfata intreaga gama de produse disponibila, acesta urmand sa faca o
|
||||
selectie si sa o trimita la server.
|
||||
</p>
|
||||
<p class="text">
|
||||
Utilizatorul 'Admin' are acces la toate informatiile stocate pe server, incluzand produsele,
|
||||
depozitele, toate comenzile facute de utilizatori 'User' cat si rutele pentru a onora comenzile.
|
||||
Acesta are capacitatea de a insera, modifica, extragere si stergere de informatii din server.
|
||||
</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p class="header">Descriere interactiuni</p>
|
||||
<div class="sub-paragraph">
|
||||
<p class="sub-title">a. Plasare comanda</p>
|
||||
|
||||
<img class="wrap_img" src="place_order.png">
|
||||
<p class="text">
|
||||
Utilizatorul se va conecta la server folosind o aplicatie creata pentru a accesa
|
||||
produsele disponibile si pentru a plasa o comanda. Dupa ce utilizatorul a selectat
|
||||
produsele, incluzand cantitatea, dorite, aplicatia va prelua informatiile respective
|
||||
si le va converti intr-un fisier JSON. Acest fisier va fi trimis in retea catre server,
|
||||
care acesta va stoca fisierul in folder-ul denumit 'Orders'.
|
||||
</p>
|
||||
</div>
|
||||
<div class="sub-paragraph">
|
||||
<p class="sub-title">b. Modificare baza de date</p>
|
||||
<p class="text">
|
||||
Aceasta sectiune descrie cazul in care un admin trebuie sa altereze
|
||||
informatii din baza de date. In primul rand trebuie sa prezentam
|
||||
structura bazei de date.
|
||||
</p>
|
||||
<img class="database_img" src="database.png">
|
||||
<p class="text">
|
||||
Baza de date este formata din 5 tabele: 'Deposit', 'Product', 'Prod_In Depo', 'Orders' si 'Routes'.
|
||||
Fiecare tabel va stoca informatii referitoare la un produs, un depozit si produsele dintr-un anumit
|
||||
depozit. Tabelului 'Prod_In_Depo' ne ajuta sa asignam la un ID_Deposit mai multe ID_Product astfel
|
||||
incat
|
||||
firma sa poata tine evidenta produselor care se afla intr-un depozit.
|
||||
</p>
|
||||
<p class="text">
|
||||
Utlizatorul 'Admin' poate insera, modifica sau sterge valori din aceste trei tabele folosindu-se
|
||||
de a doua versiune de aplicatie, dedicata utilizatorilor din cadrul firmei, care contine functiile
|
||||
necesare pentru a efectua operatiile enuntate.
|
||||
</p>
|
||||
</div>
|
||||
<div class="sub-paragraph">
|
||||
<p class="sub-title">c. Generare rute pentru livrarea produselor</p>
|
||||
|
||||
<img class="routes_img" src="generate_route.png">
|
||||
<p class="text">
|
||||
Pe server este implementat algoritmul pentru determinarea celei mai scurte rute pentru a colecta
|
||||
toate produsele necesare pentru livrare. Acest algoritm va rula numai cand un utilizator 'Admin'
|
||||
va selecta un fisier/un set comenzi pentru livrare. Astfel, garantam faptul ca drumul cel mai
|
||||
scurt va fi calculat cu cele mai actuale informatii din baza de date.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p class="header">4. Intelegerea algoritmului</p>
|
||||
<p class="text">
|
||||
Dupa cum s-a exemplificat si mai sus (vezi 3. Generare rute pentru livrearea produselor), pentru
|
||||
determinarea rutelor este folosit un algoritm. Acesta se bazeaza pe problema din teoria grafurilor
|
||||
numita ‘Multi-Depot-Vehicle-Routing’, care determina traseul unui camion astfel incat sa colecteze
|
||||
produsele pentru onorarea unei comenzi utilizand drumul cel mai scurt.
|
||||
</p>
|
||||
<p class="text">
|
||||
Algoritmul va identifica prima oara depozitele in care se afla produsele dintr-o comanda primita ca
|
||||
input. Dupa va ordona in ordine crescatoare (in functie de distanta fata de client) toate depozitele.
|
||||
Dupa va itera prin fiecare depozit si va tine minte ce produse se afla in primul depozit, apoi al doilea
|
||||
pana cand toate produsele au fost localizate. Dupa aceea va lua depozitele in sens invers si va crea un
|
||||
JSON cu depozitele respective si produsele care trebuiesc luate de la un anumit depozit si il va salva
|
||||
in folder-ul dedicat traseelor.
|
||||
</p>
|
||||
<p class="text">
|
||||
Aceasta varianta de algoritm garanteaza faptul ca, in cazul in care chiar daca un depozit contine toate
|
||||
produsele pentru a onora comanda, va putea gasi un drum mai scurt, chiar daca asta ar insemna sa
|
||||
viziteze
|
||||
un numar mai mare de depozite. Deoarece ordonam depozitele in ordine crescatoare in functie de distanta
|
||||
fata de destinatie, dupa ce vizitam un depozit 'i' nu mai poate exista un alt depozit 'j' care sa fie in
|
||||
acelasi timp mai aproape de destinatie fata de 'i' si sa aiba o parte / toate produsele necesare
|
||||
onorarii
|
||||
comenzii.
|
||||
</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p class="header">5. Descrierea structurii fisierelor JSON</p>
|
||||
<div class="json_paragraph">
|
||||
<div>
|
||||
<p class="sub-title">a. Order JSON</p>
|
||||
<p class="text">
|
||||
Acest fisier JSON va fi creat in aplicatia utilizata de utilizatorul 'User'. Dupa ce
|
||||
utilizatorul
|
||||
a selectat produsele dorite si a solicitat ca comanda sa fie trimisa, aplicatia va crea un
|
||||
fisier
|
||||
JSON cu structura urmatoare: va exista un singur camp, un array denumit 'products', unde vor fi
|
||||
stocate toate id-urile produselor selectate.
|
||||
</p>
|
||||
</div>
|
||||
<img class="img_json" src="products-json.png">
|
||||
</div>
|
||||
|
||||
<div class="json_paragraph">
|
||||
<div>
|
||||
<p class="sub-title">b. Route JSON</p>
|
||||
<p class="text">
|
||||
Dupa ce algoritmul a fost rulat folosind un JSON de tipul 'Order', va salva in folder-ul dedicat
|
||||
rutelor un JSON cu structura afisata in partea dreapta; JSON ul va contine mai multe obiecte de
|
||||
tipul 'deposit_i' care vor oferii informatii precum:
|
||||
</p>
|
||||
<ul class="list">
|
||||
<li>'name': numele depozitului;</li>
|
||||
<li>'lat_coord': coordonata reala pe glob pe latitudine;</li>
|
||||
<li>'long_coord': coordonata reala pe glob pe longitudine;</li>
|
||||
<li>'products': un array pentru stocarea id-urilor produselor care trebuiesc preluate din
|
||||
depozit.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<img class="img_json" src="route-json.png">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="margin"></div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,59 @@
|
||||
<mxfile host="app.diagrams.net" modified="2023-05-10T19:56:47.677Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36" etag="2jhWfXdu0t6ZuXVvJqVj" version="21.2.9" type="device">
|
||||
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
|
||||
<mxGraphModel dx="1185" dy="642" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
|
||||
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
|
||||
<mxCell id="zt2KT-08LXESvZvVNvZk-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0;entryDx=0;entryDy=30;entryPerimeter=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zt2KT-08LXESvZvVNvZk-0" target="zt2KT-08LXESvZvVNvZk-5">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zt2KT-08LXESvZvVNvZk-12" value="Places order through" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="zt2KT-08LXESvZvVNvZk-11">
|
||||
<mxGeometry x="0.76" y="-1" relative="1" as="geometry">
|
||||
<mxPoint x="-46" y="9" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="zt2KT-08LXESvZvVNvZk-0" value="User" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
||||
<mxGeometry x="100" y="70" width="30" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zt2KT-08LXESvZvVNvZk-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.013;entryY=0.562;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zt2KT-08LXESvZvVNvZk-5" target="zt2KT-08LXESvZvVNvZk-10">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zt2KT-08LXESvZvVNvZk-14" value="Creates" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="zt2KT-08LXESvZvVNvZk-13">
|
||||
<mxGeometry x="0.2384" y="-1" relative="1" as="geometry">
|
||||
<mxPoint x="-7" y="10" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="zt2KT-08LXESvZvVNvZk-5" value="Application" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
||||
<mxGeometry x="240" y="70" width="90" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zt2KT-08LXESvZvVNvZk-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.083;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zt2KT-08LXESvZvVNvZk-10" target="zt2KT-08LXESvZvVNvZk-16">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zt2KT-08LXESvZvVNvZk-19" value="Sends to" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="zt2KT-08LXESvZvVNvZk-18">
|
||||
<mxGeometry x="0.2293" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-13" y="16" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="zt2KT-08LXESvZvVNvZk-10" value="JSON" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
||||
<mxGeometry x="380" y="60" width="50" height="70" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zt2KT-08LXESvZvVNvZk-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zt2KT-08LXESvZvVNvZk-16" target="zt2KT-08LXESvZvVNvZk-26">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="648.02" y="95.32499999999993" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="zt2KT-08LXESvZvVNvZk-23" value="Stores in" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="zt2KT-08LXESvZvVNvZk-22">
|
||||
<mxGeometry x="-0.257" relative="1" as="geometry">
|
||||
<mxPoint y="15" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="zt2KT-08LXESvZvVNvZk-16" value="Server" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
||||
<mxGeometry x="480" y="55" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zt2KT-08LXESvZvVNvZk-26" value="Orders folder" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3D;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.folder;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
||||
<mxGeometry x="660" y="68.75" width="57.68" height="52.5" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 7.5 KiB |
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
Binary file not shown.
Reference in New Issue
Block a user