Skip to content
← All projects

02Education

TeachMate

An interactive learning platform for bachelor students, combining structured C++ and OOP notes with teacher-led quizzes, QR-code session joining, and class progress tracking.

TeachMate interface screenshot 1

Documented content scope

2Subjects
25Topics
169Structured notes
279Seeded MCQs

Context

The problem

Slide-led lessons can present material but make it harder to combine structured notes, in-class practice, and a record of what a teacher has covered. TeachMate brings those activities into one classroom learning flow.

Solution

How TeachMate works

Teachers open structured subject notes, select an active class, and launch an MCQ session with a QR code. Students join from their phones using a six-character code, answer questions, and see their results; teachers can review results and class progress afterward.

Capabilities

What it includes

  • Structured C++ and OOP lessons
  • Teacher-led MCQ sessions with QR-code joining
  • Class-aware note and topic progress
  • Session results and student leaderboards
  • Search across notes, MCQs, and resources

System design

Architecture

  • Next.js App Router prerenders public subject and lesson pages while admin and live-session workflows use dynamic routes.
  • Structured lesson content is validated through a typed content registry; sessions, classes, and operational data use MongoDB through Mongoose.
  • API route handlers delegate to services and repositories, keeping database access out of route handlers.

Trade-offs

Engineering decisions

  • Students join without persistent accounts, using a six-character session code to keep classroom entry quick.
  • Student quiz state is transient; teacher-managed class progress is stored server-side per class.
  • Static curriculum content and database-backed classroom workflows use separate storage paths suited to how each changes.