docs: add architecture and veins documentation
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
- System overview, artery hierarchy, build flow, room config diagrams - Veins docs: Jira, Slack, Google OAuth - Shunts docs: MercadoPago mock - DOT source files with generated SVGs - HTML viewers with navigation and full-screen mode Solves: - Freelance work standardization - Missing infrastructure replication (shunts) - Reliable testing environment (BDD -> Gherkin -> Tests)
This commit is contained in:
190
docs/architecture/03-build-flow.svg
Normal file
190
docs/architecture/03-build-flow.svg
Normal file
@@ -0,0 +1,190 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 14.1.1 (0)
|
||||
-->
|
||||
<!-- Title: BuildFlow Pages: 1 -->
|
||||
<svg width="854pt" height="452pt"
|
||||
viewBox="0.00 0.00 854.00 452.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 448.25)">
|
||||
<title>BuildFlow</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-448.25 850,-448.25 850,4 -4,4"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="423" y="-425.05" font-family="Helvetica,sans-Serif" font-size="16.00">Soleprint - Build Flow</text>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_source</title>
|
||||
<polygon fill="#e3f2fd" stroke="#e3f2fd" points="8,-309.5 8,-389 462,-389 462,-309.5 8,-309.5"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="235" y="-369.8" font-family="Helvetica,sans-Serif" font-size="16.00">Source (spr/)</text>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_cfg</title>
|
||||
<polygon fill="#fff8e1" stroke="#fff8e1" points="470,-289.75 470,-408.75 838,-408.75 838,-289.75 470,-289.75"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="654" y="-389.55" font-family="Helvetica,sans-Serif" font-size="16.00">Room Configs (cfg/)</text>
|
||||
</g>
|
||||
<g id="clust3" class="cluster">
|
||||
<title>cluster_cmds</title>
|
||||
<polygon fill="#f3e5f5" stroke="#f3e5f5" points="122,-118.25 122,-197.75 636,-197.75 636,-118.25 122,-118.25"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="379" y="-178.55" font-family="Helvetica,sans-Serif" font-size="16.00">Commands</text>
|
||||
</g>
|
||||
<g id="clust4" class="cluster">
|
||||
<title>cluster_gen</title>
|
||||
<polygon fill="#e8f5e9" stroke="#e8f5e9" points="243,-8 243,-87.5 499,-87.5 499,-8 243,-8"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="371" y="-68.3" font-family="Helvetica,sans-Serif" font-size="16.00">Generated Output (gen/)</text>
|
||||
</g>
|
||||
<!-- soleprint_src -->
|
||||
<g id="node1" class="node">
|
||||
<title>soleprint_src</title>
|
||||
<path fill="#bbdefb" stroke="black" d="M123.75,-353.5C123.75,-353.5 28.25,-353.5 28.25,-353.5 22.25,-353.5 16.25,-347.5 16.25,-341.5 16.25,-341.5 16.25,-329.5 16.25,-329.5 16.25,-323.5 22.25,-317.5 28.25,-317.5 28.25,-317.5 123.75,-317.5 123.75,-317.5 129.75,-317.5 135.75,-323.5 135.75,-329.5 135.75,-329.5 135.75,-341.5 135.75,-341.5 135.75,-347.5 129.75,-353.5 123.75,-353.5"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="76" y="-338.55" font-family="Helvetica,sans-Serif" font-size="11.00">soleprint/</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="76" y="-325.05" font-family="Helvetica,sans-Serif" font-size="11.00">(core entry points)</text>
|
||||
</g>
|
||||
<!-- build -->
|
||||
<g id="node8" class="node">
|
||||
<title>build</title>
|
||||
<path fill="#e1bee7" stroke="black" d="M384.69,-248.75C384.69,-248.75 377.55,-254.75 377.55,-254.75 373.98,-257.75 365.75,-260.75 361.09,-260.75 361.09,-260.75 336.91,-260.75 336.91,-260.75 332.25,-260.75 324.02,-257.75 320.45,-254.75 320.45,-254.75 313.31,-248.75 313.31,-248.75 309.74,-245.75 309.74,-239.75 313.31,-236.75 313.31,-236.75 320.45,-230.75 320.45,-230.75 324.02,-227.75 332.25,-224.75 336.91,-224.75 336.91,-224.75 361.09,-224.75 361.09,-224.75 365.75,-224.75 373.98,-227.75 377.55,-230.75 377.55,-230.75 384.69,-236.75 384.69,-236.75 388.26,-239.75 388.26,-245.75 384.69,-248.75"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="349" y="-239.05" font-family="Helvetica,sans-Serif" font-size="11.00">build.py</text>
|
||||
</g>
|
||||
<!-- soleprint_src->build -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>soleprint_src->build</title>
|
||||
<path fill="none" stroke="black" d="M98.48,-317C111.45,-307.68 128.42,-296.73 145,-289.75 195.92,-268.31 258.4,-256.1 300.69,-249.73"/>
|
||||
<polygon fill="black" stroke="black" points="301.17,-253.2 310.56,-248.3 300.16,-246.27 301.17,-253.2"/>
|
||||
</g>
|
||||
<!-- artery_src -->
|
||||
<g id="node2" class="node">
|
||||
<title>artery_src</title>
|
||||
<path fill="#bbdefb" stroke="black" d="M240.25,-353.5C240.25,-353.5 165.75,-353.5 165.75,-353.5 159.75,-353.5 153.75,-347.5 153.75,-341.5 153.75,-341.5 153.75,-329.5 153.75,-329.5 153.75,-323.5 159.75,-317.5 165.75,-317.5 165.75,-317.5 240.25,-317.5 240.25,-317.5 246.25,-317.5 252.25,-323.5 252.25,-329.5 252.25,-329.5 252.25,-341.5 252.25,-341.5 252.25,-347.5 246.25,-353.5 240.25,-353.5"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="203" y="-338.55" font-family="Helvetica,sans-Serif" font-size="11.00">artery/</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="203" y="-325.05" font-family="Helvetica,sans-Serif" font-size="11.00">(veins, shunts)</text>
|
||||
</g>
|
||||
<!-- artery_src->build -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>artery_src->build</title>
|
||||
<path fill="none" stroke="black" d="M223.56,-317.21C234.37,-308.5 248.04,-298.05 261,-289.75 277.08,-279.46 295.71,-269.46 311.69,-261.43"/>
|
||||
<polygon fill="black" stroke="black" points="312.98,-264.7 320.39,-257.13 309.87,-258.42 312.98,-264.7"/>
|
||||
</g>
|
||||
<!-- atlas_src -->
|
||||
<g id="node3" class="node">
|
||||
<title>atlas_src</title>
|
||||
<path fill="#bbdefb" stroke="black" d="M315.62,-353.5C315.62,-353.5 282.38,-353.5 282.38,-353.5 276.38,-353.5 270.38,-347.5 270.38,-341.5 270.38,-341.5 270.38,-329.5 270.38,-329.5 270.38,-323.5 276.38,-317.5 282.38,-317.5 282.38,-317.5 315.62,-317.5 315.62,-317.5 321.62,-317.5 327.62,-323.5 327.62,-329.5 327.62,-329.5 327.62,-341.5 327.62,-341.5 327.62,-347.5 321.62,-353.5 315.62,-353.5"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="299" y="-338.55" font-family="Helvetica,sans-Serif" font-size="11.00">atlas/</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="299" y="-325.05" font-family="Helvetica,sans-Serif" font-size="11.00">(books)</text>
|
||||
</g>
|
||||
<!-- atlas_src->build -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>atlas_src->build</title>
|
||||
<path fill="none" stroke="black" d="M308.64,-317C315.83,-303.95 325.8,-285.86 334.03,-270.93"/>
|
||||
<polygon fill="black" stroke="black" points="336.9,-272.97 338.66,-262.52 330.77,-269.59 336.9,-272.97"/>
|
||||
</g>
|
||||
<!-- station_src -->
|
||||
<g id="node4" class="node">
|
||||
<title>station_src</title>
|
||||
<path fill="#bbdefb" stroke="black" d="M442.12,-353.5C442.12,-353.5 357.88,-353.5 357.88,-353.5 351.88,-353.5 345.88,-347.5 345.88,-341.5 345.88,-341.5 345.88,-329.5 345.88,-329.5 345.88,-323.5 351.88,-317.5 357.88,-317.5 357.88,-317.5 442.12,-317.5 442.12,-317.5 448.12,-317.5 454.12,-323.5 454.12,-329.5 454.12,-329.5 454.12,-341.5 454.12,-341.5 454.12,-347.5 448.12,-353.5 442.12,-353.5"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="400" y="-338.55" font-family="Helvetica,sans-Serif" font-size="11.00">station/</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="400" y="-325.05" font-family="Helvetica,sans-Serif" font-size="11.00">(tools, monitors)</text>
|
||||
</g>
|
||||
<!-- station_src->build -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>station_src->build</title>
|
||||
<path fill="none" stroke="black" d="M390.17,-317C382.83,-303.95 372.67,-285.86 364.27,-270.93"/>
|
||||
<polygon fill="black" stroke="black" points="367.5,-269.52 359.54,-262.51 361.39,-272.95 367.5,-269.52"/>
|
||||
</g>
|
||||
<!-- cfg_standalone -->
|
||||
<g id="node5" class="node">
|
||||
<title>cfg_standalone</title>
|
||||
<path fill="#ffecb3" stroke="black" d="M566.38,-359.75C566.38,-359.75 489.62,-359.75 489.62,-359.75 483.62,-359.75 477.62,-353.75 477.62,-347.75 477.62,-347.75 477.62,-323.25 477.62,-323.25 477.62,-317.25 483.62,-311.25 489.62,-311.25 489.62,-311.25 566.38,-311.25 566.38,-311.25 572.38,-311.25 578.38,-317.25 578.38,-323.25 578.38,-323.25 578.38,-347.75 578.38,-347.75 578.38,-353.75 572.38,-359.75 566.38,-359.75"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="528" y="-345.3" font-family="Helvetica,sans-Serif" font-size="11.00">cfg/standalone/</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="528" y="-331.8" font-family="Helvetica,sans-Serif" font-size="11.00">config.json</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="528" y="-318.3" font-family="Helvetica,sans-Serif" font-size="11.00">data/</text>
|
||||
</g>
|
||||
<!-- cfg_standalone->build -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>cfg_standalone->build</title>
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M498.41,-310.84C488.46,-303.52 477.07,-295.79 466,-289.75 441.97,-276.62 413.39,-265.31 390.49,-257.19"/>
|
||||
<polygon fill="black" stroke="black" points="391.78,-253.94 381.18,-253.97 389.48,-260.55 391.78,-253.94"/>
|
||||
</g>
|
||||
<!-- cfg_amar -->
|
||||
<g id="node6" class="node">
|
||||
<title>cfg_amar</title>
|
||||
<path fill="#ffecb3" stroke="black" d="M713.62,-373.25C713.62,-373.25 608.38,-373.25 608.38,-373.25 602.38,-373.25 596.38,-367.25 596.38,-361.25 596.38,-361.25 596.38,-309.75 596.38,-309.75 596.38,-303.75 602.38,-297.75 608.38,-297.75 608.38,-297.75 713.62,-297.75 713.62,-297.75 719.62,-297.75 725.62,-303.75 725.62,-309.75 725.62,-309.75 725.62,-361.25 725.62,-361.25 725.62,-367.25 719.62,-373.25 713.62,-373.25"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="661" y="-358.8" font-family="Helvetica,sans-Serif" font-size="11.00">cfg/amar/</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="661" y="-345.3" font-family="Helvetica,sans-Serif" font-size="11.00">config.json</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="661" y="-331.8" font-family="Helvetica,sans-Serif" font-size="11.00">data/</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="661" y="-318.3" font-family="Helvetica,sans-Serif" font-size="11.00">docker-compose.yml</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="661" y="-304.8" font-family="Helvetica,sans-Serif" font-size="11.00">...</text>
|
||||
</g>
|
||||
<!-- cfg_amar->build -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>cfg_amar->build</title>
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M603.83,-297.29C598.26,-294.48 592.6,-291.91 587,-289.75 524.46,-265.68 447.64,-253.76 398.5,-248.18"/>
|
||||
<polygon fill="black" stroke="black" points="399.06,-244.72 388.74,-247.12 398.31,-251.68 399.06,-244.72"/>
|
||||
</g>
|
||||
<!-- cfg_other -->
|
||||
<g id="node7" class="node">
|
||||
<title>cfg_other</title>
|
||||
<path fill="#ffe082" stroke="black" stroke-dasharray="5,2" d="M818.25,-353.5C818.25,-353.5 755.75,-353.5 755.75,-353.5 749.75,-353.5 743.75,-347.5 743.75,-341.5 743.75,-341.5 743.75,-329.5 743.75,-329.5 743.75,-323.5 749.75,-317.5 755.75,-317.5 755.75,-317.5 818.25,-317.5 818.25,-317.5 824.25,-317.5 830.25,-323.5 830.25,-329.5 830.25,-329.5 830.25,-341.5 830.25,-341.5 830.25,-347.5 824.25,-353.5 818.25,-353.5"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="787" y="-338.55" font-family="Helvetica,sans-Serif" font-size="11.00">cfg/<room>/</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="787" y="-325.05" font-family="Helvetica,sans-Serif" font-size="11.00">...</text>
|
||||
</g>
|
||||
<!-- cmd1 -->
|
||||
<g id="node9" class="node">
|
||||
<title>cmd1</title>
|
||||
<path fill="#ce93d8" stroke="black" d="M243.75,-162.25C243.75,-162.25 142.25,-162.25 142.25,-162.25 136.25,-162.25 130.25,-156.25 130.25,-150.25 130.25,-150.25 130.25,-138.25 130.25,-138.25 130.25,-132.25 136.25,-126.25 142.25,-126.25 142.25,-126.25 243.75,-126.25 243.75,-126.25 249.75,-126.25 255.75,-132.25 255.75,-138.25 255.75,-138.25 255.75,-150.25 255.75,-150.25 255.75,-156.25 249.75,-162.25 243.75,-162.25"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="193" y="-140.55" font-family="Helvetica,sans-Serif" font-size="11.00">python build.py dev</text>
|
||||
</g>
|
||||
<!-- build->cmd1 -->
|
||||
<!-- cmd2 -->
|
||||
<g id="node10" class="node">
|
||||
<title>cmd2</title>
|
||||
<path fill="#ce93d8" stroke="black" d="M615.75,-162.25C615.75,-162.25 454.25,-162.25 454.25,-162.25 448.25,-162.25 442.25,-156.25 442.25,-150.25 442.25,-150.25 442.25,-138.25 442.25,-138.25 442.25,-132.25 448.25,-126.25 454.25,-126.25 454.25,-126.25 615.75,-126.25 615.75,-126.25 621.75,-126.25 627.75,-132.25 627.75,-138.25 627.75,-138.25 627.75,-150.25 627.75,-150.25 627.75,-156.25 621.75,-162.25 615.75,-162.25"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="535" y="-140.55" font-family="Helvetica,sans-Serif" font-size="11.00">python build.py dev --cfg amar</text>
|
||||
</g>
|
||||
<!-- build->cmd2 -->
|
||||
<!-- cmd3 -->
|
||||
<g id="node11" class="node">
|
||||
<title>cmd3</title>
|
||||
<path fill="#ce93d8" stroke="black" d="M411.75,-162.25C411.75,-162.25 286.25,-162.25 286.25,-162.25 280.25,-162.25 274.25,-156.25 274.25,-150.25 274.25,-150.25 274.25,-138.25 274.25,-138.25 274.25,-132.25 280.25,-126.25 286.25,-126.25 286.25,-126.25 411.75,-126.25 411.75,-126.25 417.75,-126.25 423.75,-132.25 423.75,-138.25 423.75,-138.25 423.75,-150.25 423.75,-150.25 423.75,-156.25 417.75,-162.25 411.75,-162.25"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="349" y="-140.55" font-family="Helvetica,sans-Serif" font-size="11.00">python build.py dev --all</text>
|
||||
</g>
|
||||
<!-- build->cmd3 -->
|
||||
<!-- gen_standalone -->
|
||||
<g id="node12" class="node">
|
||||
<title>gen_standalone</title>
|
||||
<path fill="#c8e6c9" stroke="black" d="M343.25,-52C343.25,-52 262.75,-52 262.75,-52 256.75,-52 250.75,-46 250.75,-40 250.75,-40 250.75,-28 250.75,-28 250.75,-22 256.75,-16 262.75,-16 262.75,-16 343.25,-16 343.25,-16 349.25,-16 355.25,-22 355.25,-28 355.25,-28 355.25,-40 355.25,-40 355.25,-46 349.25,-52 343.25,-52"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="303" y="-37.05" font-family="Helvetica,sans-Serif" font-size="11.00">gen/standalone/</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="303" y="-23.55" font-family="Helvetica,sans-Serif" font-size="11.00">(base soleprint)</text>
|
||||
</g>
|
||||
<!-- cmd1->gen_standalone -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>cmd1->gen_standalone</title>
|
||||
<path fill="none" stroke="black" d="M190.27,-126.13C189.61,-116.45 190.36,-104.51 196,-95.5 206.41,-78.87 223.15,-66.38 240.33,-57.2"/>
|
||||
<polygon fill="black" stroke="black" points="241.69,-60.43 249.09,-52.85 238.58,-54.16 241.69,-60.43"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="262" y="-98.75" font-family="Helvetica,sans-Serif" font-size="10.00">copies + standalone config</text>
|
||||
</g>
|
||||
<!-- gen_amar -->
|
||||
<g id="node13" class="node">
|
||||
<title>gen_amar</title>
|
||||
<path fill="#c8e6c9" stroke="black" d="M478.62,-52C478.62,-52 385.38,-52 385.38,-52 379.38,-52 373.38,-46 373.38,-40 373.38,-40 373.38,-28 373.38,-28 373.38,-22 379.38,-16 385.38,-16 385.38,-16 478.62,-16 478.62,-16 484.62,-16 490.62,-22 490.62,-28 490.62,-28 490.62,-40 490.62,-40 490.62,-46 484.62,-52 478.62,-52"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="432" y="-37.05" font-family="Helvetica,sans-Serif" font-size="11.00">gen/amar/</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="432" y="-23.55" font-family="Helvetica,sans-Serif" font-size="11.00">(with amar config)</text>
|
||||
</g>
|
||||
<!-- cmd2->gen_amar -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>cmd2->gen_amar</title>
|
||||
<path fill="none" stroke="black" d="M518.45,-125.86C501.63,-108.18 475.4,-80.61 456.24,-60.47"/>
|
||||
<polygon fill="black" stroke="black" points="458.98,-58.28 449.55,-53.45 453.91,-63.1 458.98,-58.28"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="553.43" y="-98.75" font-family="Helvetica,sans-Serif" font-size="10.00">copies + amar config</text>
|
||||
</g>
|
||||
<!-- cmd3->gen_standalone -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>cmd3->gen_standalone</title>
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M343.29,-125.84C340.18,-116.72 336.13,-105.41 332,-95.5 327.41,-84.49 321.86,-72.6 316.84,-62.31"/>
|
||||
<polygon fill="black" stroke="black" points="320.11,-61.02 312.54,-53.61 313.83,-64.13 320.11,-61.02"/>
|
||||
</g>
|
||||
<!-- cmd3->gen_amar -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>cmd3->gen_amar</title>
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M362.34,-125.86C375.71,-108.42 396.46,-81.35 411.84,-61.29"/>
|
||||
<polygon fill="black" stroke="black" points="414.47,-63.62 417.78,-53.55 408.91,-59.36 414.47,-63.62"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 16 KiB |
Reference in New Issue
Block a user