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.
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.