# Environment

Set these up before development starts.

## Supabase project (Postgres, Auth, Storage)
- **Env var(s):** SUPABASE_URL, SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY
- **Owner:** Founder
- Notes: Backs accounts, walker/owner data, bookings, reviews, and profile photo storage bucket.

## Stripe account with Connect enabled
- **Env var(s):** STRIPE_SECRET_KEY, STRIPE_PUBLISHABLE_KEY, STRIPE_WEBHOOK_SECRET, STRIPE_CONNECT_CLIENT_ID
- **Owner:** Founder
- Notes: Required for checkout, saved cards, walker payouts, refunds and disputes.

## Geocoding provider (Google Maps or Mapbox)
- **Env var(s):** GEOCODING_API_KEY
- **Owner:** Founder
- Notes: Used for postcode-to-coordinates lookups in radius search.

## Transactional email provider (e.g. Postmark or SendGrid)
- **Env var(s):** EMAIL_API_KEY, EMAIL_FROM_ADDRESS
- **Owner:** Founder
- Notes: Sends verification, password reset, booking reminder and receipt emails; domain must be verified for deliverability.

## Push notification service (e.g. FCM/OneSignal)
- **Env var(s):** PUSH_API_KEY, PUSH_APP_ID
- **Owner:** Founder
- Notes: Delivers booking and message push notifications.

## Realtime messaging infra (Supabase Realtime or Pusher)
- **Env var(s):** PUSHER_APP_ID, PUSHER_KEY, PUSHER_SECRET
- **Owner:** Founder
- Notes: Powers the in-app chat websocket transport if not using Supabase Realtime directly.

## Error monitoring (Sentry)
- **Env var(s):** SENTRY_DSN
- **Owner:** Founder
- Notes: Captures frontend and backend errors in production.

## Domain registrar and DNS
- **Env var(s):** N/A
- **Owner:** Founder
- Notes: Needed for production domain, SSL, and email sending domain verification (SPF/DKIM).

## Product analytics (e.g. PostHog)
- **Env var(s):** ANALYTICS_KEY
- **Owner:** Founder
- Notes: Tracks signup, search, booking and payment funnel events.