Files
PolyWeather/frontend/README.md
T

1.9 KiB

PolyWeather Frontend

Production frontend for PolyWeather Pro.

Production URL:

Stack

  • Next.js App Router
  • React + Tailwind
  • Leaflet + Chart.js
  • Supabase Auth
  • WalletConnect + browser EVM wallets

Runtime Model

  1. Browser -> Next app (frontend)
  2. Next Route Handlers (/api/*) -> FastAPI backend
  3. FastAPI -> analysis/payment services

Local Development

cd frontend
cp .env.example .env.local
npm install
npm run dev

Required Environment Variables

POLYWEATHER_API_BASE_URL=https://<your-fastapi-host>
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
POLYWEATHER_AUTH_ENABLED=true
POLYWEATHER_AUTH_REQUIRED=false
POLYWEATHER_BACKEND_ENTITLEMENT_TOKEN=

WalletConnect:

NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID=
NEXT_PUBLIC_WALLETCONNECT_POLYGON_RPC_URL=https://polygon-bor-rpc.publicnode.com

Overlay links:

NEXT_PUBLIC_TELEGRAM_GROUP_URL=https://t.me/<your_group>

Route Handlers

Weather:

  • GET /api/cities
  • GET /api/city/[name]
  • GET /api/city/[name]/summary
  • GET /api/city/[name]/detail
  • GET /api/history/[name]

Auth:

  • GET /api/auth/me

Payments:

  • GET /api/payments/config
  • GET /api/payments/wallets
  • POST /api/payments/wallets/challenge
  • POST /api/payments/wallets/verify
  • POST /api/payments/intents
  • GET /api/payments/intents/[intentId]
  • POST /api/payments/intents/[intentId]/submit
  • POST /api/payments/intents/[intentId]/confirm

Cache Behavior

  • cities / summary / history: ETag + Cache-Control
  • summary?force_refresh=true: no-store
  • payment routes: no-store

Open-Core Note

This frontend repo includes general product UI and standard payment UX. Commercial strategy tuning, private ops workflows, and sensitive production parameters are intentionally outside the public docs scope.

See root policy: docs/OPEN_CORE_POLICY.md

Last updated: 2026-03-14