Getting Started with Evolve Candidate Frontend
Prerequisites
- Node.js 20+
- npm / yarn / pnpm / bun
- Access to
TeamFleetStudio/evolve-candidate-fe - Evolve backend API URL (see
.env.example)
Installation
Step 1: Clone
- HTTPS
- SSH
git clone https://github.com/TeamFleetStudio/evolve-candidate-fe.git
cd evolve-candidate-fe
git clone git@github.com:TeamFleetStudio/evolve-candidate-fe.git
cd evolve-candidate-fe
Step 2: Install dependencies
npm install
Step 3: Configure environment
NEXT_PUBLIC_API_BASE_URL=https://evolve-api2.fsgarage.in
# Required for the auto-assign webhook proxy (not in .env.example - get from teammate)
NEXT_PUBLIC_AUTO_ASSIGN_WEBHOOK_URL=
NEXT_PUBLIC_N8N_BASIC_AUTH_USER=
NEXT_PUBLIC_N8N_BASIC_AUTH_PASS=
Step 4: Run
npm run dev
Open http://localhost:3000.
Useful scripts
| Script | Purpose |
|---|---|
npm run dev | Local Next.js dev server |
npm run build / npm start | Production build/serve |
npm run lint | ESLint |
Verification
- Login works against the configured Evolve backend
- Starting an MCQ round enables exam security (right-click/copy/tab-switch blocking)
- Submitting an MCQ round returns
{ ok: true }from/api/webhook/auto-assignwhen the webhook env vars are set
Exam security is aggressive by design
Right-click, dev tools, and tab switching are blocked during a test round on purpose (see SECURITY_FEATURES.md). If you're debugging locally, expect the security layer to interfere with normal browser dev tools while a round is active.
Troubleshooting
Issue: /api/webhook/auto-assign returns 500
- Solution:
NEXT_PUBLIC_AUTO_ASSIGN_WEBHOOK_URLis unset - add it to.env
Issue: Prompt round submit button stays disabled
- Solution: Check the 200-character / 20-word minimum enforced client-side before submit unlocks