Skip to main content

Website Setup Locally

Configure files​

Open the download web folder in a code editor like VSCode

.env file configuration​

Copy .env.example to .env.local in your project root, then update the values below. .env.local is git-ignored — your real keys never get committed.

tip

For each variable, only update the value after the = sign. Never change the variable name on the left.

env-file

VariableWhat it's forWhere to get it
NEXT_PUBLIC_API_URLBackend API base URL the web app callsAdmin Panel → System Settings → API Key Settings → Client API Keys → API link for Customer App
NEXT_PUBLIC_SITE_URLThis website's own deployed URL (used for canonical/OG/sitemap links)Your domain, once deployed
NEXT_PUBLIC_SEOtrue = VPS/Node deploy with SSR, false = static exportSee SEO for Web / Deployment Without SEO
NEXT_PUBLIC_GOOGLE_MAPS_API_KEYMap rendering — only needed if admin's map provider is set to GoogleGoogle Cloud Console → APIs & Services → Credentials (enable Maps JavaScript API)
NEXT_PUBLIC_FIREBASE_API_KEY, _AUTH_DOMAIN, _PROJECT_ID, _STORAGE_BUCKET, _MESSAGEING_SENDER_ID, _APP_ID, _MESUMENT_IDPhone OTP auth, Google sign-in, FCM pushFirebase Console → Project Settings → General → Your apps → SDK setup and configuration
NEXT_PUBLIC_FIREBASE_VAPID_KEYWeb push notification certificateFirebase Console → Project Settings → Cloud Messaging → Web configuration → Web Push certificates → generate key pair
NEXT_PUBLIC_GA_MEASUREMENT_IDGoogle Analytics 4 trackingGoogle Analytics → Admin → Data Streams → your web stream → Measurement ID
NEXT_PUBLIC_CLARITY_PROJECT_IDMicrosoft Clarity session recording/heatmapsMicrosoft Clarity → your project → Settings → Setup → Project ID
note

NEXT_PUBLIC_VERSION and NEXT_PUBLIC_ENVIRONMENT are internal build/deploy metadata — do not change these.

note

Analytics vars (GA_MEASUREMENT_ID, CLARITY_PROJECT_ID) only load after the visitor grants analytics consent — see src/components/layout/consent-scripts.tsx.

- Update the Application Name​

The application name is no longer set via .env — it's now a code field. Open src/lib/site-config.ts and update the appName value:

appName: "eDemand",
note

appName is used throughout the app — page titles, the "Open in App" prompt, OTP/email copy, PWA manifest name, etc. See PWA Setup for how it ties into the install prompt.

- Website meta title, description, and keywords​

These moved out of .env too — set them in src/lib/site-config.ts alongside appName:

title: "eDemand - Your On-Demand Service Booking Platform",
description: "eDemand connects you with trusted local service providers...",
keywords: ["on-demand services", "home services", /* ... */],