Cardelia, Laufzeit-Architektur

Kartenkatalog, Sammlung und tägliche Preise für Pokémon-TCG

Cardelia, Laufzeit-Architektur Kartenkatalog, Sammlung und tägliche Preise für Pokémon-TCG Sammler · Browser · Baustein der Architektur Sammler Browser Cardelia Web · Vite, React, TypeScript · Cloudflare Pages · React Cardelia Web Vite, React, TypeScript Django REST API · Fly.io Frankfurt, gunicorn · Baustein der Architektur · Django Django REST API Fly.io Frankfurt, gunicorn Auth · stellt Tokens aus · Supabase · Supabase Auth stellt Tokens aus Postgres · Katalog, Sammlungen, Preise · Supabase · PostgreSQL Postgres Katalog, Sammlungen, Preise R2 · Kartenbilder, bilder.cardelia.de · Cloudflare R2 · Cloudflare R2 Kartenbilder, bilder.cardelia.de Storage · Originale, Rückfall · Supabase · Supabase Storage Originale, Rückfall Celery Beat · Fly.io, Zeitplan aus Postgres · Baustein der Architektur · Python Celery Beat Fly.io, Zeitplan aus Postgres Redis · Warteschlange, Sperre, Cache · Baustein der Architektur · Redis Redis Warteschlange, Sperre, Cache Celery Worker · Fly.io, ein Auftrag zugleich · Baustein der Architektur · Python Celery Worker Fly.io, ein Auftrag zugleich TCGdex · Kartenkatalog · Quellen im Netz TCGdex Kartenkatalog Cardmarket · Preisliste als JSON · Quellen im Netz Cardmarket Preisliste als JSON PokeTrace · Preise, Produkt-IDs · Quellen im Netz PokeTrace Preise, Produkt-IDs CardTrader · Preise · Quellen im Netz CardTrader Preise Limitless · Preise · Quellen im Netz Limitless Preise PokeWallet · Preise · Quellen im Netz PokeWallet Preise pokemontcg.io · wenn Bild oder Preis fehlt · Quellen im Netz pokemontcg.io wenn Bild oder Preis fehlt tcggo · Preise über RapidAPI · Quellen im Netz tcggo Preise über RapidAPI Sicherung · eigener Rechner, täglich · Baustein der Architektur Sicherung eigener Rechner, täglich HTTPS REST Anmeldung JWKS holen SQL Bilder holen Auftrag einstellen Auftrag holen Preise schreiben Bilder ablegen Datenbank-Dump Bilder spiegeln Cloudflare Pages Cloudflare R2 Supabase Quellen im Netz

Was das Bild nicht zeigt

  • • fehlt eine Karte, holt die API sie synchron bei TCGdex
  • • das Nachladen bricht nach 5 s ab, die Bildsuche nach 15 s
  • • beide Wege sind gedrosselt, dreißig Anfragen je Minute
  • • fällt ein Bild bei R2 aus, lädt es der Browser bei Supabase

Was der Aufbau kostet

  • • API, Worker und Beat sind drei getrennte Maschinen
  • • 1 GB für API und Worker, 256 MB für Beat
  • • ein Auftrag zugleich, der Preislauf allein braucht 450 MB
  • • Web und Bilder bei Cloudflare, R2 ohne Gebühr für Abrufe

Was in der Datenbank liegt

  • • über 78.000 Karten in vier Sprachen aus fast 500 Sets
  • • jede Sprachfassung ein eigener Eintrag mit eigenem Preis
  • • 66.620 davon mit einem Preis von heute oder gestern
  • • gemessen am 12.10.2026 gegen die Produktionsdatenbank