feat(projects): rewrite project texts with verified facts
Build, Test & Push Frontend / quality-check (push) Successful in 1m18s
Build, Test & Push Frontend / docker (push) Successful in 50s

Old copy was generic and did not match the code. Texts now describe
the real features: PlayStation sync, file imports, tests, security.
Add per-game itch.io links, new chips, and a test that checks every
About project key exists in en and de.
This commit is contained in:
lobo committed 2026-10-14 11:03:54 +02:00
1 parent 106d39453d
commit 8681508cb6
5 files changed
+250 -185

No files matched your search

@@ -1,6 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 630" width="1200" height="630" role="img" aria-labelledby="title desc">
<title id="title">To Be Played</title>
<desc id="desc">Architecture of To Be Played: a React frontend talks to an Auth service that signs tokens and a Core service that verifies them. Both use PostgreSQL, Core also calls the Steam API and IGDB. Core fetches the Auth public key (JWKS) at runtime.</desc>
<desc id="desc">Architecture of To Be Played: a React frontend talks to an Auth service that signs tokens and a Core service that verifies them. Both use PostgreSQL, a backup container dumps both databases daily. Core also calls the Steam API, PlayStation and IGDB. Core fetches the Auth public key (JWKS) at runtime.</desc>
<defs>
<linearGradient id="bg" x1="0" y1="0" x2="0" y2="1">
@@ -52,11 +52,13 @@
<text x="830" y="227" class="mono chip" text-anchor="middle">auth db</text>
<rect x="760" y="312" width="140" height="56" rx="10" fill="#243040" stroke="#33475c"/>
<text x="830" y="347" class="mono chip" text-anchor="middle">core db</text>
<text x="1000" y="372" class="sans cap" text-anchor="start">EXTERNAL</text>
<rect x="1000" y="395" width="152" height="50" rx="10" fill="#212a35" stroke="#2f3a47" stroke-dasharray="4 4"/>
<text x="1076" y="427" class="sans chip" text-anchor="middle">Steam API</text>
<rect x="1000" y="460" width="152" height="50" rx="10" fill="#212a35" stroke="#2f3a47" stroke-dasharray="4 4"/>
<text x="1076" y="492" class="sans chip" text-anchor="middle">IGDB</text>
<text x="1000" y="357" class="sans cap" text-anchor="start">EXTERNAL</text>
<rect x="1000" y="380" width="152" height="50" rx="10" fill="#212a35" stroke="#2f3a47" stroke-dasharray="4 4"/>
<text x="1076" y="412" class="sans chip" text-anchor="middle">Steam API</text>
<rect x="1000" y="442" width="152" height="50" rx="10" fill="#212a35" stroke="#2f3a47" stroke-dasharray="4 4"/>
<text x="1076" y="474" class="sans chip" text-anchor="middle">PlayStation</text>
<rect x="1000" y="504" width="152" height="50" rx="10" fill="#212a35" stroke="#2f3a47" stroke-dasharray="4 4"/>
<text x="1076" y="536" class="sans chip" text-anchor="middle">IGDB</text>
<path d="M 252 258 H 342" stroke="#4a5563" stroke-width="2" fill="none" marker-end="url(#arrow)"/>
<text x="297" y="248" class="sans arr" text-anchor="middle">login</text>
<path d="M 252 340 H 342" stroke="#4a5563" stroke-width="2" fill="none" marker-end="url(#arrow)"/>
@@ -65,10 +67,16 @@
<path d="M 668 340 H 752" stroke="#26c6da" stroke-width="2" fill="none" marker-end="url(#arrowCyan)"/>
<path d="M 600 312 V 278" stroke="#4a5563" stroke-width="2" fill="none" marker-end="url(#arrow)"/>
<text x="588" y="300" class="sans arr" text-anchor="end">public key (JWKS)</text>
<path d="M 668 420 H 992" stroke="#4a5563" stroke-width="2" fill="none" marker-end="url(#arrow)"/>
<text x="830" y="410" class="sans arr" text-anchor="middle">sync</text>
<path d="M 668 485 H 992" stroke="#4a5563" stroke-width="2" fill="none" marker-end="url(#arrow)"/>
<text x="830" y="475" class="sans arr" text-anchor="middle">time to beat</text>
<path d="M 668 405 H 992" stroke="#4a5563" stroke-width="2" fill="none" marker-end="url(#arrow)"/>
<text x="830" y="395" class="sans arr" text-anchor="middle">sync</text>
<path d="M 668 467 H 992" stroke="#4a5563" stroke-width="2" fill="none" marker-end="url(#arrow)"/>
<text x="830" y="457" class="sans arr" text-anchor="middle">sync</text>
<path d="M 668 529 H 992" stroke="#4a5563" stroke-width="2" fill="none" marker-end="url(#arrow)"/>
<text x="830" y="519" class="sans arr" text-anchor="middle">time to beat</text>
<rect x="1000" y="228" width="152" height="76" rx="10" fill="#212a35" stroke="#2f3a47"/>
<text x="1020" y="258" class="sans name">db backup</text>
<text x="1020" y="284" class="sans sub">daily dumps</text>
<path d="M 928 266 H 992" stroke="#26c6da" stroke-width="2" fill="none" marker-end="url(#arrowCyan)"/>
<line x1="64" y1="566" x2="1136" y2="566" stroke="#2a333e"/>
<text x="64" y="598" class="mono" fill="#5b6673" font-size="15">react · spring boot · postgresql · docker</text>
</svg>

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB