mirror of
https://github.com/Dvorinka/MyClubServer.git
synced 2026-06-04 18:52:56 +00:00
1 line
29 KiB
XML
1 line
29 KiB
XML
<svg id="my-svg" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 1331.78px; background-color: white;" viewBox="0 0 1331.78125 1149" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#my-svg .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#my-svg .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:1px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-thickness-invisible{stroke-width:0;fill:none;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg p{margin:0;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#my-svg .cluster-label text{fill:#333;}#my-svg .cluster-label span{color:#333;}#my-svg .cluster-label span p{background-color:transparent;}#my-svg .label text,#my-svg span{fill:#333;color:#333;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#my-svg .rough-node .label text,#my-svg .node .label text,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .rough-node .label,#my-svg .node .label,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#my-svg .arrowheadPath{fill:#333333;}#my-svg .edgePath .path{stroke:#333333;stroke-width:2.0px;}#my-svg .flowchart-link{stroke:#333333;fill:none;}#my-svg .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#my-svg .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#my-svg .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#my-svg .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#my-svg .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#my-svg .cluster text{fill:#333;}#my-svg .cluster span{color:#333;}#my-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg rect.text{fill:none;stroke-width:0;}#my-svg .icon-shape,#my-svg .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#my-svg .icon-shape p,#my-svg .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#my-svg .icon-shape rect,#my-svg .image-shape rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#my-svg .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#my-svg .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker id="my-svg_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><g class="root"><g class="clusters"><g class="cluster" id="Integrations" data-look="classic"><rect style="" x="648.640625" y="8" width="237.1875" height="644"/><g class="cluster-label" transform="translate(725.4296875, 8)"><foreignObject width="83.609375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>Integrations</p></span></div></foreignObject></g></g><g class="cluster" id="Backend" data-look="classic"><rect style="" x="8" y="672" width="1315.78125" height="469"/><g class="cluster-label" transform="translate(634.7578125, 672)"><foreignObject width="62.265625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>Backend</p></span></div></foreignObject></g></g></g><g class="edgePaths"><path d="M208.869,759L215.365,756.833C221.861,754.667,234.852,750.333,244.848,748.167C254.844,746,261.844,746,265.344,746L268.844,746" id="L_Router_Middleware_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Router_Middleware_0" data-points="W3sieCI6MjA4Ljg2OTE0MDYyNSwieSI6NzU5fSx7IngiOjI0Ny44NDM3NSwieSI6NzQ2fSx7IngiOjI3Mi44NDM3NSwieSI6NzQ2fV0=" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M166.015,813L179.653,822.667C193.291,832.333,220.567,851.667,247.926,861.333C275.284,871,302.724,871,316.444,871L330.164,871" id="L_Router_Controllers_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Router_Controllers_0" data-points="W3sieCI6MTY2LjAxNDcwNTg4MjM1MjkzLCJ5Ijo4MTN9LHsieCI6MjQ3Ljg0Mzc1LCJ5Ijo4NzF9LHsieCI6MzM0LjE2NDA2MjUsInkiOjg3MX1d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M471.523,888.179L491.393,893.149C511.263,898.119,551.003,908.06,580.522,913.03C610.042,918,629.341,918,647.979,918.758C666.617,919.516,684.593,921.032,693.581,921.789L702.569,922.547" id="L_Controllers_Services_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Controllers_Services_0" data-points="W3sieCI6NDcxLjUyMzQzNzUsInkiOjg4OC4xNzkyMDI1Mjc5NjE0fSx7IngiOjU5MC43NDIxODc1LCJ5Ijo5MTh9LHsieCI6NjQ4LjY0MDYyNSwieSI6OTE4fSx7IngiOjcwNi41NTQ2ODc1LCJ5Ijo5MjIuODgzMzk5MjA5NDg2MX1d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M827.914,928L837.566,928C847.219,928,866.523,928,880.342,928C894.161,928,902.495,928,910.161,928C917.828,928,924.828,928,928.328,928L931.828,928" id="L_Services_Models_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Services_Models_0" data-points="W3sieCI6ODI3LjkxNDA2MjUsInkiOjkyOH0seyJ4Ijo4ODUuODI4MTI1LCJ5Ijo5Mjh9LHsieCI6OTEwLjgyODEyNSwieSI6OTI4fSx7IngiOjkzNS44MjgxMjUsInkiOjkyOH1d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1101.625,928L1105.792,928C1109.958,928,1118.292,928,1133.033,936.904C1147.775,945.808,1168.925,963.616,1179.501,972.52L1190.076,981.424" id="L_Models_DB_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Models_DB_0" data-points="W3sieCI6MTEwMS42MjUsInkiOjkyOH0seyJ4IjoxMTI2LjYyNSwieSI6OTI4fSx7IngiOjExOTMuMTM1NTQyMTY4Njc0NiwieSI6OTg0fV0=" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1085.633,1032L1092.465,1032C1099.297,1032,1112.961,1032,1123.308,1031.251C1133.654,1030.503,1140.684,1029.005,1144.198,1028.256L1147.713,1027.508" id="L_Migrations_DB_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Migrations_DB_0" data-points="W3sieCI6MTA4NS42MzI4MTI1LCJ5IjoxMDMyfSx7IngiOjExMjYuNjI1LCJ5IjoxMDMyfSx7IngiOjExNTEuNjI1LCJ5IjoxMDI2LjY3NDI3NDg0NTQ1OX1d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M478.391,1028L497.116,1018.333C515.841,1008.667,553.292,989.333,581.667,979.667C610.042,970,629.341,970,648.015,966.804C666.688,963.608,684.736,957.217,693.76,954.021L702.784,950.825" id="L_Jobs_Services_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Jobs_Services_0" data-points="W3sieCI6NDc4LjM5MDU0NDQ1ODc2Mjg2LCJ5IjoxMDI4fSx7IngiOjU5MC43NDIxODc1LCJ5Ijo5NzB9LHsieCI6NjQ4LjY0MDYyNSwieSI6OTcwfSx7IngiOjcwNi41NTQ2ODc1LCJ5Ijo5NDkuNDg5NzIzMzIwMTU4MX1d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M532.844,1085.68L542.493,1087.067C552.143,1088.454,571.443,1091.227,590.742,1092.613C610.042,1094,629.341,1094,658.757,1094C688.172,1094,727.703,1094,767.234,1094C806.766,1094,846.297,1094,870.229,1094C894.161,1094,902.495,1094,924.645,1094C946.794,1094,982.76,1094,1018.727,1094C1054.693,1094,1090.659,1094,1119.217,1085.096C1147.775,1076.192,1168.925,1058.384,1179.501,1049.48L1190.076,1040.576" id="L_Jobs_DB_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Jobs_DB_0" data-points="W3sieCI6NTMyLjg0Mzc1LCJ5IjoxMDg1LjY4MDMwNDM1MzI0OTN9LHsieCI6NTkwLjc0MjE4NzUsInkiOjEwOTR9LHsieCI6NjQ4LjY0MDYyNSwieSI6MTA5NH0seyJ4Ijo3NjcuMjM0Mzc1LCJ5IjoxMDk0fSx7IngiOjg4NS44MjgxMjUsInkiOjEwOTR9LHsieCI6OTEwLjgyODEyNSwieSI6MTA5NH0seyJ4IjoxMDE4LjcyNjU2MjUsInkiOjEwOTR9LHsieCI6MTEyNi42MjUsInkiOjEwOTR9LHsieCI6MTE5My4xMzU1NDIxNjg2NzQ2LCJ5IjoxMDM4fV0=" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M434.355,898L460.419,920.333C486.484,942.667,538.613,987.333,574.327,1009.667C610.042,1032,629.341,1032,642.491,1032C655.641,1032,662.641,1032,666.141,1032L669.641,1032" id="L_Controllers_Uploads_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Controllers_Uploads_0" data-points="W3sieCI6NDM0LjM1NDY2ODA5MDA2MjEsInkiOjg5OH0seyJ4Ijo1OTAuNzQyMTg3NSwieSI6MTAzMn0seyJ4Ijo2NDguNjQwNjI1LCJ5IjoxMDMyfSx7IngiOjY3My42NDA2MjUsInkiOjEwMzJ9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M443.757,844L468.255,827.833C492.752,811.667,541.747,779.333,575.894,763.167C610.042,747,629.341,747,657.853,639.323C686.365,531.647,724.09,316.293,742.952,208.617L761.814,100.94" id="L_Controllers_FACR_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Controllers_FACR_0" data-points="W3sieCI6NDQzLjc1NzExOTQ1NTY0NTIsInkiOjg0NH0seyJ4Ijo1OTAuNzQyMTg3NSwieSI6NzQ3fSx7IngiOjY0OC42NDA2MjUsInkiOjc0N30seyJ4Ijo3NjIuNTA0NjM5MDMyNDk2NCwieSI6OTd9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M451.625,844L474.811,831.167C497.997,818.333,544.37,792.667,577.206,779.833C610.042,767,629.341,767,657.726,673.32C686.11,579.641,723.58,392.282,742.315,298.602L761.05,204.922" id="L_Controllers_YT_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Controllers_YT_0" data-points="W3sieCI6NDUxLjYyNTA3NTEyMDE5MjMsInkiOjg0NH0seyJ4Ijo1OTAuNzQyMTg3NSwieSI6NzY3fSx7IngiOjY0OC42NDA2MjUsInkiOjc2N30seyJ4Ijo3NjEuODM0NjU5NTY5OTgzMiwieSI6MjAxfV0=" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M463.24,844L484.49,834.5C505.741,825,548.241,806,579.142,796.5C610.042,787,629.341,787,657.557,707.316C685.772,627.632,722.904,468.264,741.47,388.58L760.036,308.896" id="L_Controllers_ZON_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Controllers_ZON_0" data-points="W3sieCI6NDYzLjIzOTY3NjMzOTI4NTcsInkiOjg0NH0seyJ4Ijo1OTAuNzQyMTg3NSwieSI6Nzg3fSx7IngiOjY0OC42NDA2MjUsInkiOjc4N30seyJ4Ijo3NjAuOTQzNTQ3Mzk2ODU2NiwieSI6MzA1fV0=" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M471.523,847.607L491.393,840.839C511.263,834.071,551.003,820.536,580.522,813.768C610.042,807,629.341,807,657.322,741.309C685.302,675.618,721.964,544.235,740.294,478.544L758.625,412.853" id="L_Controllers_SMTP_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Controllers_SMTP_0" data-points="W3sieCI6NDcxLjUyMzQzNzUsInkiOjg0Ny42MDcwNDMzNjYxODAyfSx7IngiOjU5MC43NDIxODc1LCJ5Ijo4MDd9LHsieCI6NjQ4LjY0MDYyNSwieSI6ODA3fSx7IngiOjc1OS43MDAxODM4MjM1Mjk0LCJ5Ijo0MDl9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M471.523,864.786L491.393,862.989C511.263,861.191,551.003,857.595,580.522,855.798C610.042,854,629.341,854,657.102,797.801C684.863,741.602,721.084,629.205,739.195,573.006L757.306,516.807" id="L_Controllers_MAPS_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Controllers_MAPS_0" data-points="W3sieCI6NDcxLjUyMzQzNzUsInkiOjg2NC43ODYyNDU4OTQxNDE2fSx7IngiOjU5MC43NDIxODc1LCJ5Ijo4NTR9LHsieCI6NjQ4LjY0MDYyNSwieSI6ODU0fSx7IngiOjc1OC41MzMyMDMxMjUsInkiOjUxM31d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M471.523,876.483L491.393,878.069C511.263,879.655,551.003,882.828,580.522,884.414C610.042,886,629.341,886,656.706,841.786C684.07,797.571,719.5,709.142,737.214,664.928L754.929,620.713" id="L_Controllers_UMAMI_0" class="edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Controllers_UMAMI_0" data-points="W3sieCI6NDcxLjUyMzQzNzUsInkiOjg3Ni40ODI3MjQyMTEwNTE1fSx7IngiOjU5MC43NDIxODc1LCJ5Ijo4ODZ9LHsieCI6NjQ4LjY0MDYyNSwieSI6ODg2fSx7IngiOjc1Ni40MTY3MDE4NTgxMDgxLCJ5Ijo2MTd9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_Router_Middleware_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Router_Controllers_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Controllers_Services_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Services_Models_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Models_DB_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Migrations_DB_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Jobs_Services_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Jobs_DB_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Controllers_Uploads_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Controllers_FACR_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Controllers_YT_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Controllers_ZON_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Controllers_SMTP_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Controllers_MAPS_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(590.7421875, 886)"><g class="label" data-id="L_Controllers_UMAMI_0" transform="translate(-32.8984375, -12)"><foreignObject width="65.796875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>telemetry</p></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" id="flowchart-Router-0" transform="translate(127.921875, 786)"><rect class="basic label-container" style="" x="-94.921875" y="-27" width="189.84375" height="54"/><g class="label" style="" transform="translate(-64.921875, -12)"><rect/><foreignObject width="129.84375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>API Router /api/v1</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-Middleware-1" transform="translate(402.84375, 746)"><rect class="basic label-container" style="" x="-130" y="-39" width="260" height="78"/><g class="label" style="" transform="translate(-100, -24)"><rect/><foreignObject width="200" height="48"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"><span class="nodeLabel"><p>Middleware JWT RateLimit CORS Gzip Recovery</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-Controllers-2" transform="translate(402.84375, 871)"><rect class="basic label-container" style="" x="-68.6796875" y="-27" width="137.359375" height="54"/><g class="label" style="" transform="translate(-38.6796875, -12)"><rect/><foreignObject width="77.359375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>Controllers</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-Services-3" transform="translate(767.234375, 928)"><rect class="basic label-container" style="" x="-60.6796875" y="-27" width="121.359375" height="54"/><g class="label" style="" transform="translate(-30.6796875, -12)"><rect/><foreignObject width="61.359375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>Services</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-Models-4" transform="translate(1018.7265625, 928)"><rect class="basic label-container" style="" x="-82.8984375" y="-27" width="165.796875" height="54"/><g class="label" style="" transform="translate(-52.8984375, -12)"><rect/><foreignObject width="105.796875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>Models GORM</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-DB-5" transform="translate(1225.203125, 1011)"><rect class="basic label-container" style="" x="-73.578125" y="-27" width="147.15625" height="54"/><g class="label" style="" transform="translate(-43.578125, -12)"><rect/><foreignObject width="87.15625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>PostgreSQL</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-Migrations-6" transform="translate(1018.7265625, 1032)"><rect class="basic label-container" style="" x="-66.90625" y="-27" width="133.8125" height="54"/><g class="label" style="" transform="translate(-36.90625, -12)"><rect/><foreignObject width="73.8125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>Migrations</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-Jobs-7" transform="translate(402.84375, 1067)"><rect class="basic label-container" style="" x="-130" y="-39" width="260" height="78"/><g class="label" style="" transform="translate(-100, -24)"><rect/><foreignObject width="200" height="48"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"><span class="nodeLabel"><p>Background jobs Prefetcher Newsletter</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-Uploads-8" transform="translate(767.234375, 1032)"><rect class="basic label-container" style="" x="-93.59375" y="-27" width="187.1875" height="54"/><g class="label" style="" transform="translate(-63.59375, -12)"><rect/><foreignObject width="127.1875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>uploads static dist</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-FACR-9" transform="translate(767.234375, 70)"><rect class="basic label-container" style="" x="-66.015625" y="-27" width="132.03125" height="54"/><g class="label" style="" transform="translate(-36.015625, -12)"><rect/><foreignObject width="72.03125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>FACR API</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-YT-10" transform="translate(767.234375, 174)"><rect class="basic label-container" style="" x="-76.1171875" y="-27" width="152.234375" height="54"/><g class="label" style="" transform="translate(-46.1171875, -12)"><rect/><foreignObject width="92.234375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>YouTube API</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-ZON-11" transform="translate(767.234375, 278)"><rect class="basic label-container" style="" x="-66.4609375" y="-27" width="132.921875" height="54"/><g class="label" style="" transform="translate(-36.4609375, -12)"><rect/><foreignObject width="72.921875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>Zonerama</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-SMTP-12" transform="translate(767.234375, 382)"><rect class="basic label-container" style="" x="-74.3046875" y="-27" width="148.609375" height="54"/><g class="label" style="" transform="translate(-44.3046875, -12)"><rect/><foreignObject width="88.609375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>SMTP Email</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-MAPS-13" transform="translate(767.234375, 486)"><rect class="basic label-container" style="" x="-77.5859375" y="-27" width="155.171875" height="54"/><g class="label" style="" transform="translate(-47.5859375, -12)"><rect/><foreignObject width="95.171875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>Google Maps</p></span></div></foreignObject></g></g><g class="node default" id="flowchart-UMAMI-14" transform="translate(767.234375, 590)"><rect class="basic label-container" style="" x="-89.125" y="-27" width="178.25" height="54"/><g class="label" style="" transform="translate(-59.125, -12)"><rect/><foreignObject width="118.25" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>Umami Analytics</p></span></div></foreignObject></g></g></g></g></g></svg> |