Skip to content

C4 Architecture

L1 — System Context

flowchart LR
  user["Operator / Analyst"] --> kit["Kit System"]
  cg["CoinGecko API"] --> kit
  ch["chainid.network API"] --> kit
  ll["DefiLlama API"] --> kit
  gate["Gate Launchpool API"] --> kit
  bingx["BingX Web/API (Playwright)"] --> kit
  bitget["Bitget Web/API (Playwright)"] --> kit
  kit --> temporal["Temporal Server"]
  kit --> db["PostgreSQL + TimescaleDB"]

L2 — Container

flowchart TB
  subgraph kit["Kit System"]
    worker["Temporal Worker (Go)\ncmd/worker"]
    acts["Activities + Workflows\ninternal/worker/*"]
    mig["Migration Runner\ngoose via internal/db"]
    scrape["Playwright Scrapers\nBingX/Bitget"]
    ingest["SQL Ingest Functions\ningest_*_launchpool_snapshot"]
  end

  temporal["Temporal Server"] <--> worker
  worker --> acts
  acts --> scrape
  acts --> ingest
  worker --> mig
  mig --> db["PostgreSQL + TimescaleDB"]
  ingest --> db
  ext["External APIs\nCoinGecko/chainid/DefiLlama/Gate/BingX/Bitget"] --> acts