# =========================================================== # FASHIONISTAR AI — Environment Variables Template # Copy this file to .env and fill in your actual values. # NEVER commit the .env file — it contains secrets. # =========================================================== # ── General Settings ───────────────────────────────────────────────────────── SECRET_KEY=your-django-secret-key-here DEBUG=True DJANGO_SECRET_ADMIN_URL=admin/ # ── Tunnel URLs (update after each tunnel session) ──────────────────────────── # Backend: ngrok tunnel (stable free domain — run: make ngrok-dev) BACKEND_URL=https://YOUR_NGROK_URL.ngrok-free.dev BACKEND_TUNNEL_URL=https://YOUR_NGROK_URL.ngrok-free.dev # Frontend: Cloudflare Quick Tunnel (random per session — run: make tunnel-frontend) FRONTEND_URL=https://YOUR_CLOUDFLARE_TUNNEL.trycloudflare.com FRONTEND_TUNNEL_URL=https://YOUR_CLOUDFLARE_TUNNEL.trycloudflare.com # ── Django Hosts & CSRF ─────────────────────────────────────────────────────── # In development, ALLOWED_HOSTS=['*'] is overridden in development.py — safe. # These values are used in production/staging. ALLOWED_HOSTS=127.0.0.1,localhost,localhost:8000,localhost:3000,testserver,YOUR_NGROK_URL.ngrok-free.dev,YOUR_CLOUDFLARE_TUNNEL.trycloudflare.com CSRF_TRUSTED_ORIGINS=http://localhost:3000,http://localhost:8000,https://YOUR_NGROK_URL.ngrok-free.dev,https://YOUR_CLOUDFLARE_TUNNEL.trycloudflare.com # ── Google OAuth2 ───────────────────────────────────────────────────────────── GOOGLE_CLIENT_ID=your-google-client-id.apps.googleusercontent.com GOOGLE_CLIENT_SECRET=your-google-client-secret # ── Database ────────────────────────────────────────────────────────────────── DATABASE_URL=sqlite:///db.sqlite3 # ── Redis ───────────────────────────────────────────────────────────────────── REDIS_URL=redis://127.0.0.1:6379/1 # ── Celery ──────────────────────────────────────────────────────────────────── CELERY_BROKER_URL=redis://127.0.0.1:6379/2 CELERY_RESULT_BACKEND=redis://127.0.0.1:6379/3 # ── Cloudinary (Media Storage) ──────────────────────────────────────────────── CLOUDINARY_CLOUD_NAME=your_cloud_name CLOUDINARY_API_KEY=your_api_key CLOUDINARY_API_SECRET=your_api_secret CLOUDINARY_URL=cloudinary://your_api_key:your_api_secret@your_cloud_name # Webhook URL (used in Cloudinary console notification settings) CLOUDINARY_NOTIFICATION_URL=https://YOUR_NGROK_URL.ngrok-free.dev/api/v1/upload/webhook/cloudinary/ # ── Payment Gateways ────────────────────────────────────────────────────────── PAYSTACK_TEST_KEY=sk_test_your_paystack_test_key PAYSTACK_SECRET_KEY=sk_test_your_paystack_secret_key # ── Twilio (SMS) ────────────────────────────────────────────────────────────── TWILIO_ACCOUNT_SID=your_twilio_account_sid TWILIO_AUTH_TOKEN=your_twilio_auth_token TWILIO_PHONE_NUMBER=+1234567890 # ── Email Configuration ─────────────────────────────────────────────────────── DEFAULT_FROM_EMAIL=your-email@example.com EMAIL_HOST_USER=your-email@example.com EMAIL_HOST_PASSWORD=your_email_app_password # ── Mailgun ─────────────────────────────────────────────────────────────────── MAILGUN_API_KEY=your_mailgun_api_key MAILGUN_DOMAIN=your_mailgun_domain.mailgun.org # ── Zoho ZeptoMail ──────────────────────────────────────────────────────────── ZOHO_ZEPTOMAIL_API_KEY_TOKEN=your_zeptomail_token ZOHO_ZEPTOMAIL_HOSTED_REGION=zeptomail.zoho.com # ── Database Backups (django-dbbackup) ──────────────────────────────────────── DBBACKUP_CLOUDINARY_FOLDER=backups # Fernet encryption key for backup files at rest (generate with: python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())") # Leave empty to disable encryption (backups are gzip-only) DBBACKUP_ENCRYPTION_KEY= DBBACKUP_FAILURE_RECIPIENTS= # ═══════════════════════════════════════════════════════════════════════ # WORKING ENVIRONMENT # ═══════════════════════════════════════════════════════════════════════ # Controls which Django settings module is loaded. # Valid values: development | staging | testing | production WORKING_ENVIRONMENT=development DJANGO_SETTINGS_MODULE=backend.config.development