Collaborative code review classroom
A classroom code-review system for assignment submission, peer allocation, rubric-based review, revision comparison, and faculty moderation.
Project definition
Problem statement
Peer code review can help students understand design choices and defects, but classroom review is difficult to organise consistently. Manual allocation, unstructured comments, missing revisions, and uneven participation reduce its value.
The engineering problem is to preserve submitted code versions, allocate reviews fairly, present meaningful code differences, enforce a rubric, and provide faculty oversight without exposing work outside the assigned class.
Project objectives
- Capture immutable assignment submission snapshots from uploaded or Git-based source code.
- Allocate peer reviews while respecting group, deadline, and conflict rules.
- Display file and line changes between submission revisions.
- Collect rubric scores, inline comments, and actionable summary feedback.
- Measure allocation fairness, review completion, permission enforcement, and system performance.
System design
System modules
Assignment definition
Stores assignment rules, deadlines, repository requirements, rubric criteria, and review-allocation constraints.
Submission capture
Imports source files, validates repository structure, creates immutable snapshots, and records submission versions.
Allocation engine
Assigns reviewers using deterministic constraints for group separation, workload balance, and duplicate prevention.
Code comparison
Computes file and line differences and maps inline review comments to the correct snapshot.
Review and revision
Collects rubric scores and comments, returns feedback, and compares the revised submission with the reviewed version.
Moderation and evaluation
Allows faculty review, records participation, detects missing work, and evaluates allocation and completion behaviour.
Methodology
System workflow
- 01Create the assignment
Faculty define submission rules, rubric criteria, review count, allocation constraints, and deadlines.
- 02Capture submissions
Student source code is validated and stored as an immutable assignment snapshot.
- 03Allocate reviews
The system assigns eligible peers while balancing review load and preventing invalid pairings.
- 04Review code
Reviewers inspect the snapshot, add inline comments, complete rubric items, and submit summary feedback.
- 05Revise and moderate
Students submit a revision, differences are displayed, and faculty can moderate feedback and completion records.
Demonstration scenario
A faculty user creates an assignment and rubric, then loads a prepared class with multiple code submissions. The system creates snapshots, allocates two reviews per student, displays code differences, records rubric feedback, accepts a revised submission, and shows faculty the completed and missing reviews.
Engineering
Technical architecture
- Web application
- Nuxt and Vue for assignment management, code browsing, review forms, revision comparison, and faculty controls.
- Application API
- FastAPI for submissions, allocation, rubric records, comment threads, permissions, and moderation events.
- Data layer
- PostgreSQL for classes, assignments, users, allocation records, rubric responses, comments, and audit events.
- Source processing
- Git-based snapshot handling with controlled file parsing and a documented line-difference algorithm.
- Allocation algorithm
- A constraint-based assignment method with deterministic seeds, workload balancing, and validation checks.
- Delivery
- Container-based setup with prepared classroom fixtures and repositories for repeatable demonstrations and tests.
Testing
Evaluation
Evaluation measures
- Allocation validity and workload distribution across classroom sizes
- Correctness of file and line differences between revisions
- Permission tests across student, reviewer, and faculty roles
- Review completion and late-submission handling
- Concurrent comment and submission behaviour
- Response time for repository snapshots of defined size limits
System boundaries
- The system uses prepared classroom identities and sample repositories for demonstration.
- It does not execute untrusted student programs on the application server.
- It does not automatically determine plagiarism or assign final academic grades.
- Repository access is limited to the class, assignment, and allocated review period.
Included
- 01Assignment, submission, peer-review, and moderation interfaces
- 02Repository snapshot and code-difference analysis module
- 03Review allocation and rubric evaluation engine
- 04Prepared classroom workload and system test results
- 05Complete source code in a private GitHub repository
- 06Complete project documentation with synopsis, abstract, methodology, data model, architecture diagrams, test results, screenshots, and conclusion
Project record
No buyer information is collected on this page.
- Permanent project ID
- GP-CS-00K5LSW
- Catalogued
- 21 Aug 2026
- Completed
- Pending
- Verified
- Pending
- Demonstration
- Added when ready
Handover
After purchase
- 01Payment is confirmed
The project is marked unavailable and cannot be purchased again.
- 02Repository access is granted
The buyer's submitted GitHub account receives access to the private repository.
- 03The purchase record is delivered
The certification sheet is prepared from the reviewed buyer details and sent privately by email.