Free plan allows 10 requests/min; show a Dutch user-friendly message
instead of a generic API error.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Multi-stage Dockerfile: Node builds static assets, nginx serves them
- nginx proxies /api/* to football-data.org and injects X-Auth-Token
server-side via FOOTBALL_API_KEY env var (key never in browser bundle)
- docker-compose.yml exposes the app on port 3000
- Extract apiFetch() helper: sends key in dev (Vite proxy), skips in prod
- .env.example updated with both dev and production key vars
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Vite + React app using football-data.org API to display standings
and match details for 12 competitions. Supports competition switching,
team match history modal, and Vite proxy to handle CORS.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>