# ─── Database ──────────────────────────────────────────────────────────────── DATABASE_URL="postgresql://username:password@localhost:5432/hope_events" # ─── Auth ───────────────────────────────────────────────────────────────────── JWT_SECRET=your_jwt_secret_here_minimum_32_characters # ─── Server ─────────────────────────────────────────────────────────────────── PORT=5000 NODE_ENV=development # ─── CORS ───────────────────────────────────────────────────────────────────── # Comma-separated list of allowed frontend origins FRONTEND_URL=http://localhost:3000 # ─── Email (SMTP) — optional fallbacks ─────────────────────────────────────── # Preferred: configure SMTP via Admin → Site Settings (stored AES-256 encrypted). # These env vars are used as fallbacks if no SMTP settings are saved in the DB. # EMAIL_HOST=smtp.example.com # EMAIL_PORT=587 # EMAIL_USER=your_email@example.com # EMAIL_PASS=your_email_password # EMAIL_FROM=no-reply@example.com # ─── Payments (Yoco) ────────────────────────────────────────────────────────── YOCO_SECRET_KEY=your_yoco_secret_key YOCO_WEBHOOK_SECRET=your_yoco_webhook_secret # ─── Public URLs ────────────────────────────────────────────────────────────── # Used to build links in emails (password reset, activation, etc.) APP_BASE_URL=https://your-frontend-domain.com # Used to serve ticket PDFs to WhatsApp (must be publicly reachable) BACKEND_URL=https://your-backend-domain.com # ─── WhatsApp (WAWP) — optional, preferred stored via Admin → Site Settings ─── # These are env-var fallbacks. Use the admin panel to manage them at runtime. WAWP_ACCESS_TOKEN=your_wawp_access_token WAWP_INSTANCE_ID=your_wawp_instance_id # ─── Background workers ─────────────────────────────────────────────────────── DAILY_SUMMARY_ENABLED=true SCHEDULED_EMAILS_ENABLED=true SCHEDULED_EMAILS_INTERVAL_MS=30000 # ─── Note ───────────────────────────────────────────────────────────────────── # The following are managed via Admin → Site Settings and stored in the database: # - Organisation name, tagline, contact details, branding colour, logo # - Registration notification emails # - SMTP settings (username and password stored AES-256-GCM encrypted, key # derived from JWT_SECRET — do not change JWT_SECRET after saving SMTP creds) # - Legal page content (operator name, Information Officer, website URL, etc.) # The first-time setup wizard handles initial configuration on fresh deployments. # You no longer need ORG_NAME, ORG_TAGLINE, EMAIL_HEADER_COLOR, REGISTRATIONS_EMAIL, # or SMTP vars in this file (they still work as fallbacks if the DB entry is absent).