Skip to main content

Evolve Candidate Frontend Overview

Candidate-facing exam platform for the AI Talent Summit / campus recruitment evaluations, built by Thanush Babu. Handles candidate auth, multi-round tests (MCQ, coding, personality, prompt), and anti-cheating exam-integrity enforcement.

What is Evolve Candidate Frontend?​

A Next.js app candidates use to register, log in, and take timed, multi-round assessments (MCQ, coding, personality, prompt-writing) with exam-integrity security built in, plus an n8n webhook integration that auto-assigns candidates to the next round on submission.

FieldValue
CategoryEvolve / AI Talent Summit / Campus Recruitment
GitHubevolve-candidate-fe
OrgTeamFleetStudio
Deployed URLhttps://evolve2.fsgarage.in/
Source of truth

Runtime setup, env vars, and deploy steps live in the repository. Use this Fleet Docs page for knowledge-transfer context.

Knowledge Transfer Exam Security

Key Features​

  • Auth flows: Login (with email pre-fill/lock when an email query param is present), Register, Reset Password, and refresh-token integration for session continuity.
  • Multi-round test engine (src/app/test/): MCQ, coding (Monaco editor), personality, and prompt rounds, with a shared applications/rounds shell (src/app/applications/rounds).
  • Prompt round validation: Enforces a 200-character / 20-word minimum on prompt submissions before allowing submit.
  • Auto-assign webhook proxy (src/app/api/webhook/auto-assign/route.js): Server-side proxy that forwards MCQ submission events to an n8n webhook (basic-auth secured), so the browser never holds the webhook credentials directly.
  • Exam security suite (src/lib/examSecurity.js, documented in SECURITY_FEATURES.md): Blocks copy/paste, dev tools, right-click, tab/window switching, and print/save shortcuts; enforces fullscreen; shows critical violations as blocking modals and minor ones as auto-dismissing toasts with a 10-second per-message cooldown to avoid spamming logs.
  • Structured security logging: Violations are logged as structured JSON (test name, round name, malpractice type) for later review.
  • Persistent test state (src/store/useTestStore.js): Zustand + localStorage store for test/round/current-round tracking, used by the security logger to attach context to each violation.
  • Countdown timer and full-screen test flow using react-countdown.
  • Static reference data: State-wise colleges JSON for registration forms.

Tech Snapshot​

LayerChoice
FrameworkNext.js App Router
UITailwind, Radix Slot, lucide-react, react-select, react-phone-number-input
Code editor@monaco-editor/react (coding round)
StateZustand (useTestStore)
Notificationsreact-toastify
HTTPaxios
Default branchmain

Admin counterpart: evolve-admin-fe - manages candidates, question banks, and results that this app's rounds feed into.

Quick Start​

git clone https://github.com/TeamFleetStudio/evolve-candidate-fe.git
cd evolve-candidate-fe

Then follow Getting Started.

Next Steps​