# ═══════════════════════════════════════════════════════════════ # RentalDriveGo — Environment Variables # Copy to .env.local and fill in your values. # ═══════════════════════════════════════════════════════════════ # ─── Database ────────────────────────────────────────────────── DATABASE_URL=postgresql://placeholder:placeholder@placeholder:5432/placeholder # ─── API ─────────────────────────────────────────────────────── API_PORT=4000 API_URL=http://localhost:4000 NEXT_PUBLIC_API_URL=http://localhost:4000/api/v1 # ─── JWT (Renter auth + Admin auth) ─────────────────────────── JWT_SECRET=placeholder JWT_EXPIRY=8h RENTER_JWT_EXPIRY=7d # ─── Clerk (Company employee auth) ──────────────────────────── NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_... CLERK_SECRET_KEY=placeholder CLERK_WEBHOOK_SECRET=whsec_... NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/onboarding # ─── AmanPay (Primary payment provider) ─────────────────────── # RentalDriveGo's own AmanPay account (for collecting subscription fees) AMANPAY_MERCHANT_ID=your-amanpay-merchant-id AMANPAY_SECRET_KEY=placeholder AMANPAY_BASE_URL=https://api.amanpay.net AMANPAY_WEBHOOK_SECRET=placeholder # ─── PayPal (Secondary payment provider) ────────────────────── # RentalDriveGo's own PayPal account (for collecting subscription fees) PAYPAL_CLIENT_ID=your-paypal-client-id PAYPAL_CLIENT_SECRET=placeholder PAYPAL_BASE_URL=https://api-m.paypal.com # Use https://api-m.sandbox.paypal.com for sandbox NEXT_PUBLIC_PAYPAL_CLIENT_ID=your-paypal-client-id # ─── Cloudinary (Vehicle + brand photos) ────────────────────── CLOUDINARY_CLOUD_NAME=your-cloud-name CLOUDINARY_API_KEY=your-api-key CLOUDINARY_API_SECRET=placeholder NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=your-cloud-name # ─── Resend (Email) ──────────────────────────────────────────── RESEND_API_KEY=placeholder EMAIL_FROM=rentaldrivego@gmail.com EMAIL_FROM_NAME=RentalDriveGo # ─── Twilio (SMS + WhatsApp) ─────────────────────────────────── TWILIO_ACCOUNT_SID=AC... TWILIO_AUTH_TOKEN=placeholder TWILIO_PHONE_NUMBER=+1234567890 TWILIO_WHATSAPP_NUMBER=whatsapp:+14155238886 # ─── Firebase (Push notifications) ─────────────────────────── FIREBASE_PROJECT_ID=your-project-id FIREBASE_PRIVATE_KEY=placeholder FIREBASE_CLIENT_EMAIL=firebase-adminsdk@your-project.iam.gserviceaccount.com NEXT_PUBLIC_FIREBASE_API_KEY=your-firebase-api-key NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your-project.firebaseapp.com NEXT_PUBLIC_FIREBASE_PROJECT_ID=your-project-id NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=123456789 NEXT_PUBLIC_FIREBASE_APP_ID=1:123456789:web:abc123 # The Node API uses Resend for email delivery. # MAIL_* SMTP variables are intentionally omitted here. # ─── Redis (Real-time / Socket.io) ──────────────────────────── REDIS_URL=redis://localhost:6379 # ─── App URLs ────────────────────────────────────────────────── # SITE_ORIGIN is the canonical public origin for robots.txt, sitemap, and metadata. # Required for production builds. Must be an absolute https:// URL with no trailing slash. # SITE_ORIGIN=https://your-production-domain.example NEXT_PUBLIC_MARKETING_URL=http://localhost:3000 NEXT_PUBLIC_DASHBOARD_URL=http://localhost:3000/dashboard NEXT_PUBLIC_ADMIN_URL=http://localhost:3000/admin NEXT_PUBLIC_STOREFRONT_URL=http://localhost:3000/storefront NEXT_PUBLIC_HOMEPAGE_URL=http://localhost:3000 # Public site is subdomain-based; use this for local dev: NEXT_PUBLIC_PUBLIC_SITE_DOMAIN=localhost:3003 DASHBOARD_URL=http://localhost:3000/dashboard # ─── Admin seed (first SUPER_ADMIN created on db:seed) ──────── ADMIN_SEED_EMAIL=admin@rentaldrivego.ma ADMIN_SEED_PASSWORD=placeholder ADMIN_SEED_FIRST_NAME=Super ADMIN_SEED_LAST_NAME=Admin # ─── Misc ────────────────────────────────────────────────────── NODE_ENV=development