NexGen FC LogoNEXGEN FC
Education Technology/Assessment & Proctoring Platform/Production MVP

Enterprise Assessment Platform

A proctored online examination platform for a college training and placement cell, running timed MCQ and coding assessments with automated grading for roughly 1,000 concurrent students.

Overview

What it is, who uses it, why it exists

A proctored online exam portal running timed MCQ sections and coding problems for a full cohort at once, with instant MCQ grading and sandboxed code evaluation.

Students take exams from their own browser; admin staff manage the question bank, publish exams, and release results through the Django admin panel.

Manual invigilation and hand-graded code don't scale to a full batch sitting a timed exam at once — this needed browser-based proctoring and automated grading, built in a four-week MVP.

Platform Overview

Who the platform serves, end to end

Students & Admin StaffExam-takers and the staff who publish exams and release results
Assessment PlatformMCQ + coding exams, proctoring signals, auto-grading
Results & AnalyticsScore distributions, exports, leaderboards
User Journey

The full lifecycle, start to finish

LoginUSN + password → JWT
Start ExamQuestions and options shuffled per student
Answer & AutosaveMCQ autosave every 30s, code run against sample cases
Submit
Instant MCQ Score / Async Code Evaluation
Results Released
Platform Modules

Every module the platform is built from

Hover a module to see what it's responsible for.

Exam Engine

Owns exam creation, question shuffling, timing, and MCQ grading.

  • Exam & batch publishing
  • Per-student question and option shuffling
  • Server-side time-window enforcement
  • Instant MCQ auto-grading on submit

Coding Module

Runs student code against hidden test cases without blocking the request.

  • Monaco in-browser editor
  • Synchronous run against sample cases
  • Asynchronous grading via Celery + Judge0
  • Per-test-case scoring

Proctoring Layer

Browser-only integrity signals — nothing is recorded.

  • Forced fullscreen on exam start
  • Tab-switch and fullscreen-exit flagging
  • Copy/paste disabled inside the exam container
  • Camera/mic shown locally, never uploaded

Results & Reporting

Where staff release scores and export outcomes.

  • Django admin result release action
  • Streamed .xlsx export via openpyxl
  • Score distribution analytics
  • Post-release student leaderboard
Feature Deep Dive

How the major features actually work

Feature 01

Shuffled, Auto-Graded MCQ Exams

Questions and options are shuffled per student, then graded server-side on submit — the correct answer never reaches the client.

Reduces copyingInstant scoringNo client-side answer keys
Feature 02

Asynchronous Coding Evaluation

A code submission returns instantly while a Celery task runs it against hidden test cases on a self-hosted Judge0 sandbox.

Server stays responsiveSandboxed executionScales to more problems
Feature 03

Zero-Recording Proctoring

Camera and mic are shown locally only — MediaRecorder is never used. Tab-switches and fullscreen exits are sent as flags, not media.

No video ever recordedStill flags integrity signalsNo storage or legal exposure
System Architecture

From client to database, end to end

Select a node to see its purpose, technologies, and responsibilities.

Purpose

Student portal, exam UI, Monaco editor, and proctoring signals.

Technologies
  • Next.js (App Router)
  • Tailwind CSS
  • shadcn/ui
Responsibilities
  • Exam-taking UI
  • Autosave and proctoring event dispatch
  • Polling submission status
Data Flow

How information moves through the system

Student Submits Code
Django API Returns 202CodeSubmission created with status = PENDING
Celery Task QueuedPushed to Redis broker
Celery Worker Picks Up Task
Judge0 Executes Each Test Case
CodeSubmission Updatedstatus = COMPLETED, score written
Frontend Poll Displays ScorePolled every 3 seconds
Engineering Decisions

Problem, decision, reason

Problem

Full video/audio proctoring raises privacy exposure and storage cost the system shouldn't have to carry.

Decision

Camera and mic are display-only — MediaRecorder is never instantiated anywhere in the codebase.

Reason

Delivers an integrity signal without recording a single frame of student video.

Problem

Code execution is slow and can't block an HTTP request for a full batch submitting at once.

Decision

Submissions return 202 immediately; a Celery task grades them asynchronously via Judge0.

Reason

Keeps the API responsive and isolates untrusted code execution from the request cycle.

Problem

A third-party code-execution SaaS would add recurring cost and reduce control over exam data.

Decision

Judge0 is self-hosted on its own VM, reachable only by the Celery worker behind a private firewall.

Reason

Keeps cost and exam-data handling under direct institutional control.

Technology Stack

Organized by category, with a reason for each choice

Backend
Django 5 + DRFBackend framework and REST API.
Celery + RedisAsync task queue for code-grading.
Judge0 (self-hosted)Sandboxed code execution.
openpyxlStreams .xlsx result exports.
Frontend
Next.js (App Router)Exam and dashboard UI.
Tailwind CSS + shadcn/uiConsistent component styling.
Monaco EditorIn-browser code editor.
Infrastructure
VercelFrontend hosting with preview URLs.
GCP Cloud RunServerless Django + Celery worker.
GCP Cloud SQLManaged PostgreSQL.
GCP Compute EngineVM running Judge0 behind a private firewall.
Engineering Highlights

What makes this build hold up

Self-Hosted Code Execution

Judge0 runs on its own VM, reachable only by the Celery worker.

Async Grading Pipeline

Submissions return instantly; grading happens off the request path.

Zero-Recording Proctoring

MediaRecorder is never used anywhere in the codebase.

Server-Side Time Enforcement

Every endpoint checks the exam's end time itself.

Roadmap

Current, next, and future vision

Current

MVP — Live

  • Auth, question bank, and admin panel
  • MCQ engine with shuffling and time enforcement
  • Coding module with Celery + Judge0 grading
Next

Hardening

  • Security audit follow-ups
  • Load testing beyond the initial pilot
Future Vision

Beyond MVP

  • Not yet scoped beyond the pilot exam

Interested in Enterprise Assessment Platform?

Let's discuss how this can work for you.

// END OF CASE STUDYEnterprise Assessment Platform