rycus86/demo-site

View on GitHub
src/assets/images/overview.svg

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="583px" preserveAspectRatio="none" style="width:891px;height:583px;" version="1.1" viewBox="0 0 891 583" width="891px" zoomAndPan="magnify"><defs><filter height="300%" id="fgua378" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--cluster ##2--><path d="M279,31 C279,28 281,26 284,26 C287,26 289,28 289,31 C289,28 291,26 294,26 C297,26 299,28 299,31 C299,28 301,26 304,26 C307,26 309,28 309,31 C309,28 311,26 314,26 C317,26 319,28 319,31 C319,28 321,26 324,26 C327,26 329,28 329,31 C329,28 331,26 334,26 C337,26 339,28 339,31 C339,28 341,26 344,26 C347,26 349,28 349,31 C349,28 351,26 354,26 C357,26 359,28 359,31 C359,28 361,26 364,26 C367,26 369,28 369,31 C369,28 371,26 374,26 C377,26 379,28 379,31 C382,31 384,33 384,36 C384,39 382,41 379,41 C382,41 384,43 384,46 C384,49 382,51 379,51 C382,51 384,53 384,56 C384,59 382,61 379,61 C382,61 384,63 384,66 C384,69 382,71 379,71 C382,71 384,73 384,76 C384,79 382,81 379,81 C379,84 376,86 374,86 C371,86 369,84 369,81 C369,84 366,86 364,86 C361,86 359,84 359,81 C359,84 356,86 354,86 C351,86 349,84 349,81 C349,84 346,86 344,86 C341,86 339,84 339,81 C339,84 336,86 334,86 C331,86 329,84 329,81 C329,84 326,86 324,86 C321,86 319,84 319,81 C319,84 316,86 314,86 C311,86 309,84 309,81 C309,84 306,86 304,86 C301,86 299,84 299,81 C299,84 296,86 294,86 C291,86 289,84 289,81 C289,84 286,86 284,86 C281,86 279,84 279,81 C276,81 274,79 274,76 C274,73 276,71 279,71 C276,71 274,69 274,66 C274,63 276,61 279,61 C276,61 274,59 274,56 C274,53 276,51 279,51 C276,51 274,49 274,46 C274,43 276,41 279,41 C276,41 274,39 274,36 C274,33 276,31 279,31 " fill="#D3D3D3" filter="url(#fgua378)" style="stroke: #000000; stroke-width: 2.0;"/><!--cluster Backend--><rect fill="#D3D3D3" filter="url(#fgua378)" height="354" style="stroke: #000000; stroke-width: 2.0;" width="862" x="22" y="222"/><path d="M91,223 L91,231.4883 L81,241.4883 L22,241.4883 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="25" y="236.5352">Backend</text><!--entity Browser--><rect fill="#ADD8E6" filter="url(#fgua378)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="292.75" y="40"/><rect fill="#ADD8E6" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="287.75" y="45"/><rect fill="#ADD8E6" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="287.75" y="66.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="302.75" y="63.5352">Browser</text><!--entity nginx--><rect fill="#90EE90" filter="url(#fgua378)" height="52.9766" style="stroke: #A80036; stroke-width: 1.5;" width="113" x="370.75" y="258.5"/><rect fill="#90EE90" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="365.75" y="263.5"/><rect fill="#90EE90" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="365.75" y="301.4766"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="93" x="380.75" y="282.0352">«HTTP Proxy»</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="40" x="407.25" y="298.5234">nginx</text><!--entity demo-site--><rect fill="#FFFF00" filter="url(#fgua378)" height="52.9766" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="63.75" y="258.5"/><rect fill="#FFFF00" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="58.75" y="263.5"/><rect fill="#FFFF00" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="58.75" y="301.4766"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="89" x="73.75" y="282.0352">«Web server»</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="71" x="82.75" y="298.5234">demo-site</text><!--entity github-proxy--><rect fill="#FFA500" filter="url(#fgua378)" height="52.9766" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="687" y="258.5"/><rect fill="#FFA500" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="682" y="263.5"/><rect fill="#FFA500" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="682" y="301.4766"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="94" x="697" y="282.0352">«REST server»</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="93" x="697.5" y="298.5234">github-proxy</text><!--entity dockerhub-proxy--><rect fill="#FFA500" filter="url(#fgua378)" height="52.9766" style="stroke: #A80036; stroke-width: 1.5;" width="142" x="356" y="390.5"/><rect fill="#FFA500" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="351" y="395.5"/><rect fill="#FFA500" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="351" y="433.4766"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="94" x="380" y="414.0352">«REST server»</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="366" y="430.5234">dockerhub-proxy</text><!--entity nginx-pygen--><rect fill="#FFC0CB" filter="url(#fgua378)" height="52.9766" style="stroke: #A80036; stroke-width: 1.5;" width="199" x="668.75" y="506.5"/><rect fill="#FFC0CB" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="663.75" y="511.5"/><rect fill="#FFC0CB" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="663.75" y="549.4766"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="179" x="678.75" y="530.0352">«configuration generator»</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="90" x="723.25" y="546.5234">nginx-pygen</text><!--entity certbot-pygen--><rect fill="#FFC0CB" filter="url(#fgua378)" height="52.9766" style="stroke: #A80036; stroke-width: 1.5;" width="199" x="434.75" y="506.5"/><rect fill="#FFC0CB" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="429.75" y="511.5"/><rect fill="#FFC0CB" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="429.75" y="549.4766"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="179" x="444.75" y="530.0352">«configuration generator»</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="99" x="484.75" y="546.5234">certbot-pygen</text><!--entity certbot-helper--><rect fill="#CC9999" filter="url(#fgua378)" height="52.9766" style="stroke: #A80036; stroke-width: 1.5;" width="193" x="38.75" y="506.5"/><rect fill="#CC9999" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="33.75" y="511.5"/><rect fill="#CC9999" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="33.75" y="549.4766"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="173" x="48.75" y="530.0352">«SSL certificate manager»</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="84.75" y="546.5234">certbot-helper</text><path d="M338.109,76.305 C345.722,92.654 357.35,117.897 367,140 C384.005,178.95 402.707,224.255 414.636,253.49 " fill="none" style="stroke: #A80036; stroke-width: 2.0;"/><polygon fill="#A80036" points="416.637,258.398,416.9415,248.5539,414.7486,253.7683,409.5341,251.5753,416.637,258.398" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="16" x="382" y="161.5684">all</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="402" y="161.5684"/><text fill="#000000" font-family="sans-serif" font-size="13" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="156" x="402" y="161.5684">https://*.viktoradam.net</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="54" x="562" y="161.5684">requests</text><path d="M177.841,285 C233.585,285 316.079,285 370.665,285 " fill="none" style="stroke: #A80036; stroke-width: 2.0;"/><polygon fill="#A80036" points="172.532,285,181.532,289,177.532,285,181.532,281,172.532,285" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="39" x="203.75" y="277.5684">demo.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="95" x="242.75" y="277.5684">viktoradam.net</text><path d="M483.308,285 C539.005,285 624.051,285 681.734,285 " fill="none" style="stroke: #A80036; stroke-width: 2.0;"/><polygon fill="#A80036" points="686.881,285,677.881,281,681.881,285,677.881,289,686.881,285" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="23" x="501.5" y="277.5684">api.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="102" x="524.5" y="277.5684">viktoradam.net/</text><text fill="#000000" font-family="sans-serif" font-size="13" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="41" x="626.5" y="277.5684">github</text><path d="M427,311.684 C427,332.783 427,362.736 427,385.136 " fill="none" style="stroke: #A80036; stroke-width: 2.0;"/><polygon fill="#A80036" points="427,390.37,431,381.37,427,385.37,423,381.37,427,390.37" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="23" x="428" y="355.5684">api.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="102" x="451" y="355.5684">viktoradam.net/</text><text fill="#000000" font-family="sans-serif" font-size="13" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="43" x="553" y="355.5684">docker</text><path d="M488.652,296.363 C525.006,304.563 570.658,318.643 606,342 C672.904,386.216 727.712,465.75 752.968,506.4657 " fill="none" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="483.359,295.196,491.286,301.0408,488.2416,296.2731,493.0094,293.2287,483.359,295.196" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="112" x="710" y="421.5684">Configure routing</text><path d="M365.594,298.682 C312.365,312.632 236.604,340.025 189,390 C157.892,422.657 144.249,475.044 138.618,506.2322 " fill="none" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="370.674,297.374,360.9607,295.7455,365.8321,298.6213,362.9563,303.4926,370.674,297.374" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="147" x="190" y="421.5684">Manage SSL certificates</text><path d="M236.423,533 C297.25,533 374.269,533 434.711,533 " fill="none" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="231.332,533,240.332,537,236.332,533,240.332,529,231.332,533" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="165" x="249.75" y="525.5684">Configure secure domains</text><path d="M292.717,60.427 C241.616,64.629 151.444,80.577 110,140 C86.8187,173.237 96.145,222.002 106.141,253.378 " fill="none" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="107.747,258.259,108.7362,248.4599,106.1855,253.5091,101.1364,250.9583,107.747,258.259" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="72" x="111" y="154.0684">HTTP GET /</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="58" x="122" y="169.3789">-&gt; HTML</text><path d="M306.647,76.067 C286.018,91.65 255.627,115.869 232,140 C196.173,176.59 160.431,223.944 138.768,254.156 " fill="none" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="135.676,258.486,144.1617,253.4868,138.5819,254.4171,137.6516,248.8373,135.676,258.486" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="120" x="233" y="154.0684">HTTP POST /render</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="250.5" y="169.3789">JSON -&gt; HTML</text><path d="M367.558,61.952 C426.832,68.134 543.77,86.628 626,140 C671.017,169.219 707.279,221.115 727.205,253.978 " fill="none" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="729.789,258.286,728.589,248.5105,727.2167,253.9984,721.7288,252.6262,729.789,258.286" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="71" x="665" y="154.0684">HTTP GET *</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="53" x="678" y="169.3789">-&gt; JSON</text></g></svg>