Maths with SD Documentation

Context

A dedicated web application is proposed to streamline secure classroom assessments for a mathematics teacher who has outgrown the limitations of general-purpose survey tools.

🔹 Problem Statement

Traditional online testing tools, such as Google Forms, while convenient, often fall short when it comes to efficiency, security, and automation in conducting academic assessments.

A mathematics teacher faced the following challenges in managing class tests:

  1. Manual Test Creation

    • Every time a test was scheduled, the teacher had to manually create a new Google Form.
    • Uploading questions, setting options, and formatting were highly time-consuming and repetitive.
  2. Lack of Security in Google Forms

    • Google Forms provided minimal control over cheating prevention.
    • Students could easily share forms, reattempt using multiple accounts, or collaborate during tests.
    • No proctoring or monitoring features were available.
  3. Inefficient Question Management

    • There was no centralized question bank. Each test had to be created from scratch.
    • If the teacher had a collection of previous question papers (images or PDFs), there was no direct way to reuse or digitise them.
  4. Test Randomization & Scheduling Limitations

    • All students received the same set of questions, making it easier to share answers.
    • There was no mechanism to automatically randomise questions or generate unique sets for each student.
    • Google Forms lacked proper test scheduling and automation features.
  5. Post-Test Analysis Limitations

    • The teacher needed a leaderboard to instantly evaluate student performance in a comparative format.
    • Downloading and sharing results in a professional format like PDF was not directly supported.

🔹 Client Requirements

To overcome these challenges, the teacher envisioned a dedicated web application with the following requirements:

Teacher Dashboard

  • Upload questions in image or PDF format.
  • An integrated OCR (Optical Character Recognition) to automatically recognise and digitise content.
  • Store extracted questions in a centralised question bank for easy reuse.

Test Management & Scheduling

  • Option to schedule tests in advance.
  • Automatic generation of randomised question sets for each student, ensuring fairness and reducing chances of cheating.

Student Security Features

  • Enhanced exam security measures such as restricted navigation.
  • Random question shuffling.

Result Processing & Leaderboard

  • Automatic evaluation of tests.
  • A downloadable leaderboard view for teachers to instantly compare students' performance.

🔹 Proposed Solutions & Features

Teacher Dashboard

1) Scan Question

  • Upload questions as image or PDF and click Extract Questions.
  • OCR extracts MCQ questions and auto-populates editable fields: question text, four options, and KaTeX preview for mathematical notation.
  • Optional: attach diagrams (image uploads) per question.
  • Teacher selects correct option, class, chapter, and language (Bengali / English) before saving.
  • Save pushes the item into the centralized Question Bank.
  • ▶ View Demo

2) Question Bank

  • View all saved questions with metadata (class, chapter, language, difficulty).
  • Filter by class, subject, chapter and search by keywords.
  • Edit or delete questions; updates are versioned for audit (optional).
  • ▶ View Demo

3) Manage Students

  • View pending registration requests; approve or reject student accounts.
  • Remove existing students.
  • ▶ View Demo

4) Create Test

  • Schedule tests by selecting date, time, duration, total marks, target class, language, and chapters.
  • Auto-generate randomized sets while preserving overall weightage so no two students have identical papers.
  • ▶ View Demo

5) Old Test Configs

  • Archive of previous test configurations and metadata (date, class, language, marks, chapters).
  • View or delete old test configs.
  • ▶ View Demo

6) Leaderboard

  • View leaderboards with flexible filters: class (e.g., 11, 12), language (Bengali, English).
  • Sorted primarily by marks and secondarily by time taken to break ties.
  • Download leaderboards as printable PDF reports.
  • ▶ View Demo

Student Dashboard

1) Landing Page

  • Accessible after registration and teacher verification.
  • Shows upcoming tests, announcements, profile, and previous test results.
  • ▶ View Demo

2) Test Page

  • Available only once the test timer starts; the page opens in fullscreen.
  • If the student exits fullscreen (presses ESC or switches tabs), the test is auto-submitted and cannot be retaken.
  • Questions are randomly selected while preserving overall weightage. No two students receive the exact same set.
  • Robust anti-cheating measures such as tab-switch detection and session locking are enforced.
  • ▶ View Demo

3) Result Page

  • Auto-evaluation upon submission with immediate provisional scores.
  • Detailed analysis available after the test window closes: option marked and correct option if marked wrong.
  • ▶ View Demo

🔹 Technology Stack

Frontend

Core

Astro
React.js
TypeScript

Icons

lucide logo Lucide Icons

Styling

Tailwind CSS

Utilities

axios logo Axios
axios logo KaTeX
logo cropperjs + react-cropper
axios logo jsPDF

Backend

Core

Node.js
Express
TypeScript
RESTful APIs

Auth

logo Bcrypt
jwt logo JWT Authentication

Utilities

Cloudinary SDK
logo Multer

OCR - API

logo MathPix API

Database

NoSQL DB

MongoDB

File Storage

Cloudinary

Object Data Modeling

Mongoose

Auto-Grading

Instant results with detailed analytics

Multi-Format Support

MCQ (also diagram based questions)

Cloud Deployment

Scalable hosting with 99.9% uptime