CSC/ECE 517 Spring 2023 - E2320. Reimplement the Question Hierarchy

From Expertiza_Wiki
Revision as of 22:10, 5 April 2023 by Kjones15 (talk | contribs) (Added ack. and references)
Jump to navigation Jump to search

Design Doc

Problem Statement

The current implementation of the question hierarchy is not very clean and contains confusing variable and method names. Also, many methods return long HTML strings which are difficult to read. The goal of this project is to reimplement this part of the application to make it more readable, understandable and maintainable.

Explanation of Feature - Question Hierarchy

The Question class and its sub-classes are used to implement all rubric items, quiz questions, and survey questions in Expertiza. For example, a professor could use this feature to make up a review quiz for their class.

Here is the hierarchy:

1. Choice question

  • Scored question
    • Scale
    • Criterion
  • Unscored question
    • Dropdown
    • Multiple Choice
    • Check Box

2. Text Response

  • Text Area
  • Text Field

3. Upload File

List of Work Done so Far

The following list describes tasks that were accomplished in Program 3:

  • Improved naming of variables and methods
  • Included comments for further clarification
  • Implemented partials to deal with the HTML strings
  • Added RSpec test cases

Plan of work

Based on the feedback provided to us by both our mentors and also peer reviews our team has decided upon a few key design goals to work on for the continuation of our work into Program 4. These goals are outlined below.

Design Goals

  • Update code comments - Some methods and classes currently do not have any code comments, while other comments are not in depth enough to give proper context for functionality. One of our design goals will be to write more in depth comments that better explain functionality for the code.
  • DRY out code with partials - Implement additional partials for certain classes. Ex: Question_Controller

Tests

Conclusions / Future Work

Specific Tasks Completed

[Will be updated near final submission deadline]

Team

Mentor
  • Prof. Edward F. Gehringer
  • Priyam Garg
Members
  • Colleen Britt
  • Kimberly Jones
  • Priyanka Arghode

References

  1. Expertiza
  2. Organizing Partials
  3. Render Views and Partials Outside Controllers
  4. Github Repo
  5. Link to initial pull request
  6. GitHub Project Board