Code Docs
WarmWeb Product Design
Detailed System Design
4.1 Components
- WarmWeb Web UI (Next.js + Tailwind): Creator dashboard (site generator, deploy, versions, domain mapping, paywalls) and Visitor rendering (public pages, pay screens).
- API Gateway (NestJS/Express): Single entry for UI/CLI; JWT + wallet-sig auth.
- Auth Service: Wallet signature (EVM/Fil), OAuth fallback; stores user profiles with linked wallets.
- AI Site Generator: Model‑agnostic: prompt → static assets (/dist). Deterministic build steps for reproducibility (hash tree included in metadata).
- Upload Orchestrator: Packs assets, runs integrity hashing, calls Synapse for put/status, returns CID/version.
- Publish Service: Writes PDP proof, records publish receipt, triggers CDN purge/invalidation.
- Billing & Payments Adapter: Abstraction over Filecoin Pay; creates payment links/intents, verifies receipts server‑side.
- Index & Metadata: Postgres (or Supabase) holding site registry, versions, CID map, DNS records, access policies.
- Observability: Structured logs, metrics, traces; cost meters from Synapse; CDN analytics.
4.2 Data Model (simplified)
users(id, display_name, primary_wallet, email?, created_at)
sites(id, owner_id, slug, default_cid, active_version_id, pay_policy, domain, created_at)
site_versions(id, site_id, cid, sha256_tophash, pdp_proof_hash, created_at, changelog)
payments(id, site_id, type, amount, currency, tx_hash, payer_wallet, status, created_at)
access_policies(id, site_id, policy_type, token_contract?, nft_collection?, price?, period?)
analytics_daily(site_id, date, visits, bandwidth_gb, paid_hits, cost_fil, revenue_fil)
Table of Contents