CSC/ECE 517 Spring 2022 - E2237: Grading audit trail

From Expertiza_Wiki
Jump to navigation Jump to search

Team

Students

  • Bhuwan Bhatt (brbhatt)
  • Soumyadeep Chatterjee (schatte5)
  • Kelly Fleming (kflemin3)
  • Karthik Gopala Sundaresan (kgopala3)

Mentor

  • Kai Xiao (yxiao28)

Problem Statement

Summary of Previous Team's Work

You can read the entirety of previous team's wiki write-up if desired.

Overview of Major Changes

A new table was added to the database (grading_history), along with the corresponding model (grading_history.rb) and controller (grading_history_controller.rb).

Two models for specific types of histories were added: review_grading_history.rb, and submission_grading_history.rb.

A view for displaying the grading history of a particular assignment or review was added (index_html.erb).

Whenever an instructor submits a new grade, or edits an existing grade, the grading_history_controller saves a new history entry to the database.

Modifications to Existing Files

app/controllers/grades_controller.rb
A grading history record is created for every edit to a submission's grade.
app/controllers/review_mapping_controller.rb
A grading history record is created for every edit to a review's grade.
app/views/assignments/list_submissions.html.erb
A link to access a submission's grade history is shown in the submissions table.
app/views/reports/_review_report.html.erb
A link to access a review's grade history is shown in the review report table.

Testing

Functional tests ensuring specific method calls are made were added.

functional tests added to these files
spec/controllers/grades_controller_spec.rb
spec/controllers/review_mapping_controller_spec.rb
spec/controllers/grading_histories_controller_test.rb

A feature test ensuring that correct grading history is shown in chronological order was added.

feature test handled by these two files
spec/features/grade_histories_spec.rb
spec/features/helpers/grade_histories_helper.rb

Our Team's Design Proposal

Useful Links

Previous team's Expertiza GitHub pull request

Previous team's wiki write-up

Previous team's implementation video walkthrough