LabSubmit
An in-progress programming-lab platform built to help my college
A college programming-lab and examination platform in progress, connecting faculty-authored assessments, multi-file coding workspaces, interactive code execution, submissions, and manual evaluation.
PROJECT OVERVIEW
LabSubmit is an in-progress project built to help my college manage programming laboratories and assessments. Administrators manage academic structure and access; lecturers configure examinations, question sets, and answer sheets; students work in a browser-based coding workspace and submit for evaluation. Faculty can inspect submissions, provide marks and remarks, request corrections, and choose when results become visible.
THE PROBLEM
Programming assessments involve several connected records: the assigned questions, source files, execution input and output, written lab sections, deadlines, submissions, and feedback. LabSubmit aims to keep this workflow together while giving lecturers control over assessment structure and students a consistent place to work.
TECHNICAL APPROACH
Next.js and TypeScript provide the interface and REST routes, with Prisma and PostgreSQL holding academic and assessment data. Monaco supports multi-file editing, while a WebSocket and PTY execution service provides interactive input for C, C++, Java, and Python programs. Server-side checks govern ownership, exam state, deadlines, and allowed languages. The implementation includes configurable answer sheets, persistent randomized question-set assignments, submission locking, integrity-event logging, and manual grading.
PROJECT OUTCOME
Implemented the main administration, examination, coding, submission, and evaluation workflows, including answer-sheet previews and faculty-visible question-set mappings. The project remains in progress: server-side execution-history persistence and section-by-section grading are not yet implemented. Browser integrity signals support review but do not guarantee prevention of cheating.