Platform

Integration Status

Copy .env.example to .env.local and add your keys to switch from demo mode to live services.


Sanity CMSDemo / not configured
SupabaseConnected
ElevenLabs TTSDemo / not configured

Deploy — rewardologyacademy.com

Registrar: Namecheap. Hosting: Netlify (GitHub repo already pushed). DNS values below come from Netlify after you add the custom domain.

  1. GitHub — Repo: peterkenfajimi-code/rewardology-academy
  2. Netlify Sign up with GitHub Add new site → Import rewardology-academy. Netlify detects Next.js via netlify.toml.
  3. Environment variables (Site configuration → Environment variables). Copy from .env.local; use production NEXT_PUBLIC_SITE_URL below. Do not add SUPABASE_ACCESS_TOKEN.
  4. Live Netlify URL https://effulgent-cajeta-57593b.netlify.app. Supabase redirect for this URL is configured via npm run configure:supabase-auth.
  5. Custom domain Netlify → Domain management → Add rewardologyacademy.com and www.rewardologyacademy.com → set primary to apex. Then Namecheap Advanced DNS (remove parking / old records):
    A Record · Host @75.2.60.5
    CNAME · Host wwweffulgent-cajeta-57593b.netlify.app
    If Netlify shows different values after you add the domain, use Netlify's values instead.
  6. Supabase auth URLs — Run npm run configure:supabase-auth or set manually:
    • Site URL: https://rewardologyacademy.com
    • Redirect: https://rewardologyacademy.com/auth/callback
    • Redirect: https://www.rewardologyacademy.com/auth/callback
    • Redirect: https://effulgent-cajeta-57593b.netlify.app/auth/callback
    • Redirect: http://localhost:3000/auth/callback
  7. Resend email resend.com/domains → SPF/DKIM in Namecheap → Supabase SMTP → noreply@rewardologyacademy.com
  8. Test sign-in at https://rewardologyacademy.com/auth/callback after DNS propagates.

Netlify environment variables (production)

NEXT_PUBLIC_SITE_URL=https://rewardologyacademy.com
NEXT_PUBLIC_SUPABASE_URL=<from Supabase API settings>
NEXT_PUBLIC_SUPABASE_ANON_KEY=<anon public key>
NEXT_PUBLIC_SANITY_PROJECT_ID=<optional>
NEXT_PUBLIC_SANITY_DATASET=production
NEXT_PUBLIC_SANITY_API_VERSION=2026-01-01
ELEVENLABS_API_KEY=<optional>
ELEVENLABS_VOICE_ID=EXAVITQu4vr4xnSDxMaL

netlify.toml sets NEXT_PUBLIC_SITE_URL=https://rewardologyacademy.com. After DNS propagates, trigger a Netlify redeploy. Keep using https://effulgent-cajeta-57593b.netlify.app until the custom domain shows Netlify SSL as active.


Supabase setup

Powers sign-in, soft-gated courses/quizzes/comics, XP sync, and your dashboard.

Google sign-in

Status: Not enabled yet

  1. Google Cloud → Credentials → OAuth client ID → Web application
  2. Authorized redirect URI (exact): https://fgkhowgggwbsosqhfnnz.supabase.co/auth/v1/callback
  3. Add to .env.local:
    GOOGLE_CLIENT_ID=....apps.googleusercontent.com
    GOOGLE_CLIENT_SECRET=....
    NEXT_PUBLIC_GOOGLE_OAUTH_ENABLED=true
  4. Run npm run configure:google-oauth (uses SUPABASE_ACCESS_TOKEN)
  5. Add NEXT_PUBLIC_GOOGLE_OAUTH_ENABLED=true to Netlify env (or netlify.toml) and redeploy