← Back to home

Connect Supabase

Real sign-up, login, and cloud quiz storage require a free Supabase project. This takes about 5 minutes.

Connection status

Manual steps (if you prefer)

  1. Create a project at supabase.com
  2. Open Project Settings → API and copy the Project URL and publishable key (or legacy anon JWT)
  3. Copy the service_role key into SUPABASE_SERVICE_ROLE_KEY (server only)
  4. Paste into .env.local in the project root
  5. Create tables — pick one:
    • Automatic: add SUPABASE_DB_PASSWORD to .env.local (Dashboard → Database), then run npm run setup:db
    • Manual: SQL Editor → paste and run supabase/APPLY_ALL.sql
  6. In Supabase Authentication → Providers → Email, optionally disable "Confirm email" for faster local testing
  7. Restart the dev server: stop npm run dev and start again
  8. Verify in terminal: npm run check:supabase

.env.local template

NEXT_PUBLIC_SUPABASE_URL=https://YOUR_PROJECT.supabase.co
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=sb_publishable_...
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key_here
NEXT_PUBLIC_APP_URL=http://localhost:3000

Do NOT use placeholder.supabase.co — it is not a real server.