CSC/ECE 517 Sping 2023 - E2322: Refactor Questionnaire View to display Bookmark Rating

From Expertiza_Wiki
Revision as of 01:45, 20 March 2023 by Mtatigo (talk | contribs)
Jump to navigation Jump to search

Expertiza

Expertiza is a Ruby on Rails based open source project. Instructors have the ability to add new projects, assignments, etc., as well as edit existing ones. Later on, they can view student submissions and grade them. Students can also use Expertiza to organize into teams to work on a different projects and assignments and submit their work. They can also review other students' submissions.

Questionnaires Controller

Questionnaire is the superclass for all types of questionnaires and rubrics. We can create, display, and manage questionnaires using this controller. Expertiza allows users to create a variety of questionnaires, including reviews, metareviews, teammate reviews, assignments, global surveys, course surveys, and bookmark ratings.

Problem Statement

The following tasks were accomplished in this project:

  • Refactoring the methods doing multiple tasks and breaking them in different modules.
  • Refactoring duplicate code into a single method.
  • Add comments to methods and complex lines of code.
  • Try to fix issues from Code Climate.

Files Modified

Below are the files we changed as part of refactoring

Bookmarks Controller
Questionnaire Node
Questionnaire Type Node

Refactoring

Testing Plan

Testing From UI

Automated Testing with RSpec

For most of our changes we did not have to create new test cases or modified exiting test cases for all the functionalities that we have been modifying. After refactoring we run the test cases in respective files.

Below is the screenshot of the result after running the test cases.

Team

Mentor
  • Kartiki Bhandakkar
  • Divyang Doshi
Members
  • Mithila Reddy Tatigotla, mtatigo
  • Vineeth Dasi, vdasi
  • kalyan Karnati, kkarnat

References

  1. Expertiza
  2. Expertiza GitHub
  3. Pull Request to Merge
  4. Deployed Changes Userid - instructor6 and Password - password
  5. GitHub Project Board