You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
website/docs/architecture-1.svg

78 lines
251 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" direction="ltr" width="1376.421788499246" height="711.90625" viewBox="786.7279510840874 -133.26432291666674 1376.421788499246 711.90625" stroke-linecap="round" stroke-linejoin="round" style="background-color: rgb(249, 250, 251);" encoding="UTF-8&quot;"><defs><g>
<pattern id="hash_pattern" width="8" height="8" patternUnits="userSpaceOnUse" strokelinecap="round" stroke="white">
<line x1="0.6666666666666666" y1="2" x2="2" y2="0.6666666666666666"/>
<line x1="3.333333333333333" y1="4.666666666666666" x2="4.666666666666666" y2="3.333333333333333"/>
<line x1="6" y1="7.333333333333333" x2="7.333333333333333" y2="6"/>
</pattern>
<mask id="hash_mask">
<rect x="-100%" y="-100%" width="200%" height="200%" fill="url(#hash_pattern)"/>
</mask>
</g><style>
@font-face {
font-family: tldraw_draw;
font-stretch: normal;
font-weight: 500;
font-style: normal;
src: url("data:font/woff2;base64,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
}
@font-face {
font-family: tldraw_sans;
font-stretch: normal;
font-weight: 500;
font-style: normal;
src: url("data:font/woff2;base64,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
}
@font-face {
font-family: tldraw_mono;
font-stretch: normal;
font-weight: 500;
font-style: normal;
src: url("data:font/woff2;base64,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
}</style></defs><path d="M0, 0L254, 0,254, 96,0, 96Z" stroke-width="3.5" stroke="#1d1d1d" fill="none" transform="matrix(1, 0, 0, 1, 1187.1342, 377.1576)" opacity="1"/><g transform="matrix(1, 0, 0, 1, 969.1223, 251.8294)" opacity="1"><defs><mask id="shape_h5aHd-KkEsCd9KiIumBqv_clip"><rect x="21.308748996913664" y="74.32815745936082" width="283.203125" height="201" fill="white"/><path d="M 195.41860725717706 169.07815745936082 L 204.51187399691366 174.32815745936082 L 195.41860725717706 179.57815745936082" fill="none" stroke="none"/></mask></defs><g mask="url(#shape_h5aHd-KkEsCd9KiIumBqv_clip)"><rect x="-100" y="-100" width="283.203125" height="201" fill="transparent" stroke="none"/><path d="M121.30874899691366,174.32815745936082L204.51187399691366,174.32815745936082" fill="none" stroke="#1d1d1d" stroke-width="3.5" stroke-dasharray="none" stroke-dashoffset="none"/></g><path d="M 195.41860725717706 169.07815745936082 L 204.51187399691366 174.32815745936082 L 195.41860725717706 179.57815745936082" fill="none" stroke="#1d1d1d" stroke-width="3.5"/></g><g transform="matrix(1, 0, 0, 1, 1283.5951, 408.9622)" opacity="1"><text font-size="24px" font-family="&quot;tldraw_draw&quot;,sans-serif" font-style="normal" font-weight="normal" line-height="32.400000000000006px" dominant-baseline="mathematical" alignment-baseline="mathematical" stroke="#f9fafb" stroke-width="2px" fill="#f9fafb" text-align="center" text-anchor="start"><tspan alignment-baseline="mathematical" y="12.299999999999997px" x="0.5">build</tspan></text><text font-size="24px" font-family="&quot;tldraw_draw&quot;,sans-serif" font-style="normal" font-weight="normal" line-height="32.400000000000006px" dominant-baseline="mathematical" alignment-baseline="mathematical" stroke="none" stroke-width="2px" fill="#1d1d1d" text-align="center" text-anchor="start"><tspan alignment-baseline="mathematical" y="12.299999999999997px" x="0.5">build</tspan></text></g><g transform="matrix(1, 0, 0, 1, 1717.3995, 64.8294)" opacity="1"><defs><mask id="shape_l81YOu2zpKLbiI_27pUen_clip"><rect x="-23.56221100654625" y="82.7265949593608" width="283.56221100654625" height="283.2734050406392" fill="white"/><path d="M 157.26484711812972 255.86249839887577 L 160 266 L 149.85308964158588 263.2999610783718" fill="none" stroke="none"/></mask></defs><g mask="url(#shape_l81YOu2zpKLbiI_27pUen_clip)"><rect x="-100" y="-100" width="283.56221100654625" height="283.2734050406392" fill="transparent" stroke="none"/><path d="M76.43778899345375,182.7265949593608L160,266" fill="none" stroke="#1d1d1d" stroke-width="3.5" stroke-dasharray="none" stroke-dashoffset="none"/></g><path d="M 157.26484711812972 255.86249839887577 L 160 266 L 149.85308964158588 263.2999610783718" fill="none" stroke="#1d1d1d" stroke-width="3.5"/></g><g transform="matrix(1, 0, 0, 1, 818.728, 303.6732)" opacity="1"><text font-size="18px" font-family="&quot;tldraw_mono&quot;,monospace" font-style="normal" font-weight="normal" line-height="24.3px" dominant-baseline="mathematical" alignment-baseline="mathematical" stroke="#f9fafb" stroke-width="2px" fill="#f9fafb" text-align="left" text-anchor="start"><tspan alignment-baseline="mathematical" y="9px" x="0">/
</tspan><tspan alignment-baseline="mathematical" y="33.3px" x="0">/articles
</tspan><tspan alignment-baseline="mathematical" y="57.6px" x="0">/articles/:slug
</tspan><tspan alignment-baseline="mathematical" y="81.9px" x="0">/profile
</tspan><tspan alignment-baseline="mathematical" y="106.2px" x="0">/u/:user
</tspan><tspan alignment-baseline="mathematical" y="130.5px" x="0">/appunti
</tspan><tspan alignment-baseline="mathematical" y="154.8px" x="0">/appunti/dispensa/:id
</tspan><tspan alignment-baseline="mathematical" y="179.1px" x="0">/appunti/nuova-dispensa
</tspan><tspan alignment-baseline="mathematical" y="203.4px" x="0">/admin
</tspan><tspan alignment-baseline="mathematical" y="227.70000000000002px" x="0">...</tspan></text><text font-size="18px" font-family="&quot;tldraw_mono&quot;,monospace" font-style="normal" font-weight="normal" line-height="24.3px" dominant-baseline="mathematical" alignment-baseline="mathematical" stroke="none" stroke-width="2px" fill="#1d1d1d" text-align="left" text-anchor="start"><tspan alignment-baseline="mathematical" y="9px" x="0">/
</tspan><tspan alignment-baseline="mathematical" y="33.3px" x="0">/articles
</tspan><tspan alignment-baseline="mathematical" y="57.6px" x="0">/articles/:slug
</tspan><tspan alignment-baseline="mathematical" y="81.9px" x="0">/profile
</tspan><tspan alignment-baseline="mathematical" y="106.2px" x="0">/u/:user
</tspan><tspan alignment-baseline="mathematical" y="130.5px" x="0">/appunti
</tspan><tspan alignment-baseline="mathematical" y="154.8px" x="0">/appunti/dispensa/:id
</tspan><tspan alignment-baseline="mathematical" y="179.1px" x="0">/appunti/nuova-dispensa
</tspan><tspan alignment-baseline="mathematical" y="203.4px" x="0">/admin
</tspan><tspan alignment-baseline="mathematical" y="227.70000000000002px" x="0">...</tspan></text></g><g transform="matrix(1, 0, 0, 1, 818.728, 271.2826)" opacity="1"><text font-size="24px" font-family="&quot;tldraw_sans&quot;,sans-serif" font-style="normal" font-weight="normal" line-height="32.400000000000006px" dominant-baseline="mathematical" alignment-baseline="mathematical" stroke="#f9fafb" stroke-width="2px" fill="#f9fafb" text-align="left" text-anchor="start"><tspan alignment-baseline="mathematical" y="12.299999999999997px" x="0">Routes (dal codice in Go)</tspan></text><text font-size="24px" font-family="&quot;tldraw_sans&quot;,sans-serif" font-style="normal" font-weight="normal" line-height="32.400000000000006px" dominant-baseline="mathematical" alignment-baseline="mathematical" stroke="none" stroke-width="2px" fill="#1d1d1d" text-align="left" text-anchor="start"><tspan alignment-baseline="mathematical" y="12.299999999999997px" x="0">Routes (dal codice in Go)</tspan></text></g><g transform="matrix(1, 0, 0, 1, 1526.1342, -68.8737)" opacity="1"><text font-size="18px" font-family="&quot;tldraw_mono&quot;,monospace" font-style="normal" font-weight="normal" line-height="24.3px" dominant-baseline="mathematical" alignment-baseline="mathematical" stroke="#f9fafb" stroke-width="2px" fill="#f9fafb" text-align="left" text-anchor="start"><tspan alignment-baseline="mathematical" y="9.400000000000006px" x="0">/pages
</tspan><tspan alignment-baseline="mathematical" y="33.7px" x="0">index.html
</tspan><tspan alignment-baseline="mathematical" y="58.00000000000001px" x="0">profile.html
</tspan><tspan alignment-baseline="mathematical" y="82.30000000000001px" x="0">user.html
</tspan><tspan alignment-baseline="mathematical" y="106.60000000000001px" x="0">articles/
</tspan><tspan alignment-baseline="mathematical" y="130.9px" x="0">index.html
</tspan><tspan alignment-baseline="mathematical" y="155.20000000000002px" x="0">article.html
</tspan><tspan alignment-baseline="mathematical" y="179.5px" x="0">appunti/
</tspan><tspan alignment-baseline="mathematical" y="203.8px" x="0">index.html
</tspan><tspan alignment-baseline="mathematical" y="228.10000000000002px" x="0">dispensa.html
</tspan><tspan alignment-baseline="mathematical" y="252.4px" x="0">nuova-dispensa.html
</tspan><tspan alignment-baseline="mathematical" y="276.70000000000005px" x="0">admin/
</tspan><tspan alignment-baseline="mathematical" y="301px" x="0">index.html
</tspan><tspan alignment-baseline="mathematical" y="325.30000000000007px" x="0">...</tspan></text><text font-size="18px" font-family="&quot;tldraw_mono&quot;,monospace" font-style="normal" font-weight="normal" line-height="24.3px" dominant-baseline="mathematical" alignment-baseline="mathematical" stroke="none" stroke-width="2px" fill="#1d1d1d" text-align="left" text-anchor="start"><tspan alignment-baseline="mathematical" y="9.400000000000006px" x="0">/pages
</tspan><tspan alignment-baseline="mathematical" y="33.7px" x="0">index.html
</tspan><tspan alignment-baseline="mathematical" y="58.00000000000001px" x="0">profile.html
</tspan><tspan alignment-baseline="mathematical" y="82.30000000000001px" x="0">user.html
</tspan><tspan alignment-baseline="mathematical" y="106.60000000000001px" x="0">articles/
</tspan><tspan alignment-baseline="mathematical" y="130.9px" x="0">index.html
</tspan><tspan alignment-baseline="mathematical" y="155.20000000000002px" x="0">article.html
</tspan><tspan alignment-baseline="mathematical" y="179.5px" x="0">appunti/
</tspan><tspan alignment-baseline="mathematical" y="203.8px" x="0">index.html
</tspan><tspan alignment-baseline="mathematical" y="228.10000000000002px" x="0">dispensa.html
</tspan><tspan alignment-baseline="mathematical" y="252.4px" x="0">nuova-dispensa.html
</tspan><tspan alignment-baseline="mathematical" y="276.70000000000005px" x="0">admin/
</tspan><tspan alignment-baseline="mathematical" y="301px" x="0">index.html
</tspan><tspan alignment-baseline="mathematical" y="325.30000000000007px" x="0">...</tspan></text></g><g transform="matrix(1, 0, 0, 1, 1526.1342, -101.2643)" opacity="1"><text font-size="24px" font-family="&quot;tldraw_sans&quot;,sans-serif" font-style="normal" font-weight="normal" line-height="32.400000000000006px" dominant-baseline="mathematical" alignment-baseline="mathematical" stroke="#f9fafb" stroke-width="2px" fill="#f9fafb" text-align="left" text-anchor="start"><tspan alignment-baseline="mathematical" y="12.299999999999997px" x="0">HTML Pages</tspan></text><text font-size="24px" font-family="&quot;tldraw_sans&quot;,sans-serif" font-style="normal" font-weight="normal" line-height="32.400000000000006px" dominant-baseline="mathematical" alignment-baseline="mathematical" stroke="none" stroke-width="2px" fill="#1d1d1d" text-align="left" text-anchor="start"><tspan alignment-baseline="mathematical" y="12.299999999999997px" x="0">HTML Pages</tspan></text></g><g transform="matrix(1, 0, 0, 1, 1526.1342, 408.9622)" opacity="1"><text font-size="24px" font-family="&quot;tldraw_mono&quot;,monospace" font-style="normal" font-weight="normal" line-height="32.400000000000006px" dominant-baseline="mathematical" alignment-baseline="mathematical" stroke="#f9fafb" stroke-width="2px" fill="#f9fafb" text-align="left" text-anchor="start"><tspan alignment-baseline="mathematical" y="12.299999999999997px" x="0">out/routes.json</tspan></text><text font-size="24px" font-family="&quot;tldraw_mono&quot;,monospace" font-style="normal" font-weight="normal" line-height="32.400000000000006px" dominant-baseline="mathematical" alignment-baseline="mathematical" stroke="none" stroke-width="2px" fill="#1d1d1d" text-align="left" text-anchor="start"><tspan alignment-baseline="mathematical" y="12.299999999999997px" x="0">out/routes.json</tspan></text></g><g transform="matrix(1, 0, 0, 1, 1899.7435, 360.9622)" opacity="1"><text font-size="24px" font-family="&quot;tldraw_mono&quot;,monospace" font-style="normal" font-weight="normal" line-height="32.400000000000006px" dominant-baseline="mathematical" alignment-baseline="mathematical" stroke="#f9fafb" stroke-width="2px" fill="#f9fafb" text-align="left" text-anchor="start"><tspan alignment-baseline="mathematical" y="12.299999999999997px" x="0">out/frontend/...</tspan></text><text font-size="24px" font-family="&quot;tldraw_mono&quot;,monospace" font-style="normal" font-weight="normal" line-height="32.400000000000006px" dominant-baseline="mathematical" alignment-baseline="mathematical" stroke="none" stroke-width="2px" fill="#1d1d1d" text-align="left" text-anchor="start"><tspan alignment-baseline="mathematical" y="12.299999999999997px" x="0">out/frontend/...</tspan></text></g><g transform="matrix(1, 0, 0, 1, 1539.984, 430.0262)" opacity="1"><defs><mask id="shape_LA894ALMfb72HS4Cz7e1y_clip"><rect x="112.517774076048" y="-106" width="299.482225923952" height="200" fill="white"/><path d="M 302.9067332602634 -11.249999999999998 L 312 -6 L 302.9067332602634 -0.75" fill="none" stroke="none"/></mask></defs><g mask="url(#shape_LA894ALMfb72HS4Cz7e1y_clip)"><rect x="-100" y="-100" width="299.482225923952" height="200" fill="transparent" stroke="none"/><path d="M212.517774076048,-5.999999999999996L312,-6" fill="none" stroke="#1d1d1d" stroke-width="3.5" stroke-dasharray="none" stroke-dashoffset="none"/></g><path d="M 302.9067332602634 -11.249999999999998 L 312 -6 L 302.9067332602634 -0.75" fill="none" stroke="#1d1d1d" stroke-width="3.5"/></g><g transform="matrix(1, 0, 0, 1, 1290.1342, 422.8294)" opacity="1"><defs><mask id="shape_OJXhfu8CoDnhAhQPv1361_clip"><rect x="51" y="-97.6718425406392" width="271.5" height="201" fill="white"/><path d="M 213.4067332602634 -2.9218425406392035 L 222.5 2.3281574593607957 L 213.4067332602634 7.578157459360795" fill="none" stroke="none"/></mask></defs><g mask="url(#shape_OJXhfu8CoDnhAhQPv1361_clip)"><rect x="-100" y="-100" width="271.5" height="201" fill="transparent" stroke="none"/><path d="M151,2.3281574593607957L222.5,2.3281574593607957" fill="none" stroke="#1d1d1d" stroke-width="3.5" strok