Yeti Jobs splits its configuration into two independentDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/tech-dipesh/yeti-Jobs/llms.txt
Use this file to discover all available pages before exploring further.
.env files — one for the Express backend and one for the Vite React frontend. Every secret and runtime setting lives in these files so no credentials are hard-coded in source. The sections below document every variable, its expected value, and why it is needed.
Backend
The backend reads its environment at startup viadotenv. All variables below must be present in backend/.env before you run node server.js or start the Docker container.
backend/.env
The full PostgreSQL connection string (or password) used by the
In production this is your Supabase connection pooler URL (port
Locally this is your Postgres password string or a
The pool is configured with
pg Pool.In production this is your Supabase connection pooler URL (port
6543), e.g.:postgresql://postgres.[ref]:[password]@aws-0-us-east-1.pooler.supabase.com:6543/postgresLocally this is your Postgres password string or a
postgres://... URI.The pool is configured with
ssl: { rejectUnauthorized: false } so the Supabase TLS certificate is accepted without a CA bundle.Your Supabase project URL, found in Supabase → Project Settings → API.
Example:
Used by the
Example:
https://xyzcompany.supabase.coUsed by the
@supabase/supabase-js SDK to route file-storage and auth requests to the correct project.The Supabase anon / public API key for your project, found alongside
This key is used server-side to interact with Supabase Storage (uploading resumes and profile pictures). It carries only the row-level security permissions defined in your Supabase project.
URL_SUPABASE_CONNECT.This key is used server-side to interact with Supabase Storage (uploading resumes and profile pictures). It carries only the row-level security permissions defined in your Supabase project.
The sender email address used by Nodemailer for outgoing mail (email verification, password reset).
Example:
Example:
noreply@yourdomain.com or a Gmail address.The application password (not your account password) for the sender email.
For Gmail, generate one at Google Account → Security → App Passwords. For other providers check their SMTP documentation.
For Gmail, generate one at Google Account → Security → App Passwords. For other providers check their SMTP documentation.
The SMTP host for outgoing email.
Example:
Example:
smtp.gmail.com for Gmail, smtp.sendgrid.net for SendGrid.The secret used to sign and verify JWT access tokens (
Must be a random, high-entropy string — minimum 32 characters recommended. Never reuse this value across environments.
jsonwebtoken).Must be a random, high-entropy string — minimum 32 characters recommended. Never reuse this value across environments.
The origin URL of the React frontend. Used by the
Local development:
Production:
cors middleware to whitelist exactly one allowed origin and reject all other cross-origin requests.Local development:
http://localhost:5173Production:
https://yeti-jobs.vercel.app (or your own domain)The TCP port the Express server listens on.
Default
Default
3000. Set to a different value if port 3000 is already in use on your machine.JWT cookie max-age in seconds. Controls how long an authenticated session stays valid.
Example:
Example:
86400 (24 hours), 604800 (7 days).API key for the Groq inference API, used by the ATS (Applicant Tracking System) scoring feature to analyse uploaded resumes and return structured feedback.
Obtain a key at console.groq.com. The backend uses the
Obtain a key at console.groq.com. The backend uses the
openai SDK pointed at Groq’s API endpoint.Frontend
The Vite frontend has a single environment variable. Vite only exposes variables prefixed withVITE_ to the browser bundle, so this is the only one you need.
frontend/.env
The base URL of the Express backend, used by Axios for every API request.
Local development:
Production (Render):
Do not include a trailing slash.
Local development:
http://localhost:3000Production (Render):
https://yeti-jobs.onrender.comDo not include a trailing slash.
Vite bakes
VITE_SERVER_URL into the static bundle at build time. If you change the backend URL after building, you must trigger a rebuild — updating the environment variable alone is not enough.