gen3-track-tcg

Emerald TCG — Tracker

Tracker pessoal de coleção de cartas Pokémon TCG da Geração 3 (Hoenn), inspirado em Pokémon Emerald. Aplicação 100% estática (HTML + CSS + Vanilla JS) — sem build, sem framework, sem dependências de runtime.

Como rodar

Qualquer servidor estático serve. A partir da raiz do projeto:

python3 -m http.server 8765

E abra http://localhost:8765/src/.

Abrir o index.html diretamente via file:// não funciona: o app busca a base de dados assets/data/catalog.min.json via fetch, que exige HTTP.

Arquitetura

gen3-track-tcg/
├── src/                  # Aplicação (o que o navegador carrega)
│   ├── index.html        # Página única (SPA) — early-fetch da base no <head>
│   ├── style.css         # Estilos (tema Emerald)
│   └── script.js         # Estado, renderização, modal e sync
├── assets/
│   ├── cards/            # 139 pastas (1 por Pokémon) + index.json (inventário de arquivos)
│   ├── data/             # Base de dados do app (gerada por build_card_database.py)
│   │   ├── catalog.min.json    # Tier 1 — catálogo leve usado pela UI
│   │   ├── prices.min.json     # Preços compactos por carta (USD/EUR, por foil)
│   │   └── details/<pk>.json   # Tier 2 — detalhes pesados (fetch sob demanda)
│   └── site/             # Background, verso de carta, ícones, cry do Rayquaza
├── scripts/              # Ferramentas Python (manutenção do catálogo)
└── docs/                 # Referências de design

Por que essa estrutura?

Funcionalidades

Ferramentas (scripts/)

Script Função
build_card_database.py Gera a base do app (assets/data/ — catálogo, detalhes e prices.min.json) a partir do catálogo local + TCGdex
download_gen3_tcgdex.py Baixa as cartas da série EX (Geração 3) da TCGdex
download_full_pokemon_cards.py Baixa todas as cartas de cada Pokémon do roster
rebuild_full_card_set.py Reconcilia pastas locais com a API e baixa faltantes
build_local_card_index.py Reconstrói assets/cards/index.json a partir dos arquivos
check_card_sync.py Valida o catálogo local contra a API (reporta divergências)
normalize_card_catalog.py Normaliza metadados das entradas do catálogo

Dependência única: pip install requests

Fonte das imagens

As imagens das cartas vêm da TCGdex (API comunitária) e são propriedade da Nintendo/Creatures Inc./GAME FREAK inc. Projeto de uso pessoal, sem fins comerciais.


Feito por joaogazire 🐉