Back to projects
React Native mobile app

MCQ Engine

An MCQ-based assessment app for creating, running and scoring timed exams on mobile.

React NativeTypeScriptNode.jsMongoDB

Overview

MCQ Engine lets educators create, run and score timed multiple-choice exams entirely from mobile.

Problem

Running reliable timed assessments for large groups on mobile is fiddly, with sync and scoring often breaking under load.

Solution

A React Native app with exam authoring, timed sessions, automatic scoring and result summaries, backed by a resilient sync layer.

Architecture

React Native client with a Node.js API; exams and submissions sync to the backend, with local buffering to survive flaky connectivity.

Database Design

Collections for exams, questions, sessions and submissions, with per-session answer documents to support resumable attempts.

API Design

Endpoints for exam CRUD, session start/finish and submission scoring, with idempotent submit handling.

Results

  • Ran smoothly on the first real exam and every one since
  • Automatic scoring removed manual grading effort
  • Reliable timed sessions for large groups

Lessons Learned

  • Idempotent submissions prevented double-scoring on retries
  • Local buffering kept the exam usable on weak networks