SkillSync uses environment variables to keep sensitive credentials out of source code. All secrets — database URIs, API tokens, SMTP passwords, and cron secrets — are read fromDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/aakash811/Student-Progress-Tracker/llms.txt
Use this file to discover all available pages before exploring further.
.env files at runtime and must be configured before starting the server.
Backend environment variables
Create a file named.env inside the backend/ directory and populate it with the variables below.
| Variable | Required | Description |
|---|---|---|
PORT | No (default 5000) | Port the Express server listens on |
MONGO_URI | Yes | MongoDB connection string (e.g., from MongoDB Atlas) |
UPSTASH_REDIS_REST_URL | Yes | Upstash Redis REST endpoint URL |
UPSTASH_REDIS_REST_TOKEN | Yes | Upstash Redis REST token |
BREVO_USER | Yes | Brevo SMTP username (your Brevo account email) |
BREVO_PASS | Yes | Brevo SMTP password (API key from Brevo dashboard) |
EMAIL_USER | Yes | Sender email address shown in outbound reminder emails |
CRON_SECRET | Yes | Secret token used to authenticate POST /cron/sync requests from cron-job.org |
Sample backend .env
Frontend environment variables
Create a file named.env inside the frontend/ directory and populate it with the variable below.
| Variable | Required | Description |
|---|---|---|
VITE_API_BASE_URL | Yes | Full URL of the backend API (e.g., http://localhost:5000 for local, or your Render URL for production) |
Sample frontend .env
Vite only exposes environment variables prefixed with
VITE_ to browser code. Any variable without this prefix is stripped from the client bundle and will be undefined at runtime.