The problem
Coaching institutes live on mock tests, yet most still run them on paper or inside generic quiz tools that were never designed for competitive exams. Checking hundreds of OMR-style answer sheets by hand takes days, so students get their scores long after the attempt — and they never learn the one number that matters most: where they stand relative to the batch. Faculty, meanwhile, get no topic-level data on what the class is getting wrong. This project builds a dedicated mock-test platform for coaching institutes: timed online tests with a real exam-style question palette, instant auto-grading with negative marking, and a rank engine that computes scores, batch ranks and percentiles the moment a test is submitted. Students get a percentile-trend dashboard, subject-wise accuracy breakdowns and a live leaderboard; institutes get test scheduling, a question bank and batch-level analytics that show exactly which topics are dragging scores down.
How it works
- The institute admin creates a test: name, subjects, number of questions, total marks, duration and marking scheme (+4 correct, −1 wrong, 0 skipped in the demo).
- Questions with four options and an answer key are added from the question bank, tagged by subject and topic (Physics, Chemistry, Mathematics in the seeded bank).
- The student starts the test: the countdown begins, and each answer or review-mark updates the single shared state object that drives the palette, progress bar and navigation together.
- On submit — or automatically when the timer expires — responses are graded against the answer key; in the demo build this plus a 500-entry leaderboard re-sort measured 14.2 ms in the browser.
- The rank engine re-sorts every submitted score, assigns ranks (ties share the better rank) and computes each student's percentile to two decimal places.
- The result view renders the score ring, batch rank, percentile, accuracy, time used and subject-wise bars, with a coach note naming the weakest topics.
- The student's dashboard appends the new percentile to the trend chart and the batch leaderboard refreshes for everyone.
Tech stack:
- React + Vite frontend
- Node.js + Express backend
- MongoDB with Mongoose models
- JWT authentication
- Socket.io live leaderboard updates
- Chart.js analytics charts
- Tailwind CSS styling
| Parameter | Value |
|---|---|
| Questions per test | Up to 200 (design target); demo slice uses 10 |
| Marking scheme | +4 correct, −1 wrong, 0 skipped (configurable per test) |
| Grading + re-sort latency | 14.2 ms for 10 responses and a 500-entry re-sort (measured in the demo browser build) |
| Concurrent test-takers | Design target: 500 per institute (architecture estimate, not a load-test result) |
| Rank computation | Full re-sort per submission; percentile to 2 decimal places; ties share the better rank |
| User roles | 3 (institute admin, faculty, student) |
| Question types in base build | 1 (single-correct MCQ; more types as customization) |
| Seeded question bank | Approximately 40 questions across Physics, Chemistry and Mathematics |
| Supported browsers | Latest Chrome, Edge and Firefox on desktop (layouts target 1200 px and wider) |
Project features
- [Timed mock-test engine] A real exam-style interface with a countdown timer, one-question-at-a-time flow and auto-submit when time expires, modelled on the interfaces of national entrance exams.
- [Question palette with review states] Answered, unanswered, current and marked-for-review states are tracked in a single shared state object, so the palette, progress bar and navigation can never desynchronise — a bug that appeared and was fixed during the demo build.
- [Automatic grading with negative marking] Responses are checked against the answer key on submit using a configurable scheme (+4 / −1 in the demo), with skipped questions scoring zero.
- [Live rank and percentile engine] Rank = 1 + students scoring above you; percentile = students scoring below you ÷ total students × 100. Every submission re-sorts the batch and ties share the better rank.
- [Percentile trend dashboard] A line chart of the student's percentile across recent mocks makes preparation progress visible at a glance instead of buried in score tables.
- [Subject- and topic-wise analytics] Per-subject accuracy bars and a weak-topic coach note that flags the chapters costing the most marks and queues revision sprints.
- [Batch leaderboard] A ranked table of the batch that updates as new tests are submitted, keeping competition visible.
- [Institute test management] Create tests with question counts, marks and durations, organise questions by subject and topic, and schedule tests for specific batches.
What is included
- Complete source code (React frontend + Node.js/Express backend)
- MongoDB schema and seed scripts with sample tests, questions and a 500-student demo cohort
- JWT login for all three roles with protected routes
- Setup and deployment instructions for a VPS or shared host
- The single-file interactive demo used for the listing screenshots
- Project report PDF (problem, architecture, database design, rank algorithm, testing notes)
- PPT presentation for the final review
- Viva Q&A preparation document (full-stack flow, auth, ranking math, scaling)
Limitations & prerequisites
- The base build supports single-correct MCQs only — integer-type, multi-correct and descriptive questions are customization work, not included.
- Percentile and rank are computed against the institute's own batch, not a national pool: a 95 percentile means the top 5% of that batch, nothing more.
- The demo's 500-student cohort is seeded sample data for illustration, not real aspirants, and demo scores reset between sessions.
- The 500-concurrent design target is an architecture estimate, not a load-test result — real capacity depends on the hosting plan chosen at deployment.
- Question paper content is the institute's responsibility; the build ships with only ~40 sample questions across three subjects.
- Auto-grading cannot award partial credit or evaluate descriptive answers.
- The hosted build needs internet; only the single-file demo slice runs fully offline in a browser.
Frequently Asked Questions
Is this project suitable for a final-year project?
Yes — for Computer Science, IT, BCA and MCA programs. It covers full-stack development, JWT authentication, database design, real-time leaderboard updates and a genuinely interesting algorithm in the rank engine, which gives you real depth to discuss in the viva rather than a surface-level CRUD app.
How are rank and percentile actually calculated?
Rank equals 1 plus the number of students scoring above you; percentile equals students scoring below you divided by total students, times 100. Every submission re-sorts the batch and tied scores share the better rank — the same definition that competitive entrance exams use, so the numbers behave the way students expect.
Does it include an institute admin panel?
Yes. The admin side covers test creation with marks and durations, question-bank management organised by subject and topic, batch assignment, test scheduling windows, and institute-wide analytics such as average scores, per-topic difficulty and topper lists for faculty review meetings. Role-based access keeps student data visible only to authorised faculty.
Can it handle a real institute's student load?
The base build is designed for around 500 concurrent test-takers per institute, but that is an architecture target rather than a measured load-test result. Real capacity depends on the hosting plan chosen at deployment, and concrete scaling guidance is included in the project report.
Can question types beyond single-correct MCQs be added?
Not in the base build, which ships single-correct MCQs only. Multi-correct, integer-type and matrix-match questions are documented as customization work, with effort estimates included in the report so you can quote the extension accurately to a buyer. The grading and ranking code is written so new question types plug into the existing scoring pipeline.
Is payment gateway integration included?
No — enrolment and fee collection are deliberately out of scope for the base build. Payment integration, for example Razorpay or Stripe for course fees, is available as a separate customization with its own clearly defined scope and timeline. Student test-taking and analytics work fully without any payment module.
Components & software requirements
- React + Vite frontend
- Node.js + Express backend
- MongoDB with Mongoose models
- JWT authentication
- Socket.io live leaderboard updates
- Chart.js analytics charts
- Tailwind CSS styling
Delivery information
Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.
Support terms
Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.
Download free synopsis (PDF)
Enter your name and WhatsApp number — the synopsis PDF downloads immediately. We may send occasional project updates on WhatsApp; no spam.