← Back to project catalogue
GP-CS-00K5LSWComputer ScienceOpen for request

Collaborative code review classroom

A classroom code-review system for assignment submission, peer allocation, rubric-based review, revision comparison, and faculty moderation.

  • Nuxt
  • Vue
  • FastAPI
  • PostgreSQL
  • Git
  • Python
  • Docker

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

01

Assignment definition

Stores assignment rules, deadlines, repository requirements, rubric criteria, and review-allocation constraints.

02

Submission capture

Imports source files, validates repository structure, creates immutable snapshots, and records submission versions.

03

Allocation engine

Assigns reviewers using deterministic constraints for group separation, workload balance, and duplicate prevention.

04

Code comparison

Computes file and line differences and maps inline review comments to the correct snapshot.

05

Review and revision

Collects rubric scores and comments, returns feedback, and compares the revised submission with the reviewed version.

06

Moderation and evaluation

Allows faculty review, records participation, detects missing work, and evaluates allocation and completion behaviour.

Methodology

System workflow

  1. 01
    Create the assignment

    Faculty define submission rules, rubric criteria, review count, allocation constraints, and deadlines.

  2. 02
    Capture submissions

    Student source code is validated and stored as an immutable assignment snapshot.

  3. 03
    Allocate reviews

    The system assigns eligible peers while balancing review load and preventing invalid pairings.

  4. 04
    Review code

    Reviewers inspect the snapshot, add inline comments, complete rubric items, and submit summary feedback.

  5. 05
    Revise 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

  1. 01Assignment, submission, peer-review, and moderation interfaces
  2. 02Repository snapshot and code-difference analysis module
  3. 03Review allocation and rubric evaluation engine
  4. 04Prepared classroom workload and system test results
  5. 05Complete source code in a private GitHub repository
  6. 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

  1. 01
    Payment is confirmed

    The project is marked unavailable and cannot be purchased again.

  2. 02
    Repository access is granted

    The buyer's submitted GitHub account receives access to the private repository.

  3. 03
    The purchase record is delivered

    The certification sheet is prepared from the reviewed buyer details and sent privately by email.