MONGODB_URI=[your Atlas connection string]
REDIS_URL=[your Upstash URL]

GITHUB_CLIENT_ID=[from your GitHub OAuth app]
GITHUB_CLIENT_SECRET=[from your GitHub OAuth app]
GITHUB_WEBHOOK_SECRET=[generate a random string: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"]

JWT_SECRET=[generate a random string]
JWT_REFRESH_SECRET=[generate a different random string]

CLIENT_URL=[your Vercel URL — add this after step 4]
NODE_ENV=production

VITE_API_URL=[your public Railway URL]

GitHub OAuth

GitHub Repository Secrets

MongoDB URI

Redis Connection

Railway Connection

Vercel Env Vars

Server Env Vars

Client Env Vars