UBCO-COSC499-Summer-2024 / team-1-capstone-gradefalcon

Starter structure for projects
Other
3 stars 0 forks source link

Implement Dynamic Question Statistics Table in Exam Details Page #293

Closed oankit closed 3 months ago

oankit commented 3 months ago

Description

This PR introduces the QuestionsTable component to the ExamDetails page, providing detailed insights into the response distribution for each question within an exam. The table dynamically adjusts to display only the options (A, B, C, D, E) that were actually selected by students, ensuring a clear and concise representation of the data.

Key Features:

  1. Dynamic Question Statistics Table:

    • The QuestionsTable component is integrated into the ExamDetails page.
    • It displays the percentage of students who selected each response option (A, B, C, D, E) for every question in the exam.
    • The table only includes columns for response options that were used in the exam, omitting unused options for a cleaner presentation.
  2. Drawer Integration for Easy Access:

    • The QuestionsTable is accessible via a drawer that can be triggered from the ExamDetails page.
    • Users can view the response distribution by clicking on the "View Question Distribution" button, which opens the drawer containing the table.
  3. Multi-Select Filtering:

    • Users can filter the questions displayed in the QuestionsTable using a multi-select dropdown, allowing for focused analysis on specific questions.
    • The dropdown supports selecting up to 10 questions simultaneously.
  4. Data Fetching and Handling:

    • Exam details, including the question statistics, are fetched from the backend using secure API calls.
    • The backend processes the student responses and calculates the percentage distribution for each response option, ensuring accurate and reliable data.
  5. Responsive Design:

    • The QuestionsTable is built to be responsive, fitting well within the layout of the ExamDetails page and adapting to various screen sizes.

Backend Enhancements:

UI/UX Improvements:

Type of change

How Has This Been Tested?

Manual and visual verification

Checklist: