feat: add TCG Management project node to skill tree

Adds TehRiehl TCG Management (https://tcg.tehriehldeal.com) under the
Personal Tools branch at (-400, 140), continuing the existing arc past
TehRiehlBudget.

Sized `medium` rather than `small` so it reads as the most substantial
project on the tree without competing visually with the Projects hub node.
Ships a new monochrome card-stack icon following the existing convention
(white fill, 800px, tinted coral at runtime by PixiJS).

Described as a multi-TCG manager rather than a Pokemon app: the system is
game-agnostic, with games keyed on TCGCSV category ids and gameId/gameName
as first-class dimensions through the API and UI.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
TehRiehlDealandClaude Opus 5 committed 2026-08-08 08:55:05 -07:00
1 parent 88956d9937
commit eaed162aa9
2 files changed
+34

No files matched your search

+29
View File
@@ -412,6 +412,35 @@ export const treeNodes: TreeNode[] = [
repoUrl: 'https://git.tehriehldeal.com/TehRiehlDeal/TehRiehlBudget',
status: 'active'
},
{
id: 'proj-tcg',
label: 'TCG Management',
description:
'Self-hosted trading card game collection and inventory manager built to handle any TCG, with per-game catalogs and daily market prices sourced from TCGCSV. Features a camera scanner that auto-detects cards on-device using OpenCV and perceptual-hash matching, plus wishlists, trade binders, transaction history, and price-trend analytics. Runs entirely on a homelab in Docker with self-hosted CI/CD.',
x: -400,
y: 140,
parentId: 'proj-tools',
category: 'projects',
size: 'medium',
icon: '/icons/tcg.svg',
techStack: [
'React',
'TypeScript',
'NestJS',
'Prisma',
'PostgreSQL',
'Redis/BullMQ',
'OpenCV.js',
'Redux Toolkit',
'TailwindCSS',
'ShadCN',
'PWA',
'Docker'
],
projectUrl: 'https://tcg.tehriehldeal.com',
repoUrl: 'https://git.tehriehldeal.com/TehRiehlDeal/tehriehltcgmanagement',
status: 'active'
},
// ========== GAMES CHILDREN ==========
{
+5
View File
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<svg width="800px" height="800px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path fill="white" d="M8.6 2.4 3.3 4.3a1.6 1.6 0 0 0-1 2l4 11.1V6.6a2 2 0 0 1 2-2h2.1l-.8-1.2a1.6 1.6 0 0 0-1-1z"/>
<path fill="white" d="M19.4 5.5H9.9a1.6 1.6 0 0 0-1.6 1.6v13.3a1.6 1.6 0 0 0 1.6 1.6h9.5a1.6 1.6 0 0 0 1.6-1.6V7.1a1.6 1.6 0 0 0-1.6-1.6zm-4.8 4 1.4 2.9 3.2.5-2.3 2.2.5 3.2-2.8-1.5-2.9 1.5.6-3.2-2.3-2.2 3.2-.5z"/>
</svg>

After

Width:  |  Height:  |  Size: 470 B