<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sphurthy</id>
	<title>Expertiza_Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sphurthy"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Sphurthy"/>
	<updated>2026-05-18T10:07:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=159658</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=159658"/>
		<updated>2024-11-18T02:53:37Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* UI Mockups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
===Design Patterns===&lt;br /&gt;
* Single Responsibility Principle (SRP): Each UI component will be designed to handle a specific function, like filtering or bulk actions, to keep the interface modular.&lt;br /&gt;
* Interface Segregation Principle (ISP): Each feature (e.g., filtering, user actions) will be separated into focused modules, ensuring organized functionality and clear dependencies.&lt;br /&gt;
* DRY Principle: Common features like filters, icons, and spacing will be centralized in reusable components to avoid redundancy in the UI code.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=159657</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=159657"/>
		<updated>2024-11-18T02:53:26Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
===Design Patterns===&lt;br /&gt;
* Single Responsibility Principle (SRP): Each UI component will be designed to handle a specific function, like filtering or bulk actions, to keep the interface modular.&lt;br /&gt;
* Interface Segregation Principle (ISP): Each feature (e.g., filtering, user actions) will be separated into focused modules, ensuring organized functionality and clear dependencies.&lt;br /&gt;
* DRY Principle: Common features like filters, icons, and spacing will be centralized in reusable components to avoid redundancy in the UI code.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=159656</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=159656"/>
		<updated>2024-11-18T02:53:17Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* UI Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
===Design Patterns===&lt;br /&gt;
* Single Responsibility Principle (SRP): Each UI component will be designed to handle a specific function, like filtering or bulk actions, to keep the interface modular.&lt;br /&gt;
* Interface Segregation Principle (ISP): Each feature (e.g., filtering, user actions) will be separated into focused modules, ensuring organized functionality and clear dependencies.&lt;br /&gt;
* DRY Principle: Common features like filters, icons, and spacing will be centralized in reusable components to avoid redundancy in the UI code.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=159655</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=159655"/>
		<updated>2024-11-18T02:53:03Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* UI Mockups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
===Design Patterns===&lt;br /&gt;
* Single Responsibility Principle (SRP): Each UI component will be designed to handle a specific function, like filtering or bulk actions, to keep the interface modular.&lt;br /&gt;
* Interface Segregation Principle (ISP): Each feature (e.g., filtering, user actions) will be separated into focused modules, ensuring organized functionality and clear dependencies.&lt;br /&gt;
* DRY Principle: Common features like filters, icons, and spacing will be centralized in reusable components to avoid redundancy in the UI code.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158965</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158965"/>
		<updated>2024-11-12T02:31:27Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* 6.1 Manual UI Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158960</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158960"/>
		<updated>2024-11-12T02:30:12Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Important Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158931</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158931"/>
		<updated>2024-11-12T00:53:30Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Improved User Search and Sorting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158930</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158930"/>
		<updated>2024-11-12T00:53:12Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Enhanced User Actions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
&lt;br /&gt;
[[File: 3_4_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158929</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158929"/>
		<updated>2024-11-12T00:52:41Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Advanced Filtering Options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
[[File: 3_3_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
&lt;br /&gt;
[[File: 3_4_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:3_4_1.png&amp;diff=158928</id>
		<title>File:3 4 1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:3_4_1.png&amp;diff=158928"/>
		<updated>2024-11-12T00:49:38Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158927</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158927"/>
		<updated>2024-11-12T00:49:24Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Sequence Diagram for Enhanced User Actions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
[[File: 3_2_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
[[File: 3_3_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
&lt;br /&gt;
[[File: 3_4_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158926</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158926"/>
		<updated>2024-11-12T00:48:09Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* UI Enhancements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
[[File: 3_2_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
[[File: 3_3_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158925</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158925"/>
		<updated>2024-11-12T00:41:34Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Sequence Diagram for Enhanced User Actions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_2.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
[[File: 3_2_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
[[File: 3_3_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:3_3_1.png&amp;diff=158924</id>
		<title>File:3 3 1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:3_3_1.png&amp;diff=158924"/>
		<updated>2024-11-12T00:40:47Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158923</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158923"/>
		<updated>2024-11-12T00:39:54Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Sequence Diagram for Filtering Options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_2.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
[[File: 3_2_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:3_2_1.png&amp;diff=158922</id>
		<title>File:3 2 1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:3_2_1.png&amp;diff=158922"/>
		<updated>2024-11-12T00:39:06Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158921</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158921"/>
		<updated>2024-11-12T00:38:18Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* UI Enhancements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_2.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158920</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158920"/>
		<updated>2024-11-12T00:38:09Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* UI Enhancements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_2.png| 400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158919</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158919"/>
		<updated>2024-11-12T00:37:57Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* UI Enhancements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_2.png| 750px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158918</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158918"/>
		<updated>2024-11-12T00:37:46Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* UI Enhancements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_2.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:3_1_2.png&amp;diff=158917</id>
		<title>File:3 1 2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:3_1_2.png&amp;diff=158917"/>
		<updated>2024-11-12T00:36:17Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158916</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158916"/>
		<updated>2024-11-12T00:36:04Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* UI Enhancements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
[[File: 3_1_2.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158915</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158915"/>
		<updated>2024-11-12T00:34:44Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Sequence Diagram for Layout Change */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158914</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158914"/>
		<updated>2024-11-12T00:34:23Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Sequence Diagram for Layout Change */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.png| 1000px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158913</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158913"/>
		<updated>2024-11-12T00:33:22Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Sequence Diagram for Layout Change */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File: 3_1_1.jpg | 1000px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158910</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158910"/>
		<updated>2024-11-12T00:32:04Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Sequence Diagram for Layout Change */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File:3_1_1.jpg]]&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:3_1_1.png&amp;diff=158909</id>
		<title>File:3 1 1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:3_1_1.png&amp;diff=158909"/>
		<updated>2024-11-12T00:31:46Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158908</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158908"/>
		<updated>2024-11-12T00:30:52Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Sequence Diagram for Layout Change */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
[[File:3_1.jpg]]&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:3_1.png&amp;diff=158907</id>
		<title>File:3 1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:3_1.png&amp;diff=158907"/>
		<updated>2024-11-12T00:30:01Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: Sphurthy uploaded a new version of File:3 1.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158906</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158906"/>
		<updated>2024-11-12T00:24:41Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Project Goals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
===Project Goals===&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158905</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158905"/>
		<updated>2024-11-12T00:24:09Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Members */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
==Project Goals==&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Josh Kersey &amp;lt;jkersey@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158904</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158904"/>
		<updated>2024-11-12T00:23:30Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Test Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
==Project Goals==&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
*Summarize the improvements, emphasizing the cleaner design, enhanced filtering capabilities, and improved user experience.&lt;br /&gt;
*Highlight the importance of responsive design and ease of use for instructors and administrators managing large classes.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Aditi Killedar &amp;lt;akilled@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158903</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158903"/>
		<updated>2024-11-12T00:23:08Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Design Patterns and Principles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
==Project Goals==&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Future Enhancements==&lt;br /&gt;
&lt;br /&gt;
*Advanced Search Criteria: Introduce multi-parameter search for more complex filtering.&lt;br /&gt;
*User-Specific Settings: Allow users to save preferred column visibility settings.&lt;br /&gt;
*Detailed Statistics: Provide analytics on participation, submission rates, etc., to give instructors a quick overview of assignment engagement.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Component Design and Structure:&amp;lt;/b&amp;gt; Design and organize React components to effectively support the Student Task List page, ensuring clarity and modularity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Review the modular design of key components (e.g., header, task list, individual task items) for scalability and reusability.&lt;br /&gt;
* Check each component for proper structure and verify that all necessary information is displayed as expected.&lt;br /&gt;
* Confirm each component renders correctly within the overall page layout.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Task List Display:&amp;lt;/b&amp;gt; Implement functionality to accurately fetch and display assignments within the task list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm that the task list properly renders each fetched assignment.&lt;br /&gt;
* Test for infinite scrolling, if needed, to handle extensive assignment lists smoothly.&lt;br /&gt;
* Verify that loading indicators or placeholders appear while data is loading, ensuring user feedback during fetch operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Filter Assignments:&amp;lt;/b&amp;gt; Ensure that the task list filters assignments to show only those relevant to the current user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm the task list is correctly filtered based on the User ID, displaying only applicable assignments for the user.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Aditi Killedar &amp;lt;akilled@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158902</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158902"/>
		<updated>2024-11-12T00:22:41Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Files created/modified */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
==Project Goals==&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
===6.1 Manual UI Testing===&lt;br /&gt;
Outline step-by-step test cases for manually verifying each UI component:&lt;br /&gt;
*User Search: Enter various criteria to check search functionality.&lt;br /&gt;
*Role Filter: Select different roles and verify displayed results.&lt;br /&gt;
*Bulk Actions: Select multiple users and apply actions to confirm functionality&lt;br /&gt;
&lt;br /&gt;
==Design Patterns and Principles==&lt;br /&gt;
&lt;br /&gt;
Design patterns and principles are fundamental concepts that help developers create clean, scalable, and maintainable code. They guide the design of software structures and improve development efficiency, as they provide solutions to common problems and offer a vocabulary for communication within development teams. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Open/Closed Principle (OCP):&amp;lt;/b&amp;gt; Software entities should be open for extension but closed for modification, allowing new functionality without altering existing code. It ensures modularity and reusability, which aligns with the goal of designing React components for different sections of the Student Task List page. The existing code was just altered by adding additional features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Don't Repeat Yourself (DRY):&amp;lt;/b&amp;gt;Avoid duplicating code. When functionality or logic repeats, it's better to refactor it into reusable functions, classes, or modules. The StudentTaskHome and StudentTasksBox components have all the required code and have been refactored to make it reusable.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Component Design and Structure:&amp;lt;/b&amp;gt; Design and organize React components to effectively support the Student Task List page, ensuring clarity and modularity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Review the modular design of key components (e.g., header, task list, individual task items) for scalability and reusability.&lt;br /&gt;
* Check each component for proper structure and verify that all necessary information is displayed as expected.&lt;br /&gt;
* Confirm each component renders correctly within the overall page layout.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Task List Display:&amp;lt;/b&amp;gt; Implement functionality to accurately fetch and display assignments within the task list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm that the task list properly renders each fetched assignment.&lt;br /&gt;
* Test for infinite scrolling, if needed, to handle extensive assignment lists smoothly.&lt;br /&gt;
* Verify that loading indicators or placeholders appear while data is loading, ensuring user feedback during fetch operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Filter Assignments:&amp;lt;/b&amp;gt; Ensure that the task list filters assignments to show only those relevant to the current user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm the task list is correctly filtered based on the User ID, displaying only applicable assignments for the user.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Aditi Killedar &amp;lt;akilled@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158901</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158901"/>
		<updated>2024-11-12T00:21:55Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
==Project Goals==&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Implementation Plan==&lt;br /&gt;
===Frontend Modifications===&lt;br /&gt;
*List specific files to modify (e.g., ParticipantsTable.tsx, AssignmentParticipants.tsx) with high-level explanations of changes in each.&lt;br /&gt;
*Detail CSS changes for improved spacing and responsiveness, including media queries for adaptive design.&lt;br /&gt;
&lt;br /&gt;
==Files created/modified==&lt;br /&gt;
* src/App.tsx (Modified) - This file was changed to point to the new implementation of the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasksHome.tsx (New File) - This file was created to handle the content of task table in the Student Tasks page.&lt;br /&gt;
  &lt;br /&gt;
* src/pages/StudentTasks/StudentTaskBox.tsx (New File) - This file was created to handle the content of the yellow task box in the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasks.module.css (New File) - This file was created to handle the styling of the tasks table.&lt;br /&gt;
 &lt;br /&gt;
* src/pages/StudentTasks/StudentTasksBox.module.css (New File) - This file was created to handle the styling of the yellow task box.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/testData.json (New File) - This file was created to store the dummy data for our implementation.&lt;br /&gt;
&lt;br /&gt;
==Design Patterns and Principles==&lt;br /&gt;
&lt;br /&gt;
Design patterns and principles are fundamental concepts that help developers create clean, scalable, and maintainable code. They guide the design of software structures and improve development efficiency, as they provide solutions to common problems and offer a vocabulary for communication within development teams. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Open/Closed Principle (OCP):&amp;lt;/b&amp;gt; Software entities should be open for extension but closed for modification, allowing new functionality without altering existing code. It ensures modularity and reusability, which aligns with the goal of designing React components for different sections of the Student Task List page. The existing code was just altered by adding additional features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Don't Repeat Yourself (DRY):&amp;lt;/b&amp;gt;Avoid duplicating code. When functionality or logic repeats, it's better to refactor it into reusable functions, classes, or modules. The StudentTaskHome and StudentTasksBox components have all the required code and have been refactored to make it reusable.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Component Design and Structure:&amp;lt;/b&amp;gt; Design and organize React components to effectively support the Student Task List page, ensuring clarity and modularity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Review the modular design of key components (e.g., header, task list, individual task items) for scalability and reusability.&lt;br /&gt;
* Check each component for proper structure and verify that all necessary information is displayed as expected.&lt;br /&gt;
* Confirm each component renders correctly within the overall page layout.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Task List Display:&amp;lt;/b&amp;gt; Implement functionality to accurately fetch and display assignments within the task list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm that the task list properly renders each fetched assignment.&lt;br /&gt;
* Test for infinite scrolling, if needed, to handle extensive assignment lists smoothly.&lt;br /&gt;
* Verify that loading indicators or placeholders appear while data is loading, ensuring user feedback during fetch operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Filter Assignments:&amp;lt;/b&amp;gt; Ensure that the task list filters assignments to show only those relevant to the current user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm the task list is correctly filtered based on the User ID, displaying only applicable assignments for the user.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Aditi Killedar &amp;lt;akilled@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158900</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158900"/>
		<updated>2024-11-12T00:19:13Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
==Project Goals==&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==UI Mockups==&lt;br /&gt;
*TODO: Provide side-by-side comparisons of the &amp;quot;Before&amp;quot; and &amp;quot;After&amp;quot; versions of the UI for each proposed change.&lt;br /&gt;
*TODO: Include detailed mockups for each major section, showing examples of the streamlined layout, filtering options, icons, and tooltips.&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
*&amp;lt;b&amp;gt;App.tsx :&amp;lt;/b&amp;gt; The `App.tsx` file acts as the primary entry point for a React application, setting up routing, integrating various pages and components, and managing global states or contexts to enable seamless navigation and functionality across the app. We’ll be adding a protected route for &amp;quot;StudentTaskHome&amp;quot; to direct users with the STUDENT role to the `StudentTasksHome` component.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTasksBox.tsx :&amp;lt;/b&amp;gt; The StudentTaskbox.tsx file will display a sidebar component that emphasizes upcoming tasks, revisions, and team collaborations.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTaskHome.tsx :&amp;lt;/b&amp;gt; The StudentTaskHome.tsx file contains the main panel, presenting a comprehensive list of assignments with course information, topics, current stages, and other relevant details. This contains the dropdowns implemented in the main panel (table) for filtering based on the user's needs.&lt;br /&gt;
&lt;br /&gt;
==Files created/modified==&lt;br /&gt;
* src/App.tsx (Modified) - This file was changed to point to the new implementation of the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasksHome.tsx (New File) - This file was created to handle the content of task table in the Student Tasks page.&lt;br /&gt;
  &lt;br /&gt;
* src/pages/StudentTasks/StudentTaskBox.tsx (New File) - This file was created to handle the content of the yellow task box in the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasks.module.css (New File) - This file was created to handle the styling of the tasks table.&lt;br /&gt;
 &lt;br /&gt;
* src/pages/StudentTasks/StudentTasksBox.module.css (New File) - This file was created to handle the styling of the yellow task box.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/testData.json (New File) - This file was created to store the dummy data for our implementation.&lt;br /&gt;
&lt;br /&gt;
==Design Patterns and Principles==&lt;br /&gt;
&lt;br /&gt;
Design patterns and principles are fundamental concepts that help developers create clean, scalable, and maintainable code. They guide the design of software structures and improve development efficiency, as they provide solutions to common problems and offer a vocabulary for communication within development teams. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Open/Closed Principle (OCP):&amp;lt;/b&amp;gt; Software entities should be open for extension but closed for modification, allowing new functionality without altering existing code. It ensures modularity and reusability, which aligns with the goal of designing React components for different sections of the Student Task List page. The existing code was just altered by adding additional features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Don't Repeat Yourself (DRY):&amp;lt;/b&amp;gt;Avoid duplicating code. When functionality or logic repeats, it's better to refactor it into reusable functions, classes, or modules. The StudentTaskHome and StudentTasksBox components have all the required code and have been refactored to make it reusable.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Component Design and Structure:&amp;lt;/b&amp;gt; Design and organize React components to effectively support the Student Task List page, ensuring clarity and modularity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Review the modular design of key components (e.g., header, task list, individual task items) for scalability and reusability.&lt;br /&gt;
* Check each component for proper structure and verify that all necessary information is displayed as expected.&lt;br /&gt;
* Confirm each component renders correctly within the overall page layout.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Task List Display:&amp;lt;/b&amp;gt; Implement functionality to accurately fetch and display assignments within the task list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm that the task list properly renders each fetched assignment.&lt;br /&gt;
* Test for infinite scrolling, if needed, to handle extensive assignment lists smoothly.&lt;br /&gt;
* Verify that loading indicators or placeholders appear while data is loading, ensuring user feedback during fetch operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Filter Assignments:&amp;lt;/b&amp;gt; Ensure that the task list filters assignments to show only those relevant to the current user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm the task list is correctly filtered based on the User ID, displaying only applicable assignments for the user.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Aditi Killedar &amp;lt;akilled@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158898</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158898"/>
		<updated>2024-11-12T00:17:45Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Proposed Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
==Project Goals==&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
===Advanced Filtering Options===&lt;br /&gt;
*Filter by Role: Add filtering options at the top for user roles (e.g., Student, Instructor).&lt;br /&gt;
*Checkbox Filters: Implement checkboxes or dropdowns for &amp;quot;Yes/No&amp;quot; columns, enabling quick filtering based on permissions.&lt;br /&gt;
====Sequence Diagram for Filtering Options====&lt;br /&gt;
*In the current implementation we use dummy data along with filtering being done exclusively client-side, but the frontend would eventually be wired up to a backend for real-world usage where queries would be made for data matching filtering requirements.&lt;br /&gt;
*Implementation: (TODO: Provide details on modifying the frontend files, e.g., ParticipantsTable.tsx and AssignmentParticipants.tsx, and include mockups of the new filters)&lt;br /&gt;
&lt;br /&gt;
===Enhanced User Actions===&lt;br /&gt;
*Bulk Actions: Implement checkboxes for selecting multiple participants at once to enable bulk actions like &amp;quot;Remove&amp;quot; or &amp;quot;Change Role.&amp;quot;&lt;br /&gt;
*Clearer Labels: Replace ambiguous labels like &amp;quot;Handle&amp;quot; with descriptive action names or icons.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
*In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
*Implementation: (TODO: Provide details on how to integrate bulk actions into the frontend and how a backend would need to be implemented to handle this functionality)&lt;br /&gt;
&lt;br /&gt;
===Improved User Search and Sorting===&lt;br /&gt;
*Global Search: Add a search bar that allows filtering participants by name, email, or role.&lt;br /&gt;
*Column Sorting: Enable column sorting for easier navigation through participant data.&lt;br /&gt;
====Sequence Diagram for Enhanced User Actions====&lt;br /&gt;
In the current implementation we use dummy data, and all data manipulation is done via client-side state management (i.e. it resets on each new request for the page), but the frontend would eventually be wired up to a backend for real-world usage.&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
*List of participant results after a search query is made in the UI&lt;br /&gt;
*Results after a search query is made in the UI which comes back with no matching participants&lt;br /&gt;
*Results after sorting the participants list in the UI by their name in descending order&lt;br /&gt;
===Visual Hierarchy and Icons===&lt;br /&gt;
*Icons for Actions: Use icons for common actions, such as a trash icon for &amp;quot;Remove.&amp;quot;&lt;br /&gt;
*Role-Based Badges: Show roles with color-coded badges (e.g., &amp;quot;Student&amp;quot; in blue, &amp;quot;Instructor&amp;quot; in green).&lt;br /&gt;
*Status Indicators: Display indicators for completed actions, like a checkmark for &amp;quot;Review&amp;quot; or &amp;quot;Submission&amp;quot; status.&lt;br /&gt;
====UI Mockups====&lt;br /&gt;
TODO: Include mockups with icons and role-based badges for visual clarity&lt;br /&gt;
===Responsive Design===&lt;br /&gt;
Adaptive Column Visibility: Implement a responsive design where columns adapt based on screen size, hiding less essential columns on smaller screens.&lt;br /&gt;
====Implementation====&lt;br /&gt;
TODO: Outline the use of CSS media queries or a responsive framework for dynamic column display&lt;br /&gt;
===Tooltips and Help Icons===&lt;br /&gt;
*Tooltips: Add tooltips next to complex or ambiguous fields (e.g., &amp;quot;Metareview and Handle&amp;quot;) to provide brief explanations.&lt;br /&gt;
*Help Icons: Include help icons for columns with complex functionality.&lt;br /&gt;
====UI Example====&lt;br /&gt;
TODO: Provide screenshots or mockups showing tooltips and help icons&lt;br /&gt;
&lt;br /&gt;
==Database==&lt;br /&gt;
We prepared the database by cloning and configuring the reimplementation backend, adhering to the guidelines provided in the Backend Setup Instructions. We will be creating dummy assignment data for testing purposes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Sample of the Dummy data created &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Dummy_data_Student_Tasks_UI.jpg | 500px]]&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
*&amp;lt;b&amp;gt;App.tsx :&amp;lt;/b&amp;gt; The `App.tsx` file acts as the primary entry point for a React application, setting up routing, integrating various pages and components, and managing global states or contexts to enable seamless navigation and functionality across the app. We’ll be adding a protected route for &amp;quot;StudentTaskHome&amp;quot; to direct users with the STUDENT role to the `StudentTasksHome` component.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTasksBox.tsx :&amp;lt;/b&amp;gt; The StudentTaskbox.tsx file will display a sidebar component that emphasizes upcoming tasks, revisions, and team collaborations.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTaskHome.tsx :&amp;lt;/b&amp;gt; The StudentTaskHome.tsx file contains the main panel, presenting a comprehensive list of assignments with course information, topics, current stages, and other relevant details. This contains the dropdowns implemented in the main panel (table) for filtering based on the user's needs.&lt;br /&gt;
&lt;br /&gt;
==Files created/modified==&lt;br /&gt;
* src/App.tsx (Modified) - This file was changed to point to the new implementation of the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasksHome.tsx (New File) - This file was created to handle the content of task table in the Student Tasks page.&lt;br /&gt;
  &lt;br /&gt;
* src/pages/StudentTasks/StudentTaskBox.tsx (New File) - This file was created to handle the content of the yellow task box in the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasks.module.css (New File) - This file was created to handle the styling of the tasks table.&lt;br /&gt;
 &lt;br /&gt;
* src/pages/StudentTasks/StudentTasksBox.module.css (New File) - This file was created to handle the styling of the yellow task box.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/testData.json (New File) - This file was created to store the dummy data for our implementation.&lt;br /&gt;
&lt;br /&gt;
==Design Patterns and Principles==&lt;br /&gt;
&lt;br /&gt;
Design patterns and principles are fundamental concepts that help developers create clean, scalable, and maintainable code. They guide the design of software structures and improve development efficiency, as they provide solutions to common problems and offer a vocabulary for communication within development teams. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Open/Closed Principle (OCP):&amp;lt;/b&amp;gt; Software entities should be open for extension but closed for modification, allowing new functionality without altering existing code. It ensures modularity and reusability, which aligns with the goal of designing React components for different sections of the Student Task List page. The existing code was just altered by adding additional features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Don't Repeat Yourself (DRY):&amp;lt;/b&amp;gt;Avoid duplicating code. When functionality or logic repeats, it's better to refactor it into reusable functions, classes, or modules. The StudentTaskHome and StudentTasksBox components have all the required code and have been refactored to make it reusable.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Component Design and Structure:&amp;lt;/b&amp;gt; Design and organize React components to effectively support the Student Task List page, ensuring clarity and modularity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Review the modular design of key components (e.g., header, task list, individual task items) for scalability and reusability.&lt;br /&gt;
* Check each component for proper structure and verify that all necessary information is displayed as expected.&lt;br /&gt;
* Confirm each component renders correctly within the overall page layout.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Task List Display:&amp;lt;/b&amp;gt; Implement functionality to accurately fetch and display assignments within the task list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm that the task list properly renders each fetched assignment.&lt;br /&gt;
* Test for infinite scrolling, if needed, to handle extensive assignment lists smoothly.&lt;br /&gt;
* Verify that loading indicators or placeholders appear while data is loading, ensuring user feedback during fetch operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Filter Assignments:&amp;lt;/b&amp;gt; Ensure that the task list filters assignments to show only those relevant to the current user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm the task list is correctly filtered based on the User ID, displaying only applicable assignments for the user.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Aditi Killedar &amp;lt;akilled@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158895</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158895"/>
		<updated>2024-11-12T00:10:43Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Streamlined Layout and Spacing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
==Project Goals==&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
====UI Enhancements====&lt;br /&gt;
&lt;br /&gt;
UI with improvements to visual clarity, layout, and responsiveness&lt;br /&gt;
&lt;br /&gt;
==Database==&lt;br /&gt;
We prepared the database by cloning and configuring the reimplementation backend, adhering to the guidelines provided in the Backend Setup Instructions. We will be creating dummy assignment data for testing purposes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Sample of the Dummy data created &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Dummy_data_Student_Tasks_UI.jpg | 500px]]&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
*&amp;lt;b&amp;gt;App.tsx :&amp;lt;/b&amp;gt; The `App.tsx` file acts as the primary entry point for a React application, setting up routing, integrating various pages and components, and managing global states or contexts to enable seamless navigation and functionality across the app. We’ll be adding a protected route for &amp;quot;StudentTaskHome&amp;quot; to direct users with the STUDENT role to the `StudentTasksHome` component.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTasksBox.tsx :&amp;lt;/b&amp;gt; The StudentTaskbox.tsx file will display a sidebar component that emphasizes upcoming tasks, revisions, and team collaborations.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTaskHome.tsx :&amp;lt;/b&amp;gt; The StudentTaskHome.tsx file contains the main panel, presenting a comprehensive list of assignments with course information, topics, current stages, and other relevant details. This contains the dropdowns implemented in the main panel (table) for filtering based on the user's needs.&lt;br /&gt;
&lt;br /&gt;
==Files created/modified==&lt;br /&gt;
* src/App.tsx (Modified) - This file was changed to point to the new implementation of the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasksHome.tsx (New File) - This file was created to handle the content of task table in the Student Tasks page.&lt;br /&gt;
  &lt;br /&gt;
* src/pages/StudentTasks/StudentTaskBox.tsx (New File) - This file was created to handle the content of the yellow task box in the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasks.module.css (New File) - This file was created to handle the styling of the tasks table.&lt;br /&gt;
 &lt;br /&gt;
* src/pages/StudentTasks/StudentTasksBox.module.css (New File) - This file was created to handle the styling of the yellow task box.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/testData.json (New File) - This file was created to store the dummy data for our implementation.&lt;br /&gt;
&lt;br /&gt;
==Design Patterns and Principles==&lt;br /&gt;
&lt;br /&gt;
Design patterns and principles are fundamental concepts that help developers create clean, scalable, and maintainable code. They guide the design of software structures and improve development efficiency, as they provide solutions to common problems and offer a vocabulary for communication within development teams. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Open/Closed Principle (OCP):&amp;lt;/b&amp;gt; Software entities should be open for extension but closed for modification, allowing new functionality without altering existing code. It ensures modularity and reusability, which aligns with the goal of designing React components for different sections of the Student Task List page. The existing code was just altered by adding additional features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Don't Repeat Yourself (DRY):&amp;lt;/b&amp;gt;Avoid duplicating code. When functionality or logic repeats, it's better to refactor it into reusable functions, classes, or modules. The StudentTaskHome and StudentTasksBox components have all the required code and have been refactored to make it reusable.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Component Design and Structure:&amp;lt;/b&amp;gt; Design and organize React components to effectively support the Student Task List page, ensuring clarity and modularity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Review the modular design of key components (e.g., header, task list, individual task items) for scalability and reusability.&lt;br /&gt;
* Check each component for proper structure and verify that all necessary information is displayed as expected.&lt;br /&gt;
* Confirm each component renders correctly within the overall page layout.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Task List Display:&amp;lt;/b&amp;gt; Implement functionality to accurately fetch and display assignments within the task list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm that the task list properly renders each fetched assignment.&lt;br /&gt;
* Test for infinite scrolling, if needed, to handle extensive assignment lists smoothly.&lt;br /&gt;
* Verify that loading indicators or placeholders appear while data is loading, ensuring user feedback during fetch operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Filter Assignments:&amp;lt;/b&amp;gt; Ensure that the task list filters assignments to show only those relevant to the current user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm the task list is correctly filtered based on the User ID, displaying only applicable assignments for the user.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Aditi Killedar &amp;lt;akilled@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158894</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158894"/>
		<updated>2024-11-12T00:09:59Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Sequence Diagram for Layout Change */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
==Project Goals==&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
In the current implementation we use dummy data, but the frontend would eventually be wired up to a backend for real-world usage&lt;br /&gt;
&lt;br /&gt;
==Database==&lt;br /&gt;
We prepared the database by cloning and configuring the reimplementation backend, adhering to the guidelines provided in the Backend Setup Instructions. We will be creating dummy assignment data for testing purposes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Sample of the Dummy data created &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Dummy_data_Student_Tasks_UI.jpg | 500px]]&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
*&amp;lt;b&amp;gt;App.tsx :&amp;lt;/b&amp;gt; The `App.tsx` file acts as the primary entry point for a React application, setting up routing, integrating various pages and components, and managing global states or contexts to enable seamless navigation and functionality across the app. We’ll be adding a protected route for &amp;quot;StudentTaskHome&amp;quot; to direct users with the STUDENT role to the `StudentTasksHome` component.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTasksBox.tsx :&amp;lt;/b&amp;gt; The StudentTaskbox.tsx file will display a sidebar component that emphasizes upcoming tasks, revisions, and team collaborations.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTaskHome.tsx :&amp;lt;/b&amp;gt; The StudentTaskHome.tsx file contains the main panel, presenting a comprehensive list of assignments with course information, topics, current stages, and other relevant details. This contains the dropdowns implemented in the main panel (table) for filtering based on the user's needs.&lt;br /&gt;
&lt;br /&gt;
==Files created/modified==&lt;br /&gt;
* src/App.tsx (Modified) - This file was changed to point to the new implementation of the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasksHome.tsx (New File) - This file was created to handle the content of task table in the Student Tasks page.&lt;br /&gt;
  &lt;br /&gt;
* src/pages/StudentTasks/StudentTaskBox.tsx (New File) - This file was created to handle the content of the yellow task box in the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasks.module.css (New File) - This file was created to handle the styling of the tasks table.&lt;br /&gt;
 &lt;br /&gt;
* src/pages/StudentTasks/StudentTasksBox.module.css (New File) - This file was created to handle the styling of the yellow task box.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/testData.json (New File) - This file was created to store the dummy data for our implementation.&lt;br /&gt;
&lt;br /&gt;
==Design Patterns and Principles==&lt;br /&gt;
&lt;br /&gt;
Design patterns and principles are fundamental concepts that help developers create clean, scalable, and maintainable code. They guide the design of software structures and improve development efficiency, as they provide solutions to common problems and offer a vocabulary for communication within development teams. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Open/Closed Principle (OCP):&amp;lt;/b&amp;gt; Software entities should be open for extension but closed for modification, allowing new functionality without altering existing code. It ensures modularity and reusability, which aligns with the goal of designing React components for different sections of the Student Task List page. The existing code was just altered by adding additional features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Don't Repeat Yourself (DRY):&amp;lt;/b&amp;gt;Avoid duplicating code. When functionality or logic repeats, it's better to refactor it into reusable functions, classes, or modules. The StudentTaskHome and StudentTasksBox components have all the required code and have been refactored to make it reusable.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Component Design and Structure:&amp;lt;/b&amp;gt; Design and organize React components to effectively support the Student Task List page, ensuring clarity and modularity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Review the modular design of key components (e.g., header, task list, individual task items) for scalability and reusability.&lt;br /&gt;
* Check each component for proper structure and verify that all necessary information is displayed as expected.&lt;br /&gt;
* Confirm each component renders correctly within the overall page layout.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Task List Display:&amp;lt;/b&amp;gt; Implement functionality to accurately fetch and display assignments within the task list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm that the task list properly renders each fetched assignment.&lt;br /&gt;
* Test for infinite scrolling, if needed, to handle extensive assignment lists smoothly.&lt;br /&gt;
* Verify that loading indicators or placeholders appear while data is loading, ensuring user feedback during fetch operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Filter Assignments:&amp;lt;/b&amp;gt; Ensure that the task list filters assignments to show only those relevant to the current user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm the task list is correctly filtered based on the User ID, displaying only applicable assignments for the user.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Aditi Killedar &amp;lt;akilled@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158893</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158893"/>
		<updated>2024-11-12T00:09:09Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Streamlined Layout and Spacing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
==Project Goals==&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
Our updated UI replicates the functionality of the original page, now leveraging TypeScript's reliability alongside React's dynamic rendering. We prioritized building a responsive, accessible interface that aligns with modern design principles. We have also included certain features to make it easy for the student to manage their assignments.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Implementation Overview &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Database==&lt;br /&gt;
We prepared the database by cloning and configuring the reimplementation backend, adhering to the guidelines provided in the Backend Setup Instructions. We will be creating dummy assignment data for testing purposes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Sample of the Dummy data created &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Dummy_data_Student_Tasks_UI.jpg | 500px]]&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
*&amp;lt;b&amp;gt;App.tsx :&amp;lt;/b&amp;gt; The `App.tsx` file acts as the primary entry point for a React application, setting up routing, integrating various pages and components, and managing global states or contexts to enable seamless navigation and functionality across the app. We’ll be adding a protected route for &amp;quot;StudentTaskHome&amp;quot; to direct users with the STUDENT role to the `StudentTasksHome` component.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTasksBox.tsx :&amp;lt;/b&amp;gt; The StudentTaskbox.tsx file will display a sidebar component that emphasizes upcoming tasks, revisions, and team collaborations.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTaskHome.tsx :&amp;lt;/b&amp;gt; The StudentTaskHome.tsx file contains the main panel, presenting a comprehensive list of assignments with course information, topics, current stages, and other relevant details. This contains the dropdowns implemented in the main panel (table) for filtering based on the user's needs.&lt;br /&gt;
&lt;br /&gt;
==Files created/modified==&lt;br /&gt;
* src/App.tsx (Modified) - This file was changed to point to the new implementation of the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasksHome.tsx (New File) - This file was created to handle the content of task table in the Student Tasks page.&lt;br /&gt;
  &lt;br /&gt;
* src/pages/StudentTasks/StudentTaskBox.tsx (New File) - This file was created to handle the content of the yellow task box in the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasks.module.css (New File) - This file was created to handle the styling of the tasks table.&lt;br /&gt;
 &lt;br /&gt;
* src/pages/StudentTasks/StudentTasksBox.module.css (New File) - This file was created to handle the styling of the yellow task box.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/testData.json (New File) - This file was created to store the dummy data for our implementation.&lt;br /&gt;
&lt;br /&gt;
==Design Patterns and Principles==&lt;br /&gt;
&lt;br /&gt;
Design patterns and principles are fundamental concepts that help developers create clean, scalable, and maintainable code. They guide the design of software structures and improve development efficiency, as they provide solutions to common problems and offer a vocabulary for communication within development teams. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Open/Closed Principle (OCP):&amp;lt;/b&amp;gt; Software entities should be open for extension but closed for modification, allowing new functionality without altering existing code. It ensures modularity and reusability, which aligns with the goal of designing React components for different sections of the Student Task List page. The existing code was just altered by adding additional features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Don't Repeat Yourself (DRY):&amp;lt;/b&amp;gt;Avoid duplicating code. When functionality or logic repeats, it's better to refactor it into reusable functions, classes, or modules. The StudentTaskHome and StudentTasksBox components have all the required code and have been refactored to make it reusable.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Component Design and Structure:&amp;lt;/b&amp;gt; Design and organize React components to effectively support the Student Task List page, ensuring clarity and modularity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Review the modular design of key components (e.g., header, task list, individual task items) for scalability and reusability.&lt;br /&gt;
* Check each component for proper structure and verify that all necessary information is displayed as expected.&lt;br /&gt;
* Confirm each component renders correctly within the overall page layout.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Task List Display:&amp;lt;/b&amp;gt; Implement functionality to accurately fetch and display assignments within the task list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm that the task list properly renders each fetched assignment.&lt;br /&gt;
* Test for infinite scrolling, if needed, to handle extensive assignment lists smoothly.&lt;br /&gt;
* Verify that loading indicators or placeholders appear while data is loading, ensuring user feedback during fetch operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Filter Assignments:&amp;lt;/b&amp;gt; Ensure that the task list filters assignments to show only those relevant to the current user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm the task list is correctly filtered based on the User ID, displaying only applicable assignments for the user.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Aditi Killedar &amp;lt;akilled@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158892</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158892"/>
		<updated>2024-11-12T00:08:20Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
==Project Goals==&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Proposed Solution==&lt;br /&gt;
===Streamlined Layout and Spacing===&lt;br /&gt;
&lt;br /&gt;
*Column Organization: Group related columns (e.g., &amp;quot;Review,&amp;quot; &amp;quot;Submission&amp;quot;) under common headers to reduce visual clutter.&lt;br /&gt;
*Improved Spacing: Add padding and spacing between rows and columns to improve readability.&lt;br /&gt;
*Collapsible Sections: Add collapsible sections for rarely-used columns, allowing users to focus on essential information.&lt;br /&gt;
&lt;br /&gt;
====Sequence Diagram for Layout Change====&lt;br /&gt;
&lt;br /&gt;
Our updated UI replicates the functionality of the original page, now leveraging TypeScript's reliability alongside React's dynamic rendering. We prioritized building a responsive, accessible interface that aligns with modern design principles. We have also included certain features to make it easy for the student to manage their assignments.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Implementation Overview &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: New_Implementation_Assignments_Page.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Fetch and Display Data:&amp;lt;/b&amp;gt; The UI is designed with future live data integration in mind. Currently, we use structured placeholder data to mimic backend interactions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
*Defined TypeScript interfaces to model assignment data structures.&lt;br /&gt;
*Created mock data to simulate API responses for development.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. React Component Design:&amp;lt;/b&amp;gt; We developed modular React components like Header, TaskList, and TaskItem to improve code reusability and maintainability.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Legend &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We have included a legend on the right of the student task list, to improve clarity, allowing users to understand column meanings at a glance. This approach is more user-friendly than requiring users to hover over a small info icon, and it provides a cleaner, more streamlined interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
==== StudentTasksBox component ====&lt;br /&gt;
*Implementation of the StudentTasksBox component - [https://github.com/aditikilledar/reimplementation-front-end/blob/student-tasks-ui-f24/src/pages/StudentTasks/StudentTasksBox.tsx]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
const StudentTasksBox: React.FC&amp;lt;StudentTasksBoxProps&amp;gt; = ({ participantTasks, revisions, studentsTeamedWith }) =&amp;gt; {&lt;br /&gt;
    // Calculate total number of students teamed up with by iterating over each semester&lt;br /&gt;
    let totalStudents = 0;&lt;br /&gt;
    let allStudents: string[] = [];&lt;br /&gt;
    for (const semester in studentsTeamedWith) {&lt;br /&gt;
        // Add the number of students in each semester to the total count&lt;br /&gt;
        totalStudents += studentsTeamedWith[semester].length;&lt;br /&gt;
        allStudents = allStudents.concat(studentsTeamedWith[semester]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Calculate the number of revisions that are still pending (i.e., due date is in the future)&lt;br /&gt;
    const pendingRevisions = revisions.filter(revision =&amp;gt; getDaysLeft(revision.dueDate) &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
    const dueTasks = participantTasks.filter(task =&amp;gt; getDaysLeft(task.stageDeadline) &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
    // Group tasks by course&lt;br /&gt;
    const tasksByCourse: { [key: string]: typeof participantTasks } = {};&lt;br /&gt;
&lt;br /&gt;
    dueTasks.forEach(task =&amp;gt; {&lt;br /&gt;
        const courseName = task.course;&lt;br /&gt;
&lt;br /&gt;
        if (!tasksByCourse[courseName]) {&lt;br /&gt;
            tasksByCourse[courseName] = [];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        tasksByCourse[courseName].push(task);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    return (&lt;br /&gt;
        &amp;lt;div className={styles.container}&amp;gt;&lt;br /&gt;
            &amp;lt;h2&amp;gt;Task Summary&amp;lt;/h2&amp;gt;&lt;br /&gt;
            &amp;lt;div className={styles.infoBox}&amp;gt;&lt;br /&gt;
                &amp;lt;h5&amp;gt;Due:&amp;lt;/h5&amp;gt;&lt;br /&gt;
                {Object.entries(tasksByCourse).map(([course, tasks]) =&amp;gt; (&lt;br /&gt;
                    &amp;lt;div key={course}&amp;gt;&lt;br /&gt;
                        &amp;lt;p&amp;gt;{course}&amp;lt;/p&amp;gt;&lt;br /&gt;
                        &amp;lt;ul&amp;gt;&lt;br /&gt;
                            {tasks.map(task =&amp;gt; (&lt;br /&gt;
                                &amp;lt;li key={task.id}&amp;gt;&lt;br /&gt;
                                    {task.assignment} - Due: {task.stageDeadline}&lt;br /&gt;
                                &amp;lt;/li&amp;gt;&lt;br /&gt;
                            ))}&lt;br /&gt;
                        &amp;lt;/ul&amp;gt;&lt;br /&gt;
                    &amp;lt;/div&amp;gt;&lt;br /&gt;
                ))}&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;div className={styles.infoBox}&amp;gt;&lt;br /&gt;
                &amp;lt;h5&amp;gt;Revisions:&amp;lt;/h5&amp;gt;&lt;br /&gt;
                &amp;lt;ul&amp;gt;&lt;br /&gt;
                    {revisions.map((revision, index) =&amp;gt; (&lt;br /&gt;
                        &amp;lt;li key={index}&amp;gt;{revision.name}&amp;lt;/li&amp;gt;&lt;br /&gt;
                    ))}&lt;br /&gt;
                &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;div className={styles.infoBox}&amp;gt;&lt;br /&gt;
                &amp;lt;div className={styles.teamedStudents}&amp;gt;&lt;br /&gt;
                    &amp;lt;h5&amp;gt;Total Students Teamed With: {totalStudents}&amp;lt;/h5&amp;gt;&lt;br /&gt;
                    &amp;lt;ul&amp;gt;&lt;br /&gt;
                        {allStudents.map((student, index) =&amp;gt; (&lt;br /&gt;
                            &amp;lt;li key={index}&amp;gt;{student}&amp;lt;/li&amp;gt;&lt;br /&gt;
                        ))}&lt;br /&gt;
                    &amp;lt;/ul&amp;gt;&lt;br /&gt;
                &amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;New UI for StudentTasksBox Component&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: StudentTasksBox_Task Summary.jpg | 200px]]&lt;br /&gt;
[[File: StudentTasksBox_Revisions and Students Teamed With.jpg | 200px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== StudentTaskHome component ====&lt;br /&gt;
*Implementation of the StudentTaskHome component that handles the list of assignments along with filters (dropdowns). [https://github.com/aditikilledar/reimplementation-front-end/blob/student-tasks-ui-f24/src/pages/StudentTasks/StudentTaskHome.tsx]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
const StudentTasksHome: React.FC = () =&amp;gt; {&lt;br /&gt;
    // init state and hooks&lt;br /&gt;
    const currUserId = testData.current_user_id;&lt;br /&gt;
    const dispatch = useDispatch();&lt;br /&gt;
    const navigate = useNavigate();&lt;br /&gt;
    const auth = useSelector((state: RootState) =&amp;gt; state.authentication)&lt;br /&gt;
&lt;br /&gt;
    type StudentsTeamedWith = {&lt;br /&gt;
        [semester: string]: string[];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    // states to hold tasks&lt;br /&gt;
    const taskRevisions = testData.revisions;&lt;br /&gt;
    const participantTasks = testData.participantTasks;&lt;br /&gt;
    console.log(&amp;quot;participantTasks&amp;quot;, participantTasks)&lt;br /&gt;
&lt;br /&gt;
    const [tasks, setTasks] = useState&amp;lt;Task[]&amp;gt;([]);&lt;br /&gt;
    const dueTasks = testData.dueTasks;&lt;br /&gt;
    const studentsTeamedWith: StudentsTeamedWith = testData.studentsTeamedWith;&lt;br /&gt;
    const [filteredTasks, setFilteredTasks] = useState&amp;lt;Task[]&amp;gt;([]);&lt;br /&gt;
&lt;br /&gt;
    const [assignmentFilter, setAssignmentFilter] = useState('');&lt;br /&gt;
    const [courseFilter, setCourseFilter] = useState('');&lt;br /&gt;
    const [topicFilter, setTopicFilter] = useState('');&lt;br /&gt;
    const [currentstageFilter, setCurrentStageFilter] = useState('');&lt;br /&gt;
&lt;br /&gt;
    function togglePublishingRights(id: number): void {&lt;br /&gt;
        throw new Error('Function not implemented.');&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    let totalStudents = 0;&lt;br /&gt;
    let allStudents: string[] = [];&lt;br /&gt;
    for (const semester in studentsTeamedWith) {&lt;br /&gt;
        // Add the number of students in each semester to the total count&lt;br /&gt;
        totalStudents += studentsTeamedWith[semester].length;&lt;br /&gt;
        allStudents = allStudents.concat(studentsTeamedWith[semester]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    useEffect(() =&amp;gt; {&lt;br /&gt;
        // Map the data from participationTasks to the tasks state&lt;br /&gt;
        const mappedTasks = participantTasks.map(task =&amp;gt; ({&lt;br /&gt;
            id: task.id,&lt;br /&gt;
            assignment: task.assignment,&lt;br /&gt;
            course: task.course,&lt;br /&gt;
            topic: task.topic,&lt;br /&gt;
            currentStage: task.current_stage, // Adjust to match your data's structure&lt;br /&gt;
            reviewGrade: task.review_grade, // Can be a string or an object&lt;br /&gt;
            badges: task.badges, // Keep as is since it can be string or boolean&lt;br /&gt;
            stageDeadline: task.stage_deadline, // Adjust to match your data's structure&lt;br /&gt;
            publishingRights: task.publishing_rights, // Boolean type&lt;br /&gt;
        }));&lt;br /&gt;
&lt;br /&gt;
        setTasks(mappedTasks);&lt;br /&gt;
        setFilteredTasks(mappedTasks);&lt;br /&gt;
    }, [participantTasks]);&lt;br /&gt;
&lt;br /&gt;
    console.log(&amp;quot;after use effect:&amp;quot;, participantTasks)&lt;br /&gt;
&lt;br /&gt;
    useEffect(() =&amp;gt; {&lt;br /&gt;
        const filtered = tasks.filter((task) =&amp;gt;&lt;br /&gt;
            (assignmentFilter ? task.assignment === assignmentFilter : true) &amp;amp;&amp;amp;&lt;br /&gt;
            (courseFilter ? task.course === courseFilter : true) &amp;amp;&amp;amp;&lt;br /&gt;
            (topicFilter ? task.topic === topicFilter : true) &amp;amp;&amp;amp;&lt;br /&gt;
            (currentstageFilter ? task.topic == currentstageFilter : true)&lt;br /&gt;
        );&lt;br /&gt;
        setFilteredTasks(filtered);&lt;br /&gt;
    }, [assignmentFilter, courseFilter, topicFilter, currentstageFilter, tasks]);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;New UI for StudentTaskHome Component&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File: StudentTaskHome.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Table Filtering:&amp;lt;/b&amp;gt; The columns in the table are provided with filters enabling the user to search for what they want. The drop downs are provided for the columns: assignments, course, topic and current stage. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
* Added the feature for filtering out tasks in the table by including the filteredtasks component in the StudentTasksHome.tsx file. &lt;br /&gt;
* The corresponding formatting for the same included in the StudentTasks.module.css file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;4. Error and Edge Case Handling:&amp;lt;/b&amp;gt; Comprehensive error handling and edge case handling strategies were implemented to provide informative feedback for failed requests or empty datasets.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5. Responsive and Accessible Design:&amp;lt;/b&amp;gt; The page implemented is fully responsive on all devices (desktop, tablet, mobile) and meets accessibility standards, including ARIA roles, ensuring a seamless and inclusive experience for all students, regardless of their device or abilities.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;6. Testing and Validation:&amp;lt;/b&amp;gt; The testing phase of the project involves a manual testing process to ensure the student task view list functions reliably.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
*Carrying out a detailed manual review of each task item to confirm they display accurate information, ensuring visual indicators match the design specifications.&lt;br /&gt;
*Simulating user interactions manually to verify that component links and buttons function correctly, confirming that all elements respond as expected.&lt;br /&gt;
*Evaluating visual feedback elements like hover and active states to ensure they align with the project's usability standards.&lt;br /&gt;
&lt;br /&gt;
These steps are intended to confirm the interface's cohesive functionality and reliability by interacting with the system from an end-user perspective. This hands-on approach enables quick correction of any inconsistencies and improvements to the user experience.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Login page for accessing the system&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Login_Page_Student_tasks_UI.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Navigate to the &amp;quot;Assignments&amp;quot; tab to view list of assignments&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: New_Implementation_Assignments_Page.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Major changes made: &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. We have included a legend to improve clarity, allowing users to understand column meanings at a glance. This approach is more user-friendly than requiring users to hover over a small info icon, and it provides a cleaner, more streamlined interface.&lt;br /&gt;
&lt;br /&gt;
2. We have split the task box into different parts making it easier for the user to view the Student Tasks Page.&lt;br /&gt;
&lt;br /&gt;
3. The Table containing the list of assignments have been provided with dropdowns for ease of access.&lt;br /&gt;
&lt;br /&gt;
==Database==&lt;br /&gt;
We prepared the database by cloning and configuring the reimplementation backend, adhering to the guidelines provided in the Backend Setup Instructions. We will be creating dummy assignment data for testing purposes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Sample of the Dummy data created &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Dummy_data_Student_Tasks_UI.jpg | 500px]]&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
*&amp;lt;b&amp;gt;App.tsx :&amp;lt;/b&amp;gt; The `App.tsx` file acts as the primary entry point for a React application, setting up routing, integrating various pages and components, and managing global states or contexts to enable seamless navigation and functionality across the app. We’ll be adding a protected route for &amp;quot;StudentTaskHome&amp;quot; to direct users with the STUDENT role to the `StudentTasksHome` component.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTasksBox.tsx :&amp;lt;/b&amp;gt; The StudentTaskbox.tsx file will display a sidebar component that emphasizes upcoming tasks, revisions, and team collaborations.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTaskHome.tsx :&amp;lt;/b&amp;gt; The StudentTaskHome.tsx file contains the main panel, presenting a comprehensive list of assignments with course information, topics, current stages, and other relevant details. This contains the dropdowns implemented in the main panel (table) for filtering based on the user's needs.&lt;br /&gt;
&lt;br /&gt;
==Files created/modified==&lt;br /&gt;
* src/App.tsx (Modified) - This file was changed to point to the new implementation of the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasksHome.tsx (New File) - This file was created to handle the content of task table in the Student Tasks page.&lt;br /&gt;
  &lt;br /&gt;
* src/pages/StudentTasks/StudentTaskBox.tsx (New File) - This file was created to handle the content of the yellow task box in the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasks.module.css (New File) - This file was created to handle the styling of the tasks table.&lt;br /&gt;
 &lt;br /&gt;
* src/pages/StudentTasks/StudentTasksBox.module.css (New File) - This file was created to handle the styling of the yellow task box.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/testData.json (New File) - This file was created to store the dummy data for our implementation.&lt;br /&gt;
&lt;br /&gt;
==Design Patterns and Principles==&lt;br /&gt;
&lt;br /&gt;
Design patterns and principles are fundamental concepts that help developers create clean, scalable, and maintainable code. They guide the design of software structures and improve development efficiency, as they provide solutions to common problems and offer a vocabulary for communication within development teams. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Open/Closed Principle (OCP):&amp;lt;/b&amp;gt; Software entities should be open for extension but closed for modification, allowing new functionality without altering existing code. It ensures modularity and reusability, which aligns with the goal of designing React components for different sections of the Student Task List page. The existing code was just altered by adding additional features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Don't Repeat Yourself (DRY):&amp;lt;/b&amp;gt;Avoid duplicating code. When functionality or logic repeats, it's better to refactor it into reusable functions, classes, or modules. The StudentTaskHome and StudentTasksBox components have all the required code and have been refactored to make it reusable.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Component Design and Structure:&amp;lt;/b&amp;gt; Design and organize React components to effectively support the Student Task List page, ensuring clarity and modularity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Review the modular design of key components (e.g., header, task list, individual task items) for scalability and reusability.&lt;br /&gt;
* Check each component for proper structure and verify that all necessary information is displayed as expected.&lt;br /&gt;
* Confirm each component renders correctly within the overall page layout.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Task List Display:&amp;lt;/b&amp;gt; Implement functionality to accurately fetch and display assignments within the task list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm that the task list properly renders each fetched assignment.&lt;br /&gt;
* Test for infinite scrolling, if needed, to handle extensive assignment lists smoothly.&lt;br /&gt;
* Verify that loading indicators or placeholders appear while data is loading, ensuring user feedback during fetch operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Filter Assignments:&amp;lt;/b&amp;gt; Ensure that the task list filters assignments to show only those relevant to the current user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm the task list is correctly filtered based on the User ID, displaying only applicable assignments for the user.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Aditi Killedar &amp;lt;akilled@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158891</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158891"/>
		<updated>2024-11-12T00:03:25Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
==Project Goals==&lt;br /&gt;
This project aims to redesign and improve the Assignment Participants Management UI by creating a cleaner, more streamlined, and user-friendly interface. The key objectives include:&lt;br /&gt;
*Enhancing readability and usability by restructuring the layout and adding more intuitive spacing.&lt;br /&gt;
*Extending functionality with advanced search and filtering options to allow multi-parameter searches, enabling instructors to locate specific participants more efficiently.&lt;br /&gt;
*Introducing bulk actions to minimize repetitive tasks and improve productivity.&lt;br /&gt;
*Improving visual hierarchy with icons, badges, and role-based indicators to make information more accessible at a glance.&lt;br /&gt;
*Ensuring responsiveness so that the interface adapts well across different screen sizes and devices.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
===Current Implementation (Ruby on Rails)===&lt;br /&gt;
&lt;br /&gt;
The existing interface on Expertiza, developed with Ruby on Rails, displays a student's task list with assignments, due dates, and progress indicators.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Current Implementation of Expertiza with Ruby on Rails &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Expertiza_current_implementation.jpg | 1000px]]&lt;br /&gt;
&lt;br /&gt;
===New Implementation (React JS &amp;amp; TypeScript)===&lt;br /&gt;
&lt;br /&gt;
Our updated UI replicates the functionality of the original page, now leveraging TypeScript's reliability alongside React's dynamic rendering. We prioritized building a responsive, accessible interface that aligns with modern design principles. We have also included certain features to make it easy for the student to manage their assignments.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Implementation Overview &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: New_Implementation_Assignments_Page.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Fetch and Display Data:&amp;lt;/b&amp;gt; The UI is designed with future live data integration in mind. Currently, we use structured placeholder data to mimic backend interactions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
*Defined TypeScript interfaces to model assignment data structures.&lt;br /&gt;
*Created mock data to simulate API responses for development.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. React Component Design:&amp;lt;/b&amp;gt; We developed modular React components like Header, TaskList, and TaskItem to improve code reusability and maintainability.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Legend &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We have included a legend on the right of the student task list, to improve clarity, allowing users to understand column meanings at a glance. This approach is more user-friendly than requiring users to hover over a small info icon, and it provides a cleaner, more streamlined interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
==== StudentTasksBox component ====&lt;br /&gt;
*Implementation of the StudentTasksBox component - [https://github.com/aditikilledar/reimplementation-front-end/blob/student-tasks-ui-f24/src/pages/StudentTasks/StudentTasksBox.tsx]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
const StudentTasksBox: React.FC&amp;lt;StudentTasksBoxProps&amp;gt; = ({ participantTasks, revisions, studentsTeamedWith }) =&amp;gt; {&lt;br /&gt;
    // Calculate total number of students teamed up with by iterating over each semester&lt;br /&gt;
    let totalStudents = 0;&lt;br /&gt;
    let allStudents: string[] = [];&lt;br /&gt;
    for (const semester in studentsTeamedWith) {&lt;br /&gt;
        // Add the number of students in each semester to the total count&lt;br /&gt;
        totalStudents += studentsTeamedWith[semester].length;&lt;br /&gt;
        allStudents = allStudents.concat(studentsTeamedWith[semester]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Calculate the number of revisions that are still pending (i.e., due date is in the future)&lt;br /&gt;
    const pendingRevisions = revisions.filter(revision =&amp;gt; getDaysLeft(revision.dueDate) &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
    const dueTasks = participantTasks.filter(task =&amp;gt; getDaysLeft(task.stageDeadline) &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
    // Group tasks by course&lt;br /&gt;
    const tasksByCourse: { [key: string]: typeof participantTasks } = {};&lt;br /&gt;
&lt;br /&gt;
    dueTasks.forEach(task =&amp;gt; {&lt;br /&gt;
        const courseName = task.course;&lt;br /&gt;
&lt;br /&gt;
        if (!tasksByCourse[courseName]) {&lt;br /&gt;
            tasksByCourse[courseName] = [];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        tasksByCourse[courseName].push(task);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    return (&lt;br /&gt;
        &amp;lt;div className={styles.container}&amp;gt;&lt;br /&gt;
            &amp;lt;h2&amp;gt;Task Summary&amp;lt;/h2&amp;gt;&lt;br /&gt;
            &amp;lt;div className={styles.infoBox}&amp;gt;&lt;br /&gt;
                &amp;lt;h5&amp;gt;Due:&amp;lt;/h5&amp;gt;&lt;br /&gt;
                {Object.entries(tasksByCourse).map(([course, tasks]) =&amp;gt; (&lt;br /&gt;
                    &amp;lt;div key={course}&amp;gt;&lt;br /&gt;
                        &amp;lt;p&amp;gt;{course}&amp;lt;/p&amp;gt;&lt;br /&gt;
                        &amp;lt;ul&amp;gt;&lt;br /&gt;
                            {tasks.map(task =&amp;gt; (&lt;br /&gt;
                                &amp;lt;li key={task.id}&amp;gt;&lt;br /&gt;
                                    {task.assignment} - Due: {task.stageDeadline}&lt;br /&gt;
                                &amp;lt;/li&amp;gt;&lt;br /&gt;
                            ))}&lt;br /&gt;
                        &amp;lt;/ul&amp;gt;&lt;br /&gt;
                    &amp;lt;/div&amp;gt;&lt;br /&gt;
                ))}&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;div className={styles.infoBox}&amp;gt;&lt;br /&gt;
                &amp;lt;h5&amp;gt;Revisions:&amp;lt;/h5&amp;gt;&lt;br /&gt;
                &amp;lt;ul&amp;gt;&lt;br /&gt;
                    {revisions.map((revision, index) =&amp;gt; (&lt;br /&gt;
                        &amp;lt;li key={index}&amp;gt;{revision.name}&amp;lt;/li&amp;gt;&lt;br /&gt;
                    ))}&lt;br /&gt;
                &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;div className={styles.infoBox}&amp;gt;&lt;br /&gt;
                &amp;lt;div className={styles.teamedStudents}&amp;gt;&lt;br /&gt;
                    &amp;lt;h5&amp;gt;Total Students Teamed With: {totalStudents}&amp;lt;/h5&amp;gt;&lt;br /&gt;
                    &amp;lt;ul&amp;gt;&lt;br /&gt;
                        {allStudents.map((student, index) =&amp;gt; (&lt;br /&gt;
                            &amp;lt;li key={index}&amp;gt;{student}&amp;lt;/li&amp;gt;&lt;br /&gt;
                        ))}&lt;br /&gt;
                    &amp;lt;/ul&amp;gt;&lt;br /&gt;
                &amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;New UI for StudentTasksBox Component&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: StudentTasksBox_Task Summary.jpg | 200px]]&lt;br /&gt;
[[File: StudentTasksBox_Revisions and Students Teamed With.jpg | 200px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== StudentTaskHome component ====&lt;br /&gt;
*Implementation of the StudentTaskHome component that handles the list of assignments along with filters (dropdowns). [https://github.com/aditikilledar/reimplementation-front-end/blob/student-tasks-ui-f24/src/pages/StudentTasks/StudentTaskHome.tsx]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
const StudentTasksHome: React.FC = () =&amp;gt; {&lt;br /&gt;
    // init state and hooks&lt;br /&gt;
    const currUserId = testData.current_user_id;&lt;br /&gt;
    const dispatch = useDispatch();&lt;br /&gt;
    const navigate = useNavigate();&lt;br /&gt;
    const auth = useSelector((state: RootState) =&amp;gt; state.authentication)&lt;br /&gt;
&lt;br /&gt;
    type StudentsTeamedWith = {&lt;br /&gt;
        [semester: string]: string[];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    // states to hold tasks&lt;br /&gt;
    const taskRevisions = testData.revisions;&lt;br /&gt;
    const participantTasks = testData.participantTasks;&lt;br /&gt;
    console.log(&amp;quot;participantTasks&amp;quot;, participantTasks)&lt;br /&gt;
&lt;br /&gt;
    const [tasks, setTasks] = useState&amp;lt;Task[]&amp;gt;([]);&lt;br /&gt;
    const dueTasks = testData.dueTasks;&lt;br /&gt;
    const studentsTeamedWith: StudentsTeamedWith = testData.studentsTeamedWith;&lt;br /&gt;
    const [filteredTasks, setFilteredTasks] = useState&amp;lt;Task[]&amp;gt;([]);&lt;br /&gt;
&lt;br /&gt;
    const [assignmentFilter, setAssignmentFilter] = useState('');&lt;br /&gt;
    const [courseFilter, setCourseFilter] = useState('');&lt;br /&gt;
    const [topicFilter, setTopicFilter] = useState('');&lt;br /&gt;
    const [currentstageFilter, setCurrentStageFilter] = useState('');&lt;br /&gt;
&lt;br /&gt;
    function togglePublishingRights(id: number): void {&lt;br /&gt;
        throw new Error('Function not implemented.');&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    let totalStudents = 0;&lt;br /&gt;
    let allStudents: string[] = [];&lt;br /&gt;
    for (const semester in studentsTeamedWith) {&lt;br /&gt;
        // Add the number of students in each semester to the total count&lt;br /&gt;
        totalStudents += studentsTeamedWith[semester].length;&lt;br /&gt;
        allStudents = allStudents.concat(studentsTeamedWith[semester]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    useEffect(() =&amp;gt; {&lt;br /&gt;
        // Map the data from participationTasks to the tasks state&lt;br /&gt;
        const mappedTasks = participantTasks.map(task =&amp;gt; ({&lt;br /&gt;
            id: task.id,&lt;br /&gt;
            assignment: task.assignment,&lt;br /&gt;
            course: task.course,&lt;br /&gt;
            topic: task.topic,&lt;br /&gt;
            currentStage: task.current_stage, // Adjust to match your data's structure&lt;br /&gt;
            reviewGrade: task.review_grade, // Can be a string or an object&lt;br /&gt;
            badges: task.badges, // Keep as is since it can be string or boolean&lt;br /&gt;
            stageDeadline: task.stage_deadline, // Adjust to match your data's structure&lt;br /&gt;
            publishingRights: task.publishing_rights, // Boolean type&lt;br /&gt;
        }));&lt;br /&gt;
&lt;br /&gt;
        setTasks(mappedTasks);&lt;br /&gt;
        setFilteredTasks(mappedTasks);&lt;br /&gt;
    }, [participantTasks]);&lt;br /&gt;
&lt;br /&gt;
    console.log(&amp;quot;after use effect:&amp;quot;, participantTasks)&lt;br /&gt;
&lt;br /&gt;
    useEffect(() =&amp;gt; {&lt;br /&gt;
        const filtered = tasks.filter((task) =&amp;gt;&lt;br /&gt;
            (assignmentFilter ? task.assignment === assignmentFilter : true) &amp;amp;&amp;amp;&lt;br /&gt;
            (courseFilter ? task.course === courseFilter : true) &amp;amp;&amp;amp;&lt;br /&gt;
            (topicFilter ? task.topic === topicFilter : true) &amp;amp;&amp;amp;&lt;br /&gt;
            (currentstageFilter ? task.topic == currentstageFilter : true)&lt;br /&gt;
        );&lt;br /&gt;
        setFilteredTasks(filtered);&lt;br /&gt;
    }, [assignmentFilter, courseFilter, topicFilter, currentstageFilter, tasks]);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;New UI for StudentTaskHome Component&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File: StudentTaskHome.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Table Filtering:&amp;lt;/b&amp;gt; The columns in the table are provided with filters enabling the user to search for what they want. The drop downs are provided for the columns: assignments, course, topic and current stage. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
* Added the feature for filtering out tasks in the table by including the filteredtasks component in the StudentTasksHome.tsx file. &lt;br /&gt;
* The corresponding formatting for the same included in the StudentTasks.module.css file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;4. Error and Edge Case Handling:&amp;lt;/b&amp;gt; Comprehensive error handling and edge case handling strategies were implemented to provide informative feedback for failed requests or empty datasets.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5. Responsive and Accessible Design:&amp;lt;/b&amp;gt; The page implemented is fully responsive on all devices (desktop, tablet, mobile) and meets accessibility standards, including ARIA roles, ensuring a seamless and inclusive experience for all students, regardless of their device or abilities.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;6. Testing and Validation:&amp;lt;/b&amp;gt; The testing phase of the project involves a manual testing process to ensure the student task view list functions reliably.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
*Carrying out a detailed manual review of each task item to confirm they display accurate information, ensuring visual indicators match the design specifications.&lt;br /&gt;
*Simulating user interactions manually to verify that component links and buttons function correctly, confirming that all elements respond as expected.&lt;br /&gt;
*Evaluating visual feedback elements like hover and active states to ensure they align with the project's usability standards.&lt;br /&gt;
&lt;br /&gt;
These steps are intended to confirm the interface's cohesive functionality and reliability by interacting with the system from an end-user perspective. This hands-on approach enables quick correction of any inconsistencies and improvements to the user experience.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Login page for accessing the system&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Login_Page_Student_tasks_UI.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Navigate to the &amp;quot;Assignments&amp;quot; tab to view list of assignments&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: New_Implementation_Assignments_Page.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Major changes made: &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. We have included a legend to improve clarity, allowing users to understand column meanings at a glance. This approach is more user-friendly than requiring users to hover over a small info icon, and it provides a cleaner, more streamlined interface.&lt;br /&gt;
&lt;br /&gt;
2. We have split the task box into different parts making it easier for the user to view the Student Tasks Page.&lt;br /&gt;
&lt;br /&gt;
3. The Table containing the list of assignments have been provided with dropdowns for ease of access.&lt;br /&gt;
&lt;br /&gt;
==Database==&lt;br /&gt;
We prepared the database by cloning and configuring the reimplementation backend, adhering to the guidelines provided in the Backend Setup Instructions. We will be creating dummy assignment data for testing purposes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Sample of the Dummy data created &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Dummy_data_Student_Tasks_UI.jpg | 500px]]&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
*&amp;lt;b&amp;gt;App.tsx :&amp;lt;/b&amp;gt; The `App.tsx` file acts as the primary entry point for a React application, setting up routing, integrating various pages and components, and managing global states or contexts to enable seamless navigation and functionality across the app. We’ll be adding a protected route for &amp;quot;StudentTaskHome&amp;quot; to direct users with the STUDENT role to the `StudentTasksHome` component.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTasksBox.tsx :&amp;lt;/b&amp;gt; The StudentTaskbox.tsx file will display a sidebar component that emphasizes upcoming tasks, revisions, and team collaborations.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTaskHome.tsx :&amp;lt;/b&amp;gt; The StudentTaskHome.tsx file contains the main panel, presenting a comprehensive list of assignments with course information, topics, current stages, and other relevant details. This contains the dropdowns implemented in the main panel (table) for filtering based on the user's needs.&lt;br /&gt;
&lt;br /&gt;
==Files created/modified==&lt;br /&gt;
* src/App.tsx (Modified) - This file was changed to point to the new implementation of the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasksHome.tsx (New File) - This file was created to handle the content of task table in the Student Tasks page.&lt;br /&gt;
  &lt;br /&gt;
* src/pages/StudentTasks/StudentTaskBox.tsx (New File) - This file was created to handle the content of the yellow task box in the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasks.module.css (New File) - This file was created to handle the styling of the tasks table.&lt;br /&gt;
 &lt;br /&gt;
* src/pages/StudentTasks/StudentTasksBox.module.css (New File) - This file was created to handle the styling of the yellow task box.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/testData.json (New File) - This file was created to store the dummy data for our implementation.&lt;br /&gt;
&lt;br /&gt;
==Design Patterns and Principles==&lt;br /&gt;
&lt;br /&gt;
Design patterns and principles are fundamental concepts that help developers create clean, scalable, and maintainable code. They guide the design of software structures and improve development efficiency, as they provide solutions to common problems and offer a vocabulary for communication within development teams. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Open/Closed Principle (OCP):&amp;lt;/b&amp;gt; Software entities should be open for extension but closed for modification, allowing new functionality without altering existing code. It ensures modularity and reusability, which aligns with the goal of designing React components for different sections of the Student Task List page. The existing code was just altered by adding additional features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Don't Repeat Yourself (DRY):&amp;lt;/b&amp;gt;Avoid duplicating code. When functionality or logic repeats, it's better to refactor it into reusable functions, classes, or modules. The StudentTaskHome and StudentTasksBox components have all the required code and have been refactored to make it reusable.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Component Design and Structure:&amp;lt;/b&amp;gt; Design and organize React components to effectively support the Student Task List page, ensuring clarity and modularity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Review the modular design of key components (e.g., header, task list, individual task items) for scalability and reusability.&lt;br /&gt;
* Check each component for proper structure and verify that all necessary information is displayed as expected.&lt;br /&gt;
* Confirm each component renders correctly within the overall page layout.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Task List Display:&amp;lt;/b&amp;gt; Implement functionality to accurately fetch and display assignments within the task list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm that the task list properly renders each fetched assignment.&lt;br /&gt;
* Test for infinite scrolling, if needed, to handle extensive assignment lists smoothly.&lt;br /&gt;
* Verify that loading indicators or placeholders appear while data is loading, ensuring user feedback during fetch operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Filter Assignments:&amp;lt;/b&amp;gt; Ensure that the task list filters assignments to show only those relevant to the current user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm the task list is correctly filtered based on the User ID, displaying only applicable assignments for the user.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Aditi Killedar &amp;lt;akilled@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158890</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158890"/>
		<updated>2024-11-12T00:02:13Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
== Problem Statement==&lt;br /&gt;
&lt;br /&gt;
===Issues with Current UI===&lt;br /&gt;
*Cluttered Layout: The current UI is dense, with little spacing between elements, making it hard to read and locate information.&lt;br /&gt;
*Limited Filtering Options: Filtering capabilities are minimal, making it challenging to find participants based on specific criteria.&lt;br /&gt;
*Inefficient User Actions: Actions like removing or updating participants must be done individually, resulting in repetitive tasks for instructors.&lt;br /&gt;
*Confusing Labels: Certain labels (like &amp;quot;Handle&amp;quot;) are unclear, leading to usability issues, creating confusion around functionality.&lt;br /&gt;
*Lack of Responsive Design: The current design does not adapt well to different screen sizes, reducing usability on smaller devices.&lt;br /&gt;
&lt;br /&gt;
This project will address these issues with a comprehensive redesign focused on improving the user experience for instructors and administrators managing assignments in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
===Current Implementation (Ruby on Rails)===&lt;br /&gt;
&lt;br /&gt;
The existing interface on Expertiza, developed with Ruby on Rails, displays a student's task list with assignments, due dates, and progress indicators.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Current Implementation of Expertiza with Ruby on Rails &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Expertiza_current_implementation.jpg | 1000px]]&lt;br /&gt;
&lt;br /&gt;
===New Implementation (React JS &amp;amp; TypeScript)===&lt;br /&gt;
&lt;br /&gt;
Our updated UI replicates the functionality of the original page, now leveraging TypeScript's reliability alongside React's dynamic rendering. We prioritized building a responsive, accessible interface that aligns with modern design principles. We have also included certain features to make it easy for the student to manage their assignments.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Implementation Overview &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: New_Implementation_Assignments_Page.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Fetch and Display Data:&amp;lt;/b&amp;gt; The UI is designed with future live data integration in mind. Currently, we use structured placeholder data to mimic backend interactions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
*Defined TypeScript interfaces to model assignment data structures.&lt;br /&gt;
*Created mock data to simulate API responses for development.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. React Component Design:&amp;lt;/b&amp;gt; We developed modular React components like Header, TaskList, and TaskItem to improve code reusability and maintainability.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Legend &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We have included a legend on the right of the student task list, to improve clarity, allowing users to understand column meanings at a glance. This approach is more user-friendly than requiring users to hover over a small info icon, and it provides a cleaner, more streamlined interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
==== StudentTasksBox component ====&lt;br /&gt;
*Implementation of the StudentTasksBox component - [https://github.com/aditikilledar/reimplementation-front-end/blob/student-tasks-ui-f24/src/pages/StudentTasks/StudentTasksBox.tsx]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
const StudentTasksBox: React.FC&amp;lt;StudentTasksBoxProps&amp;gt; = ({ participantTasks, revisions, studentsTeamedWith }) =&amp;gt; {&lt;br /&gt;
    // Calculate total number of students teamed up with by iterating over each semester&lt;br /&gt;
    let totalStudents = 0;&lt;br /&gt;
    let allStudents: string[] = [];&lt;br /&gt;
    for (const semester in studentsTeamedWith) {&lt;br /&gt;
        // Add the number of students in each semester to the total count&lt;br /&gt;
        totalStudents += studentsTeamedWith[semester].length;&lt;br /&gt;
        allStudents = allStudents.concat(studentsTeamedWith[semester]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Calculate the number of revisions that are still pending (i.e., due date is in the future)&lt;br /&gt;
    const pendingRevisions = revisions.filter(revision =&amp;gt; getDaysLeft(revision.dueDate) &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
    const dueTasks = participantTasks.filter(task =&amp;gt; getDaysLeft(task.stageDeadline) &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
    // Group tasks by course&lt;br /&gt;
    const tasksByCourse: { [key: string]: typeof participantTasks } = {};&lt;br /&gt;
&lt;br /&gt;
    dueTasks.forEach(task =&amp;gt; {&lt;br /&gt;
        const courseName = task.course;&lt;br /&gt;
&lt;br /&gt;
        if (!tasksByCourse[courseName]) {&lt;br /&gt;
            tasksByCourse[courseName] = [];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        tasksByCourse[courseName].push(task);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    return (&lt;br /&gt;
        &amp;lt;div className={styles.container}&amp;gt;&lt;br /&gt;
            &amp;lt;h2&amp;gt;Task Summary&amp;lt;/h2&amp;gt;&lt;br /&gt;
            &amp;lt;div className={styles.infoBox}&amp;gt;&lt;br /&gt;
                &amp;lt;h5&amp;gt;Due:&amp;lt;/h5&amp;gt;&lt;br /&gt;
                {Object.entries(tasksByCourse).map(([course, tasks]) =&amp;gt; (&lt;br /&gt;
                    &amp;lt;div key={course}&amp;gt;&lt;br /&gt;
                        &amp;lt;p&amp;gt;{course}&amp;lt;/p&amp;gt;&lt;br /&gt;
                        &amp;lt;ul&amp;gt;&lt;br /&gt;
                            {tasks.map(task =&amp;gt; (&lt;br /&gt;
                                &amp;lt;li key={task.id}&amp;gt;&lt;br /&gt;
                                    {task.assignment} - Due: {task.stageDeadline}&lt;br /&gt;
                                &amp;lt;/li&amp;gt;&lt;br /&gt;
                            ))}&lt;br /&gt;
                        &amp;lt;/ul&amp;gt;&lt;br /&gt;
                    &amp;lt;/div&amp;gt;&lt;br /&gt;
                ))}&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;div className={styles.infoBox}&amp;gt;&lt;br /&gt;
                &amp;lt;h5&amp;gt;Revisions:&amp;lt;/h5&amp;gt;&lt;br /&gt;
                &amp;lt;ul&amp;gt;&lt;br /&gt;
                    {revisions.map((revision, index) =&amp;gt; (&lt;br /&gt;
                        &amp;lt;li key={index}&amp;gt;{revision.name}&amp;lt;/li&amp;gt;&lt;br /&gt;
                    ))}&lt;br /&gt;
                &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;div className={styles.infoBox}&amp;gt;&lt;br /&gt;
                &amp;lt;div className={styles.teamedStudents}&amp;gt;&lt;br /&gt;
                    &amp;lt;h5&amp;gt;Total Students Teamed With: {totalStudents}&amp;lt;/h5&amp;gt;&lt;br /&gt;
                    &amp;lt;ul&amp;gt;&lt;br /&gt;
                        {allStudents.map((student, index) =&amp;gt; (&lt;br /&gt;
                            &amp;lt;li key={index}&amp;gt;{student}&amp;lt;/li&amp;gt;&lt;br /&gt;
                        ))}&lt;br /&gt;
                    &amp;lt;/ul&amp;gt;&lt;br /&gt;
                &amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;New UI for StudentTasksBox Component&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: StudentTasksBox_Task Summary.jpg | 200px]]&lt;br /&gt;
[[File: StudentTasksBox_Revisions and Students Teamed With.jpg | 200px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== StudentTaskHome component ====&lt;br /&gt;
*Implementation of the StudentTaskHome component that handles the list of assignments along with filters (dropdowns). [https://github.com/aditikilledar/reimplementation-front-end/blob/student-tasks-ui-f24/src/pages/StudentTasks/StudentTaskHome.tsx]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
const StudentTasksHome: React.FC = () =&amp;gt; {&lt;br /&gt;
    // init state and hooks&lt;br /&gt;
    const currUserId = testData.current_user_id;&lt;br /&gt;
    const dispatch = useDispatch();&lt;br /&gt;
    const navigate = useNavigate();&lt;br /&gt;
    const auth = useSelector((state: RootState) =&amp;gt; state.authentication)&lt;br /&gt;
&lt;br /&gt;
    type StudentsTeamedWith = {&lt;br /&gt;
        [semester: string]: string[];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    // states to hold tasks&lt;br /&gt;
    const taskRevisions = testData.revisions;&lt;br /&gt;
    const participantTasks = testData.participantTasks;&lt;br /&gt;
    console.log(&amp;quot;participantTasks&amp;quot;, participantTasks)&lt;br /&gt;
&lt;br /&gt;
    const [tasks, setTasks] = useState&amp;lt;Task[]&amp;gt;([]);&lt;br /&gt;
    const dueTasks = testData.dueTasks;&lt;br /&gt;
    const studentsTeamedWith: StudentsTeamedWith = testData.studentsTeamedWith;&lt;br /&gt;
    const [filteredTasks, setFilteredTasks] = useState&amp;lt;Task[]&amp;gt;([]);&lt;br /&gt;
&lt;br /&gt;
    const [assignmentFilter, setAssignmentFilter] = useState('');&lt;br /&gt;
    const [courseFilter, setCourseFilter] = useState('');&lt;br /&gt;
    const [topicFilter, setTopicFilter] = useState('');&lt;br /&gt;
    const [currentstageFilter, setCurrentStageFilter] = useState('');&lt;br /&gt;
&lt;br /&gt;
    function togglePublishingRights(id: number): void {&lt;br /&gt;
        throw new Error('Function not implemented.');&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    let totalStudents = 0;&lt;br /&gt;
    let allStudents: string[] = [];&lt;br /&gt;
    for (const semester in studentsTeamedWith) {&lt;br /&gt;
        // Add the number of students in each semester to the total count&lt;br /&gt;
        totalStudents += studentsTeamedWith[semester].length;&lt;br /&gt;
        allStudents = allStudents.concat(studentsTeamedWith[semester]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    useEffect(() =&amp;gt; {&lt;br /&gt;
        // Map the data from participationTasks to the tasks state&lt;br /&gt;
        const mappedTasks = participantTasks.map(task =&amp;gt; ({&lt;br /&gt;
            id: task.id,&lt;br /&gt;
            assignment: task.assignment,&lt;br /&gt;
            course: task.course,&lt;br /&gt;
            topic: task.topic,&lt;br /&gt;
            currentStage: task.current_stage, // Adjust to match your data's structure&lt;br /&gt;
            reviewGrade: task.review_grade, // Can be a string or an object&lt;br /&gt;
            badges: task.badges, // Keep as is since it can be string or boolean&lt;br /&gt;
            stageDeadline: task.stage_deadline, // Adjust to match your data's structure&lt;br /&gt;
            publishingRights: task.publishing_rights, // Boolean type&lt;br /&gt;
        }));&lt;br /&gt;
&lt;br /&gt;
        setTasks(mappedTasks);&lt;br /&gt;
        setFilteredTasks(mappedTasks);&lt;br /&gt;
    }, [participantTasks]);&lt;br /&gt;
&lt;br /&gt;
    console.log(&amp;quot;after use effect:&amp;quot;, participantTasks)&lt;br /&gt;
&lt;br /&gt;
    useEffect(() =&amp;gt; {&lt;br /&gt;
        const filtered = tasks.filter((task) =&amp;gt;&lt;br /&gt;
            (assignmentFilter ? task.assignment === assignmentFilter : true) &amp;amp;&amp;amp;&lt;br /&gt;
            (courseFilter ? task.course === courseFilter : true) &amp;amp;&amp;amp;&lt;br /&gt;
            (topicFilter ? task.topic === topicFilter : true) &amp;amp;&amp;amp;&lt;br /&gt;
            (currentstageFilter ? task.topic == currentstageFilter : true)&lt;br /&gt;
        );&lt;br /&gt;
        setFilteredTasks(filtered);&lt;br /&gt;
    }, [assignmentFilter, courseFilter, topicFilter, currentstageFilter, tasks]);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;New UI for StudentTaskHome Component&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File: StudentTaskHome.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Table Filtering:&amp;lt;/b&amp;gt; The columns in the table are provided with filters enabling the user to search for what they want. The drop downs are provided for the columns: assignments, course, topic and current stage. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
* Added the feature for filtering out tasks in the table by including the filteredtasks component in the StudentTasksHome.tsx file. &lt;br /&gt;
* The corresponding formatting for the same included in the StudentTasks.module.css file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;4. Error and Edge Case Handling:&amp;lt;/b&amp;gt; Comprehensive error handling and edge case handling strategies were implemented to provide informative feedback for failed requests or empty datasets.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5. Responsive and Accessible Design:&amp;lt;/b&amp;gt; The page implemented is fully responsive on all devices (desktop, tablet, mobile) and meets accessibility standards, including ARIA roles, ensuring a seamless and inclusive experience for all students, regardless of their device or abilities.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;6. Testing and Validation:&amp;lt;/b&amp;gt; The testing phase of the project involves a manual testing process to ensure the student task view list functions reliably.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
*Carrying out a detailed manual review of each task item to confirm they display accurate information, ensuring visual indicators match the design specifications.&lt;br /&gt;
*Simulating user interactions manually to verify that component links and buttons function correctly, confirming that all elements respond as expected.&lt;br /&gt;
*Evaluating visual feedback elements like hover and active states to ensure they align with the project's usability standards.&lt;br /&gt;
&lt;br /&gt;
These steps are intended to confirm the interface's cohesive functionality and reliability by interacting with the system from an end-user perspective. This hands-on approach enables quick correction of any inconsistencies and improvements to the user experience.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Login page for accessing the system&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Login_Page_Student_tasks_UI.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Navigate to the &amp;quot;Assignments&amp;quot; tab to view list of assignments&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: New_Implementation_Assignments_Page.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Major changes made: &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. We have included a legend to improve clarity, allowing users to understand column meanings at a glance. This approach is more user-friendly than requiring users to hover over a small info icon, and it provides a cleaner, more streamlined interface.&lt;br /&gt;
&lt;br /&gt;
2. We have split the task box into different parts making it easier for the user to view the Student Tasks Page.&lt;br /&gt;
&lt;br /&gt;
3. The Table containing the list of assignments have been provided with dropdowns for ease of access.&lt;br /&gt;
&lt;br /&gt;
==Database==&lt;br /&gt;
We prepared the database by cloning and configuring the reimplementation backend, adhering to the guidelines provided in the Backend Setup Instructions. We will be creating dummy assignment data for testing purposes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Sample of the Dummy data created &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Dummy_data_Student_Tasks_UI.jpg | 500px]]&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
*&amp;lt;b&amp;gt;App.tsx :&amp;lt;/b&amp;gt; The `App.tsx` file acts as the primary entry point for a React application, setting up routing, integrating various pages and components, and managing global states or contexts to enable seamless navigation and functionality across the app. We’ll be adding a protected route for &amp;quot;StudentTaskHome&amp;quot; to direct users with the STUDENT role to the `StudentTasksHome` component.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTasksBox.tsx :&amp;lt;/b&amp;gt; The StudentTaskbox.tsx file will display a sidebar component that emphasizes upcoming tasks, revisions, and team collaborations.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTaskHome.tsx :&amp;lt;/b&amp;gt; The StudentTaskHome.tsx file contains the main panel, presenting a comprehensive list of assignments with course information, topics, current stages, and other relevant details. This contains the dropdowns implemented in the main panel (table) for filtering based on the user's needs.&lt;br /&gt;
&lt;br /&gt;
==Files created/modified==&lt;br /&gt;
* src/App.tsx (Modified) - This file was changed to point to the new implementation of the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasksHome.tsx (New File) - This file was created to handle the content of task table in the Student Tasks page.&lt;br /&gt;
  &lt;br /&gt;
* src/pages/StudentTasks/StudentTaskBox.tsx (New File) - This file was created to handle the content of the yellow task box in the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasks.module.css (New File) - This file was created to handle the styling of the tasks table.&lt;br /&gt;
 &lt;br /&gt;
* src/pages/StudentTasks/StudentTasksBox.module.css (New File) - This file was created to handle the styling of the yellow task box.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/testData.json (New File) - This file was created to store the dummy data for our implementation.&lt;br /&gt;
&lt;br /&gt;
==Design Patterns and Principles==&lt;br /&gt;
&lt;br /&gt;
Design patterns and principles are fundamental concepts that help developers create clean, scalable, and maintainable code. They guide the design of software structures and improve development efficiency, as they provide solutions to common problems and offer a vocabulary for communication within development teams. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Open/Closed Principle (OCP):&amp;lt;/b&amp;gt; Software entities should be open for extension but closed for modification, allowing new functionality without altering existing code. It ensures modularity and reusability, which aligns with the goal of designing React components for different sections of the Student Task List page. The existing code was just altered by adding additional features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Don't Repeat Yourself (DRY):&amp;lt;/b&amp;gt;Avoid duplicating code. When functionality or logic repeats, it's better to refactor it into reusable functions, classes, or modules. The StudentTaskHome and StudentTasksBox components have all the required code and have been refactored to make it reusable.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Component Design and Structure:&amp;lt;/b&amp;gt; Design and organize React components to effectively support the Student Task List page, ensuring clarity and modularity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Review the modular design of key components (e.g., header, task list, individual task items) for scalability and reusability.&lt;br /&gt;
* Check each component for proper structure and verify that all necessary information is displayed as expected.&lt;br /&gt;
* Confirm each component renders correctly within the overall page layout.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Task List Display:&amp;lt;/b&amp;gt; Implement functionality to accurately fetch and display assignments within the task list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm that the task list properly renders each fetched assignment.&lt;br /&gt;
* Test for infinite scrolling, if needed, to handle extensive assignment lists smoothly.&lt;br /&gt;
* Verify that loading indicators or placeholders appear while data is loading, ensuring user feedback during fetch operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Filter Assignments:&amp;lt;/b&amp;gt; Ensure that the task list filters assignments to show only those relevant to the current user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm the task list is correctly filtered based on the User ID, displaying only applicable assignments for the user.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Aditi Killedar &amp;lt;akilled@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158889</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158889"/>
		<updated>2024-11-11T23:56:42Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Assignment Participants Management UI in Expertiza is a tool used by instructors and administrators to manage participants in assignments. Currently, this interface is cluttered, with dense information and limited filtering options, making it challenging to quickly locate, filter, or modify participant data. The current UI has issues with readability, confusing labels, and lacks efficient bulk action capabilities, which leads to repetitive tasks and hampers productivity.&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
&lt;br /&gt;
===Objective===&lt;br /&gt;
This project’s goal is to redesign the front end of the current non-TypeScript Student Task List page on Expertiza by building a new user interface with React.js and TypeScript, ensuring a more type-safe development experience. The page will showcase all assignments the user is involved in, requiring data fetching to obtain the assignment list, filtering based on the user’s participation, and presenting the results in a visually engaging, user-friendly format through React components.&lt;br /&gt;
This is the visual framework for creating the user interface:&lt;br /&gt;
&lt;br /&gt;
[[File: Flow_Chart_Student_tasks.jpg | 1000px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Development Steps===&lt;br /&gt;
*&amp;lt;u&amp;gt;Review Current Interface&amp;lt;/u&amp;gt;:  Conduct a detailed analysis of the existing Ruby on Rails UI to understand its layout and features.&lt;br /&gt;
*&amp;lt;u&amp;gt;Setup Development Environment&amp;lt;/u&amp;gt;: Configure the environment to work with TypeScript and React.&lt;br /&gt;
*&amp;lt;u&amp;gt;Design Components&amp;lt;/u&amp;gt;: Break down the UI into distinct React components, defining the props and states needed for each.&lt;br /&gt;
*&amp;lt;u&amp;gt;Implement in Typescript&amp;lt;/u&amp;gt;: Develop the component logic in TypeScript, prioritizing type safety.&lt;br /&gt;
*&amp;lt;u&amp;gt;Replicate Functionality&amp;lt;/u&amp;gt;: Ensure all features from the Rails application are mirrored in the React components, maintaining full functionality.&lt;br /&gt;
*&amp;lt;u&amp;gt;Styling and Add Interactivity&amp;lt;/u&amp;gt;: Style components and integrate interactive elements using CSS.&lt;br /&gt;
*&amp;lt;u&amp;gt;Testing&amp;lt;/u&amp;gt;: Perform individual component testing and end-to-end testing for the entire application.&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
===Current Implementation (Ruby on Rails)===&lt;br /&gt;
&lt;br /&gt;
The existing interface on Expertiza, developed with Ruby on Rails, displays a student's task list with assignments, due dates, and progress indicators.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Current Implementation of Expertiza with Ruby on Rails &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Expertiza_current_implementation.jpg | 1000px]]&lt;br /&gt;
&lt;br /&gt;
===New Implementation (React JS &amp;amp; TypeScript)===&lt;br /&gt;
&lt;br /&gt;
Our updated UI replicates the functionality of the original page, now leveraging TypeScript's reliability alongside React's dynamic rendering. We prioritized building a responsive, accessible interface that aligns with modern design principles. We have also included certain features to make it easy for the student to manage their assignments.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Implementation Overview &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: New_Implementation_Assignments_Page.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Fetch and Display Data:&amp;lt;/b&amp;gt; The UI is designed with future live data integration in mind. Currently, we use structured placeholder data to mimic backend interactions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
*Defined TypeScript interfaces to model assignment data structures.&lt;br /&gt;
*Created mock data to simulate API responses for development.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. React Component Design:&amp;lt;/b&amp;gt; We developed modular React components like Header, TaskList, and TaskItem to improve code reusability and maintainability.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Legend &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We have included a legend on the right of the student task list, to improve clarity, allowing users to understand column meanings at a glance. This approach is more user-friendly than requiring users to hover over a small info icon, and it provides a cleaner, more streamlined interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
==== StudentTasksBox component ====&lt;br /&gt;
*Implementation of the StudentTasksBox component - [https://github.com/aditikilledar/reimplementation-front-end/blob/student-tasks-ui-f24/src/pages/StudentTasks/StudentTasksBox.tsx]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
const StudentTasksBox: React.FC&amp;lt;StudentTasksBoxProps&amp;gt; = ({ participantTasks, revisions, studentsTeamedWith }) =&amp;gt; {&lt;br /&gt;
    // Calculate total number of students teamed up with by iterating over each semester&lt;br /&gt;
    let totalStudents = 0;&lt;br /&gt;
    let allStudents: string[] = [];&lt;br /&gt;
    for (const semester in studentsTeamedWith) {&lt;br /&gt;
        // Add the number of students in each semester to the total count&lt;br /&gt;
        totalStudents += studentsTeamedWith[semester].length;&lt;br /&gt;
        allStudents = allStudents.concat(studentsTeamedWith[semester]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Calculate the number of revisions that are still pending (i.e., due date is in the future)&lt;br /&gt;
    const pendingRevisions = revisions.filter(revision =&amp;gt; getDaysLeft(revision.dueDate) &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
    const dueTasks = participantTasks.filter(task =&amp;gt; getDaysLeft(task.stageDeadline) &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
    // Group tasks by course&lt;br /&gt;
    const tasksByCourse: { [key: string]: typeof participantTasks } = {};&lt;br /&gt;
&lt;br /&gt;
    dueTasks.forEach(task =&amp;gt; {&lt;br /&gt;
        const courseName = task.course;&lt;br /&gt;
&lt;br /&gt;
        if (!tasksByCourse[courseName]) {&lt;br /&gt;
            tasksByCourse[courseName] = [];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        tasksByCourse[courseName].push(task);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    return (&lt;br /&gt;
        &amp;lt;div className={styles.container}&amp;gt;&lt;br /&gt;
            &amp;lt;h2&amp;gt;Task Summary&amp;lt;/h2&amp;gt;&lt;br /&gt;
            &amp;lt;div className={styles.infoBox}&amp;gt;&lt;br /&gt;
                &amp;lt;h5&amp;gt;Due:&amp;lt;/h5&amp;gt;&lt;br /&gt;
                {Object.entries(tasksByCourse).map(([course, tasks]) =&amp;gt; (&lt;br /&gt;
                    &amp;lt;div key={course}&amp;gt;&lt;br /&gt;
                        &amp;lt;p&amp;gt;{course}&amp;lt;/p&amp;gt;&lt;br /&gt;
                        &amp;lt;ul&amp;gt;&lt;br /&gt;
                            {tasks.map(task =&amp;gt; (&lt;br /&gt;
                                &amp;lt;li key={task.id}&amp;gt;&lt;br /&gt;
                                    {task.assignment} - Due: {task.stageDeadline}&lt;br /&gt;
                                &amp;lt;/li&amp;gt;&lt;br /&gt;
                            ))}&lt;br /&gt;
                        &amp;lt;/ul&amp;gt;&lt;br /&gt;
                    &amp;lt;/div&amp;gt;&lt;br /&gt;
                ))}&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;div className={styles.infoBox}&amp;gt;&lt;br /&gt;
                &amp;lt;h5&amp;gt;Revisions:&amp;lt;/h5&amp;gt;&lt;br /&gt;
                &amp;lt;ul&amp;gt;&lt;br /&gt;
                    {revisions.map((revision, index) =&amp;gt; (&lt;br /&gt;
                        &amp;lt;li key={index}&amp;gt;{revision.name}&amp;lt;/li&amp;gt;&lt;br /&gt;
                    ))}&lt;br /&gt;
                &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;div className={styles.infoBox}&amp;gt;&lt;br /&gt;
                &amp;lt;div className={styles.teamedStudents}&amp;gt;&lt;br /&gt;
                    &amp;lt;h5&amp;gt;Total Students Teamed With: {totalStudents}&amp;lt;/h5&amp;gt;&lt;br /&gt;
                    &amp;lt;ul&amp;gt;&lt;br /&gt;
                        {allStudents.map((student, index) =&amp;gt; (&lt;br /&gt;
                            &amp;lt;li key={index}&amp;gt;{student}&amp;lt;/li&amp;gt;&lt;br /&gt;
                        ))}&lt;br /&gt;
                    &amp;lt;/ul&amp;gt;&lt;br /&gt;
                &amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;New UI for StudentTasksBox Component&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: StudentTasksBox_Task Summary.jpg | 200px]]&lt;br /&gt;
[[File: StudentTasksBox_Revisions and Students Teamed With.jpg | 200px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== StudentTaskHome component ====&lt;br /&gt;
*Implementation of the StudentTaskHome component that handles the list of assignments along with filters (dropdowns). [https://github.com/aditikilledar/reimplementation-front-end/blob/student-tasks-ui-f24/src/pages/StudentTasks/StudentTaskHome.tsx]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
const StudentTasksHome: React.FC = () =&amp;gt; {&lt;br /&gt;
    // init state and hooks&lt;br /&gt;
    const currUserId = testData.current_user_id;&lt;br /&gt;
    const dispatch = useDispatch();&lt;br /&gt;
    const navigate = useNavigate();&lt;br /&gt;
    const auth = useSelector((state: RootState) =&amp;gt; state.authentication)&lt;br /&gt;
&lt;br /&gt;
    type StudentsTeamedWith = {&lt;br /&gt;
        [semester: string]: string[];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    // states to hold tasks&lt;br /&gt;
    const taskRevisions = testData.revisions;&lt;br /&gt;
    const participantTasks = testData.participantTasks;&lt;br /&gt;
    console.log(&amp;quot;participantTasks&amp;quot;, participantTasks)&lt;br /&gt;
&lt;br /&gt;
    const [tasks, setTasks] = useState&amp;lt;Task[]&amp;gt;([]);&lt;br /&gt;
    const dueTasks = testData.dueTasks;&lt;br /&gt;
    const studentsTeamedWith: StudentsTeamedWith = testData.studentsTeamedWith;&lt;br /&gt;
    const [filteredTasks, setFilteredTasks] = useState&amp;lt;Task[]&amp;gt;([]);&lt;br /&gt;
&lt;br /&gt;
    const [assignmentFilter, setAssignmentFilter] = useState('');&lt;br /&gt;
    const [courseFilter, setCourseFilter] = useState('');&lt;br /&gt;
    const [topicFilter, setTopicFilter] = useState('');&lt;br /&gt;
    const [currentstageFilter, setCurrentStageFilter] = useState('');&lt;br /&gt;
&lt;br /&gt;
    function togglePublishingRights(id: number): void {&lt;br /&gt;
        throw new Error('Function not implemented.');&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    let totalStudents = 0;&lt;br /&gt;
    let allStudents: string[] = [];&lt;br /&gt;
    for (const semester in studentsTeamedWith) {&lt;br /&gt;
        // Add the number of students in each semester to the total count&lt;br /&gt;
        totalStudents += studentsTeamedWith[semester].length;&lt;br /&gt;
        allStudents = allStudents.concat(studentsTeamedWith[semester]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    useEffect(() =&amp;gt; {&lt;br /&gt;
        // Map the data from participationTasks to the tasks state&lt;br /&gt;
        const mappedTasks = participantTasks.map(task =&amp;gt; ({&lt;br /&gt;
            id: task.id,&lt;br /&gt;
            assignment: task.assignment,&lt;br /&gt;
            course: task.course,&lt;br /&gt;
            topic: task.topic,&lt;br /&gt;
            currentStage: task.current_stage, // Adjust to match your data's structure&lt;br /&gt;
            reviewGrade: task.review_grade, // Can be a string or an object&lt;br /&gt;
            badges: task.badges, // Keep as is since it can be string or boolean&lt;br /&gt;
            stageDeadline: task.stage_deadline, // Adjust to match your data's structure&lt;br /&gt;
            publishingRights: task.publishing_rights, // Boolean type&lt;br /&gt;
        }));&lt;br /&gt;
&lt;br /&gt;
        setTasks(mappedTasks);&lt;br /&gt;
        setFilteredTasks(mappedTasks);&lt;br /&gt;
    }, [participantTasks]);&lt;br /&gt;
&lt;br /&gt;
    console.log(&amp;quot;after use effect:&amp;quot;, participantTasks)&lt;br /&gt;
&lt;br /&gt;
    useEffect(() =&amp;gt; {&lt;br /&gt;
        const filtered = tasks.filter((task) =&amp;gt;&lt;br /&gt;
            (assignmentFilter ? task.assignment === assignmentFilter : true) &amp;amp;&amp;amp;&lt;br /&gt;
            (courseFilter ? task.course === courseFilter : true) &amp;amp;&amp;amp;&lt;br /&gt;
            (topicFilter ? task.topic === topicFilter : true) &amp;amp;&amp;amp;&lt;br /&gt;
            (currentstageFilter ? task.topic == currentstageFilter : true)&lt;br /&gt;
        );&lt;br /&gt;
        setFilteredTasks(filtered);&lt;br /&gt;
    }, [assignmentFilter, courseFilter, topicFilter, currentstageFilter, tasks]);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;New UI for StudentTaskHome Component&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File: StudentTaskHome.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Table Filtering:&amp;lt;/b&amp;gt; The columns in the table are provided with filters enabling the user to search for what they want. The drop downs are provided for the columns: assignments, course, topic and current stage. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
* Added the feature for filtering out tasks in the table by including the filteredtasks component in the StudentTasksHome.tsx file. &lt;br /&gt;
* The corresponding formatting for the same included in the StudentTasks.module.css file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;4. Error and Edge Case Handling:&amp;lt;/b&amp;gt; Comprehensive error handling and edge case handling strategies were implemented to provide informative feedback for failed requests or empty datasets.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5. Responsive and Accessible Design:&amp;lt;/b&amp;gt; The page implemented is fully responsive on all devices (desktop, tablet, mobile) and meets accessibility standards, including ARIA roles, ensuring a seamless and inclusive experience for all students, regardless of their device or abilities.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;6. Testing and Validation:&amp;lt;/b&amp;gt; The testing phase of the project involves a manual testing process to ensure the student task view list functions reliably.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
*Carrying out a detailed manual review of each task item to confirm they display accurate information, ensuring visual indicators match the design specifications.&lt;br /&gt;
*Simulating user interactions manually to verify that component links and buttons function correctly, confirming that all elements respond as expected.&lt;br /&gt;
*Evaluating visual feedback elements like hover and active states to ensure they align with the project's usability standards.&lt;br /&gt;
&lt;br /&gt;
These steps are intended to confirm the interface's cohesive functionality and reliability by interacting with the system from an end-user perspective. This hands-on approach enables quick correction of any inconsistencies and improvements to the user experience.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Login page for accessing the system&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Login_Page_Student_tasks_UI.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Navigate to the &amp;quot;Assignments&amp;quot; tab to view list of assignments&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: New_Implementation_Assignments_Page.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Major changes made: &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. We have included a legend to improve clarity, allowing users to understand column meanings at a glance. This approach is more user-friendly than requiring users to hover over a small info icon, and it provides a cleaner, more streamlined interface.&lt;br /&gt;
&lt;br /&gt;
2. We have split the task box into different parts making it easier for the user to view the Student Tasks Page.&lt;br /&gt;
&lt;br /&gt;
3. The Table containing the list of assignments have been provided with dropdowns for ease of access.&lt;br /&gt;
&lt;br /&gt;
==Database==&lt;br /&gt;
We prepared the database by cloning and configuring the reimplementation backend, adhering to the guidelines provided in the Backend Setup Instructions. We will be creating dummy assignment data for testing purposes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Sample of the Dummy data created &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Dummy_data_Student_Tasks_UI.jpg | 500px]]&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
*&amp;lt;b&amp;gt;App.tsx :&amp;lt;/b&amp;gt; The `App.tsx` file acts as the primary entry point for a React application, setting up routing, integrating various pages and components, and managing global states or contexts to enable seamless navigation and functionality across the app. We’ll be adding a protected route for &amp;quot;StudentTaskHome&amp;quot; to direct users with the STUDENT role to the `StudentTasksHome` component.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTasksBox.tsx :&amp;lt;/b&amp;gt; The StudentTaskbox.tsx file will display a sidebar component that emphasizes upcoming tasks, revisions, and team collaborations.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTaskHome.tsx :&amp;lt;/b&amp;gt; The StudentTaskHome.tsx file contains the main panel, presenting a comprehensive list of assignments with course information, topics, current stages, and other relevant details. This contains the dropdowns implemented in the main panel (table) for filtering based on the user's needs.&lt;br /&gt;
&lt;br /&gt;
==Files created/modified==&lt;br /&gt;
* src/App.tsx (Modified) - This file was changed to point to the new implementation of the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasksHome.tsx (New File) - This file was created to handle the content of task table in the Student Tasks page.&lt;br /&gt;
  &lt;br /&gt;
* src/pages/StudentTasks/StudentTaskBox.tsx (New File) - This file was created to handle the content of the yellow task box in the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasks.module.css (New File) - This file was created to handle the styling of the tasks table.&lt;br /&gt;
 &lt;br /&gt;
* src/pages/StudentTasks/StudentTasksBox.module.css (New File) - This file was created to handle the styling of the yellow task box.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/testData.json (New File) - This file was created to store the dummy data for our implementation.&lt;br /&gt;
&lt;br /&gt;
==Design Patterns and Principles==&lt;br /&gt;
&lt;br /&gt;
Design patterns and principles are fundamental concepts that help developers create clean, scalable, and maintainable code. They guide the design of software structures and improve development efficiency, as they provide solutions to common problems and offer a vocabulary for communication within development teams. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Open/Closed Principle (OCP):&amp;lt;/b&amp;gt; Software entities should be open for extension but closed for modification, allowing new functionality without altering existing code. It ensures modularity and reusability, which aligns with the goal of designing React components for different sections of the Student Task List page. The existing code was just altered by adding additional features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Don't Repeat Yourself (DRY):&amp;lt;/b&amp;gt;Avoid duplicating code. When functionality or logic repeats, it's better to refactor it into reusable functions, classes, or modules. The StudentTaskHome and StudentTasksBox components have all the required code and have been refactored to make it reusable.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Component Design and Structure:&amp;lt;/b&amp;gt; Design and organize React components to effectively support the Student Task List page, ensuring clarity and modularity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Review the modular design of key components (e.g., header, task list, individual task items) for scalability and reusability.&lt;br /&gt;
* Check each component for proper structure and verify that all necessary information is displayed as expected.&lt;br /&gt;
* Confirm each component renders correctly within the overall page layout.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Task List Display:&amp;lt;/b&amp;gt; Implement functionality to accurately fetch and display assignments within the task list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm that the task list properly renders each fetched assignment.&lt;br /&gt;
* Test for infinite scrolling, if needed, to handle extensive assignment lists smoothly.&lt;br /&gt;
* Verify that loading indicators or placeholders appear while data is loading, ensuring user feedback during fetch operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Filter Assignments:&amp;lt;/b&amp;gt; Ensure that the task list filters assignments to show only those relevant to the current user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm the task list is correctly filtered based on the User ID, displaying only applicable assignments for the user.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Aditi Killedar &amp;lt;akilled@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158888</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158888"/>
		<updated>2024-11-11T23:56:22Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: /* Expertiza */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The main objective of this project is to implement the front end for the Student Task list page within Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
&lt;br /&gt;
===Objective===&lt;br /&gt;
This project’s goal is to redesign the front end of the current non-TypeScript Student Task List page on Expertiza by building a new user interface with React.js and TypeScript, ensuring a more type-safe development experience. The page will showcase all assignments the user is involved in, requiring data fetching to obtain the assignment list, filtering based on the user’s participation, and presenting the results in a visually engaging, user-friendly format through React components.&lt;br /&gt;
This is the visual framework for creating the user interface:&lt;br /&gt;
&lt;br /&gt;
[[File: Flow_Chart_Student_tasks.jpg | 1000px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Development Steps===&lt;br /&gt;
*&amp;lt;u&amp;gt;Review Current Interface&amp;lt;/u&amp;gt;:  Conduct a detailed analysis of the existing Ruby on Rails UI to understand its layout and features.&lt;br /&gt;
*&amp;lt;u&amp;gt;Setup Development Environment&amp;lt;/u&amp;gt;: Configure the environment to work with TypeScript and React.&lt;br /&gt;
*&amp;lt;u&amp;gt;Design Components&amp;lt;/u&amp;gt;: Break down the UI into distinct React components, defining the props and states needed for each.&lt;br /&gt;
*&amp;lt;u&amp;gt;Implement in Typescript&amp;lt;/u&amp;gt;: Develop the component logic in TypeScript, prioritizing type safety.&lt;br /&gt;
*&amp;lt;u&amp;gt;Replicate Functionality&amp;lt;/u&amp;gt;: Ensure all features from the Rails application are mirrored in the React components, maintaining full functionality.&lt;br /&gt;
*&amp;lt;u&amp;gt;Styling and Add Interactivity&amp;lt;/u&amp;gt;: Style components and integrate interactive elements using CSS.&lt;br /&gt;
*&amp;lt;u&amp;gt;Testing&amp;lt;/u&amp;gt;: Perform individual component testing and end-to-end testing for the entire application.&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
===Current Implementation (Ruby on Rails)===&lt;br /&gt;
&lt;br /&gt;
The existing interface on Expertiza, developed with Ruby on Rails, displays a student's task list with assignments, due dates, and progress indicators.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Current Implementation of Expertiza with Ruby on Rails &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Expertiza_current_implementation.jpg | 1000px]]&lt;br /&gt;
&lt;br /&gt;
===New Implementation (React JS &amp;amp; TypeScript)===&lt;br /&gt;
&lt;br /&gt;
Our updated UI replicates the functionality of the original page, now leveraging TypeScript's reliability alongside React's dynamic rendering. We prioritized building a responsive, accessible interface that aligns with modern design principles. We have also included certain features to make it easy for the student to manage their assignments.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Implementation Overview &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: New_Implementation_Assignments_Page.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Fetch and Display Data:&amp;lt;/b&amp;gt; The UI is designed with future live data integration in mind. Currently, we use structured placeholder data to mimic backend interactions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
*Defined TypeScript interfaces to model assignment data structures.&lt;br /&gt;
*Created mock data to simulate API responses for development.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. React Component Design:&amp;lt;/b&amp;gt; We developed modular React components like Header, TaskList, and TaskItem to improve code reusability and maintainability.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Legend &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We have included a legend on the right of the student task list, to improve clarity, allowing users to understand column meanings at a glance. This approach is more user-friendly than requiring users to hover over a small info icon, and it provides a cleaner, more streamlined interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
==== StudentTasksBox component ====&lt;br /&gt;
*Implementation of the StudentTasksBox component - [https://github.com/aditikilledar/reimplementation-front-end/blob/student-tasks-ui-f24/src/pages/StudentTasks/StudentTasksBox.tsx]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
const StudentTasksBox: React.FC&amp;lt;StudentTasksBoxProps&amp;gt; = ({ participantTasks, revisions, studentsTeamedWith }) =&amp;gt; {&lt;br /&gt;
    // Calculate total number of students teamed up with by iterating over each semester&lt;br /&gt;
    let totalStudents = 0;&lt;br /&gt;
    let allStudents: string[] = [];&lt;br /&gt;
    for (const semester in studentsTeamedWith) {&lt;br /&gt;
        // Add the number of students in each semester to the total count&lt;br /&gt;
        totalStudents += studentsTeamedWith[semester].length;&lt;br /&gt;
        allStudents = allStudents.concat(studentsTeamedWith[semester]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Calculate the number of revisions that are still pending (i.e., due date is in the future)&lt;br /&gt;
    const pendingRevisions = revisions.filter(revision =&amp;gt; getDaysLeft(revision.dueDate) &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
    const dueTasks = participantTasks.filter(task =&amp;gt; getDaysLeft(task.stageDeadline) &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
    // Group tasks by course&lt;br /&gt;
    const tasksByCourse: { [key: string]: typeof participantTasks } = {};&lt;br /&gt;
&lt;br /&gt;
    dueTasks.forEach(task =&amp;gt; {&lt;br /&gt;
        const courseName = task.course;&lt;br /&gt;
&lt;br /&gt;
        if (!tasksByCourse[courseName]) {&lt;br /&gt;
            tasksByCourse[courseName] = [];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        tasksByCourse[courseName].push(task);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    return (&lt;br /&gt;
        &amp;lt;div className={styles.container}&amp;gt;&lt;br /&gt;
            &amp;lt;h2&amp;gt;Task Summary&amp;lt;/h2&amp;gt;&lt;br /&gt;
            &amp;lt;div className={styles.infoBox}&amp;gt;&lt;br /&gt;
                &amp;lt;h5&amp;gt;Due:&amp;lt;/h5&amp;gt;&lt;br /&gt;
                {Object.entries(tasksByCourse).map(([course, tasks]) =&amp;gt; (&lt;br /&gt;
                    &amp;lt;div key={course}&amp;gt;&lt;br /&gt;
                        &amp;lt;p&amp;gt;{course}&amp;lt;/p&amp;gt;&lt;br /&gt;
                        &amp;lt;ul&amp;gt;&lt;br /&gt;
                            {tasks.map(task =&amp;gt; (&lt;br /&gt;
                                &amp;lt;li key={task.id}&amp;gt;&lt;br /&gt;
                                    {task.assignment} - Due: {task.stageDeadline}&lt;br /&gt;
                                &amp;lt;/li&amp;gt;&lt;br /&gt;
                            ))}&lt;br /&gt;
                        &amp;lt;/ul&amp;gt;&lt;br /&gt;
                    &amp;lt;/div&amp;gt;&lt;br /&gt;
                ))}&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;div className={styles.infoBox}&amp;gt;&lt;br /&gt;
                &amp;lt;h5&amp;gt;Revisions:&amp;lt;/h5&amp;gt;&lt;br /&gt;
                &amp;lt;ul&amp;gt;&lt;br /&gt;
                    {revisions.map((revision, index) =&amp;gt; (&lt;br /&gt;
                        &amp;lt;li key={index}&amp;gt;{revision.name}&amp;lt;/li&amp;gt;&lt;br /&gt;
                    ))}&lt;br /&gt;
                &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;div className={styles.infoBox}&amp;gt;&lt;br /&gt;
                &amp;lt;div className={styles.teamedStudents}&amp;gt;&lt;br /&gt;
                    &amp;lt;h5&amp;gt;Total Students Teamed With: {totalStudents}&amp;lt;/h5&amp;gt;&lt;br /&gt;
                    &amp;lt;ul&amp;gt;&lt;br /&gt;
                        {allStudents.map((student, index) =&amp;gt; (&lt;br /&gt;
                            &amp;lt;li key={index}&amp;gt;{student}&amp;lt;/li&amp;gt;&lt;br /&gt;
                        ))}&lt;br /&gt;
                    &amp;lt;/ul&amp;gt;&lt;br /&gt;
                &amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;New UI for StudentTasksBox Component&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: StudentTasksBox_Task Summary.jpg | 200px]]&lt;br /&gt;
[[File: StudentTasksBox_Revisions and Students Teamed With.jpg | 200px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== StudentTaskHome component ====&lt;br /&gt;
*Implementation of the StudentTaskHome component that handles the list of assignments along with filters (dropdowns). [https://github.com/aditikilledar/reimplementation-front-end/blob/student-tasks-ui-f24/src/pages/StudentTasks/StudentTaskHome.tsx]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
const StudentTasksHome: React.FC = () =&amp;gt; {&lt;br /&gt;
    // init state and hooks&lt;br /&gt;
    const currUserId = testData.current_user_id;&lt;br /&gt;
    const dispatch = useDispatch();&lt;br /&gt;
    const navigate = useNavigate();&lt;br /&gt;
    const auth = useSelector((state: RootState) =&amp;gt; state.authentication)&lt;br /&gt;
&lt;br /&gt;
    type StudentsTeamedWith = {&lt;br /&gt;
        [semester: string]: string[];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    // states to hold tasks&lt;br /&gt;
    const taskRevisions = testData.revisions;&lt;br /&gt;
    const participantTasks = testData.participantTasks;&lt;br /&gt;
    console.log(&amp;quot;participantTasks&amp;quot;, participantTasks)&lt;br /&gt;
&lt;br /&gt;
    const [tasks, setTasks] = useState&amp;lt;Task[]&amp;gt;([]);&lt;br /&gt;
    const dueTasks = testData.dueTasks;&lt;br /&gt;
    const studentsTeamedWith: StudentsTeamedWith = testData.studentsTeamedWith;&lt;br /&gt;
    const [filteredTasks, setFilteredTasks] = useState&amp;lt;Task[]&amp;gt;([]);&lt;br /&gt;
&lt;br /&gt;
    const [assignmentFilter, setAssignmentFilter] = useState('');&lt;br /&gt;
    const [courseFilter, setCourseFilter] = useState('');&lt;br /&gt;
    const [topicFilter, setTopicFilter] = useState('');&lt;br /&gt;
    const [currentstageFilter, setCurrentStageFilter] = useState('');&lt;br /&gt;
&lt;br /&gt;
    function togglePublishingRights(id: number): void {&lt;br /&gt;
        throw new Error('Function not implemented.');&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    let totalStudents = 0;&lt;br /&gt;
    let allStudents: string[] = [];&lt;br /&gt;
    for (const semester in studentsTeamedWith) {&lt;br /&gt;
        // Add the number of students in each semester to the total count&lt;br /&gt;
        totalStudents += studentsTeamedWith[semester].length;&lt;br /&gt;
        allStudents = allStudents.concat(studentsTeamedWith[semester]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    useEffect(() =&amp;gt; {&lt;br /&gt;
        // Map the data from participationTasks to the tasks state&lt;br /&gt;
        const mappedTasks = participantTasks.map(task =&amp;gt; ({&lt;br /&gt;
            id: task.id,&lt;br /&gt;
            assignment: task.assignment,&lt;br /&gt;
            course: task.course,&lt;br /&gt;
            topic: task.topic,&lt;br /&gt;
            currentStage: task.current_stage, // Adjust to match your data's structure&lt;br /&gt;
            reviewGrade: task.review_grade, // Can be a string or an object&lt;br /&gt;
            badges: task.badges, // Keep as is since it can be string or boolean&lt;br /&gt;
            stageDeadline: task.stage_deadline, // Adjust to match your data's structure&lt;br /&gt;
            publishingRights: task.publishing_rights, // Boolean type&lt;br /&gt;
        }));&lt;br /&gt;
&lt;br /&gt;
        setTasks(mappedTasks);&lt;br /&gt;
        setFilteredTasks(mappedTasks);&lt;br /&gt;
    }, [participantTasks]);&lt;br /&gt;
&lt;br /&gt;
    console.log(&amp;quot;after use effect:&amp;quot;, participantTasks)&lt;br /&gt;
&lt;br /&gt;
    useEffect(() =&amp;gt; {&lt;br /&gt;
        const filtered = tasks.filter((task) =&amp;gt;&lt;br /&gt;
            (assignmentFilter ? task.assignment === assignmentFilter : true) &amp;amp;&amp;amp;&lt;br /&gt;
            (courseFilter ? task.course === courseFilter : true) &amp;amp;&amp;amp;&lt;br /&gt;
            (topicFilter ? task.topic === topicFilter : true) &amp;amp;&amp;amp;&lt;br /&gt;
            (currentstageFilter ? task.topic == currentstageFilter : true)&lt;br /&gt;
        );&lt;br /&gt;
        setFilteredTasks(filtered);&lt;br /&gt;
    }, [assignmentFilter, courseFilter, topicFilter, currentstageFilter, tasks]);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;New UI for StudentTaskHome Component&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File: StudentTaskHome.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Table Filtering:&amp;lt;/b&amp;gt; The columns in the table are provided with filters enabling the user to search for what they want. The drop downs are provided for the columns: assignments, course, topic and current stage. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
* Added the feature for filtering out tasks in the table by including the filteredtasks component in the StudentTasksHome.tsx file. &lt;br /&gt;
* The corresponding formatting for the same included in the StudentTasks.module.css file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;4. Error and Edge Case Handling:&amp;lt;/b&amp;gt; Comprehensive error handling and edge case handling strategies were implemented to provide informative feedback for failed requests or empty datasets.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5. Responsive and Accessible Design:&amp;lt;/b&amp;gt; The page implemented is fully responsive on all devices (desktop, tablet, mobile) and meets accessibility standards, including ARIA roles, ensuring a seamless and inclusive experience for all students, regardless of their device or abilities.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;6. Testing and Validation:&amp;lt;/b&amp;gt; The testing phase of the project involves a manual testing process to ensure the student task view list functions reliably.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
*Carrying out a detailed manual review of each task item to confirm they display accurate information, ensuring visual indicators match the design specifications.&lt;br /&gt;
*Simulating user interactions manually to verify that component links and buttons function correctly, confirming that all elements respond as expected.&lt;br /&gt;
*Evaluating visual feedback elements like hover and active states to ensure they align with the project's usability standards.&lt;br /&gt;
&lt;br /&gt;
These steps are intended to confirm the interface's cohesive functionality and reliability by interacting with the system from an end-user perspective. This hands-on approach enables quick correction of any inconsistencies and improvements to the user experience.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Login page for accessing the system&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Login_Page_Student_tasks_UI.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Navigate to the &amp;quot;Assignments&amp;quot; tab to view list of assignments&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: New_Implementation_Assignments_Page.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Major changes made: &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. We have included a legend to improve clarity, allowing users to understand column meanings at a glance. This approach is more user-friendly than requiring users to hover over a small info icon, and it provides a cleaner, more streamlined interface.&lt;br /&gt;
&lt;br /&gt;
2. We have split the task box into different parts making it easier for the user to view the Student Tasks Page.&lt;br /&gt;
&lt;br /&gt;
3. The Table containing the list of assignments have been provided with dropdowns for ease of access.&lt;br /&gt;
&lt;br /&gt;
==Database==&lt;br /&gt;
We prepared the database by cloning and configuring the reimplementation backend, adhering to the guidelines provided in the Backend Setup Instructions. We will be creating dummy assignment data for testing purposes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Sample of the Dummy data created &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Dummy_data_Student_Tasks_UI.jpg | 500px]]&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
*&amp;lt;b&amp;gt;App.tsx :&amp;lt;/b&amp;gt; The `App.tsx` file acts as the primary entry point for a React application, setting up routing, integrating various pages and components, and managing global states or contexts to enable seamless navigation and functionality across the app. We’ll be adding a protected route for &amp;quot;StudentTaskHome&amp;quot; to direct users with the STUDENT role to the `StudentTasksHome` component.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTasksBox.tsx :&amp;lt;/b&amp;gt; The StudentTaskbox.tsx file will display a sidebar component that emphasizes upcoming tasks, revisions, and team collaborations.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTaskHome.tsx :&amp;lt;/b&amp;gt; The StudentTaskHome.tsx file contains the main panel, presenting a comprehensive list of assignments with course information, topics, current stages, and other relevant details. This contains the dropdowns implemented in the main panel (table) for filtering based on the user's needs.&lt;br /&gt;
&lt;br /&gt;
==Files created/modified==&lt;br /&gt;
* src/App.tsx (Modified) - This file was changed to point to the new implementation of the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasksHome.tsx (New File) - This file was created to handle the content of task table in the Student Tasks page.&lt;br /&gt;
  &lt;br /&gt;
* src/pages/StudentTasks/StudentTaskBox.tsx (New File) - This file was created to handle the content of the yellow task box in the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasks.module.css (New File) - This file was created to handle the styling of the tasks table.&lt;br /&gt;
 &lt;br /&gt;
* src/pages/StudentTasks/StudentTasksBox.module.css (New File) - This file was created to handle the styling of the yellow task box.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/testData.json (New File) - This file was created to store the dummy data for our implementation.&lt;br /&gt;
&lt;br /&gt;
==Design Patterns and Principles==&lt;br /&gt;
&lt;br /&gt;
Design patterns and principles are fundamental concepts that help developers create clean, scalable, and maintainable code. They guide the design of software structures and improve development efficiency, as they provide solutions to common problems and offer a vocabulary for communication within development teams. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Open/Closed Principle (OCP):&amp;lt;/b&amp;gt; Software entities should be open for extension but closed for modification, allowing new functionality without altering existing code. It ensures modularity and reusability, which aligns with the goal of designing React components for different sections of the Student Task List page. The existing code was just altered by adding additional features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Don't Repeat Yourself (DRY):&amp;lt;/b&amp;gt;Avoid duplicating code. When functionality or logic repeats, it's better to refactor it into reusable functions, classes, or modules. The StudentTaskHome and StudentTasksBox components have all the required code and have been refactored to make it reusable.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Component Design and Structure:&amp;lt;/b&amp;gt; Design and organize React components to effectively support the Student Task List page, ensuring clarity and modularity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Review the modular design of key components (e.g., header, task list, individual task items) for scalability and reusability.&lt;br /&gt;
* Check each component for proper structure and verify that all necessary information is displayed as expected.&lt;br /&gt;
* Confirm each component renders correctly within the overall page layout.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Task List Display:&amp;lt;/b&amp;gt; Implement functionality to accurately fetch and display assignments within the task list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm that the task list properly renders each fetched assignment.&lt;br /&gt;
* Test for infinite scrolling, if needed, to handle extensive assignment lists smoothly.&lt;br /&gt;
* Verify that loading indicators or placeholders appear while data is loading, ensuring user feedback during fetch operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Filter Assignments:&amp;lt;/b&amp;gt; Ensure that the task list filters assignments to show only those relevant to the current user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm the task list is correctly filtered based on the User ID, displaying only applicable assignments for the user.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Aditi Killedar &amp;lt;akilled@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158887</id>
		<title>CSC/ECE517 Fall 2024-E2490 Improving Assignment Participants Management UI in Expertiza</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE517_Fall_2024-E2490_Improving_Assignment_Participants_Management_UI_in_Expertiza&amp;diff=158887"/>
		<updated>2024-11-11T23:43:45Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: Created page with &amp;quot;== Expertiza == Expertiza is an open-source learning management system primarily developed with Ruby on Rails. It offers features such as creating tests and assignments, managing teams and courses, and, most importantly, providing a robust framework for peer reviews and group feedback. This project focuses on developing frontend components in React, with an emphasis on the Student Task list page. The aim is to build a fully operational user interface for these components...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Expertiza ==&lt;br /&gt;
Expertiza is an open-source learning management system primarily developed with Ruby on Rails. It offers features such as creating tests and assignments, managing teams and courses, and, most importantly, providing a robust framework for peer reviews and group feedback. This project focuses on developing frontend components in React, with an emphasis on the Student Task list page. The aim is to build a fully operational user interface for these components using React.js and TypeScript.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The main objective of this project is to implement the front end for the Student Task list page within Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
&lt;br /&gt;
===Objective===&lt;br /&gt;
This project’s goal is to redesign the front end of the current non-TypeScript Student Task List page on Expertiza by building a new user interface with React.js and TypeScript, ensuring a more type-safe development experience. The page will showcase all assignments the user is involved in, requiring data fetching to obtain the assignment list, filtering based on the user’s participation, and presenting the results in a visually engaging, user-friendly format through React components.&lt;br /&gt;
This is the visual framework for creating the user interface:&lt;br /&gt;
&lt;br /&gt;
[[File: Flow_Chart_Student_tasks.jpg | 1000px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Development Steps===&lt;br /&gt;
*&amp;lt;u&amp;gt;Review Current Interface&amp;lt;/u&amp;gt;:  Conduct a detailed analysis of the existing Ruby on Rails UI to understand its layout and features.&lt;br /&gt;
*&amp;lt;u&amp;gt;Setup Development Environment&amp;lt;/u&amp;gt;: Configure the environment to work with TypeScript and React.&lt;br /&gt;
*&amp;lt;u&amp;gt;Design Components&amp;lt;/u&amp;gt;: Break down the UI into distinct React components, defining the props and states needed for each.&lt;br /&gt;
*&amp;lt;u&amp;gt;Implement in Typescript&amp;lt;/u&amp;gt;: Develop the component logic in TypeScript, prioritizing type safety.&lt;br /&gt;
*&amp;lt;u&amp;gt;Replicate Functionality&amp;lt;/u&amp;gt;: Ensure all features from the Rails application are mirrored in the React components, maintaining full functionality.&lt;br /&gt;
*&amp;lt;u&amp;gt;Styling and Add Interactivity&amp;lt;/u&amp;gt;: Style components and integrate interactive elements using CSS.&lt;br /&gt;
*&amp;lt;u&amp;gt;Testing&amp;lt;/u&amp;gt;: Perform individual component testing and end-to-end testing for the entire application.&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
===Current Implementation (Ruby on Rails)===&lt;br /&gt;
&lt;br /&gt;
The existing interface on Expertiza, developed with Ruby on Rails, displays a student's task list with assignments, due dates, and progress indicators.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Current Implementation of Expertiza with Ruby on Rails &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Expertiza_current_implementation.jpg | 1000px]]&lt;br /&gt;
&lt;br /&gt;
===New Implementation (React JS &amp;amp; TypeScript)===&lt;br /&gt;
&lt;br /&gt;
Our updated UI replicates the functionality of the original page, now leveraging TypeScript's reliability alongside React's dynamic rendering. We prioritized building a responsive, accessible interface that aligns with modern design principles. We have also included certain features to make it easy for the student to manage their assignments.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Implementation Overview &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: New_Implementation_Assignments_Page.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Fetch and Display Data:&amp;lt;/b&amp;gt; The UI is designed with future live data integration in mind. Currently, we use structured placeholder data to mimic backend interactions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
*Defined TypeScript interfaces to model assignment data structures.&lt;br /&gt;
*Created mock data to simulate API responses for development.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. React Component Design:&amp;lt;/b&amp;gt; We developed modular React components like Header, TaskList, and TaskItem to improve code reusability and maintainability.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Legend &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We have included a legend on the right of the student task list, to improve clarity, allowing users to understand column meanings at a glance. This approach is more user-friendly than requiring users to hover over a small info icon, and it provides a cleaner, more streamlined interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
==== StudentTasksBox component ====&lt;br /&gt;
*Implementation of the StudentTasksBox component - [https://github.com/aditikilledar/reimplementation-front-end/blob/student-tasks-ui-f24/src/pages/StudentTasks/StudentTasksBox.tsx]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
const StudentTasksBox: React.FC&amp;lt;StudentTasksBoxProps&amp;gt; = ({ participantTasks, revisions, studentsTeamedWith }) =&amp;gt; {&lt;br /&gt;
    // Calculate total number of students teamed up with by iterating over each semester&lt;br /&gt;
    let totalStudents = 0;&lt;br /&gt;
    let allStudents: string[] = [];&lt;br /&gt;
    for (const semester in studentsTeamedWith) {&lt;br /&gt;
        // Add the number of students in each semester to the total count&lt;br /&gt;
        totalStudents += studentsTeamedWith[semester].length;&lt;br /&gt;
        allStudents = allStudents.concat(studentsTeamedWith[semester]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Calculate the number of revisions that are still pending (i.e., due date is in the future)&lt;br /&gt;
    const pendingRevisions = revisions.filter(revision =&amp;gt; getDaysLeft(revision.dueDate) &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
    const dueTasks = participantTasks.filter(task =&amp;gt; getDaysLeft(task.stageDeadline) &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
    // Group tasks by course&lt;br /&gt;
    const tasksByCourse: { [key: string]: typeof participantTasks } = {};&lt;br /&gt;
&lt;br /&gt;
    dueTasks.forEach(task =&amp;gt; {&lt;br /&gt;
        const courseName = task.course;&lt;br /&gt;
&lt;br /&gt;
        if (!tasksByCourse[courseName]) {&lt;br /&gt;
            tasksByCourse[courseName] = [];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        tasksByCourse[courseName].push(task);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    return (&lt;br /&gt;
        &amp;lt;div className={styles.container}&amp;gt;&lt;br /&gt;
            &amp;lt;h2&amp;gt;Task Summary&amp;lt;/h2&amp;gt;&lt;br /&gt;
            &amp;lt;div className={styles.infoBox}&amp;gt;&lt;br /&gt;
                &amp;lt;h5&amp;gt;Due:&amp;lt;/h5&amp;gt;&lt;br /&gt;
                {Object.entries(tasksByCourse).map(([course, tasks]) =&amp;gt; (&lt;br /&gt;
                    &amp;lt;div key={course}&amp;gt;&lt;br /&gt;
                        &amp;lt;p&amp;gt;{course}&amp;lt;/p&amp;gt;&lt;br /&gt;
                        &amp;lt;ul&amp;gt;&lt;br /&gt;
                            {tasks.map(task =&amp;gt; (&lt;br /&gt;
                                &amp;lt;li key={task.id}&amp;gt;&lt;br /&gt;
                                    {task.assignment} - Due: {task.stageDeadline}&lt;br /&gt;
                                &amp;lt;/li&amp;gt;&lt;br /&gt;
                            ))}&lt;br /&gt;
                        &amp;lt;/ul&amp;gt;&lt;br /&gt;
                    &amp;lt;/div&amp;gt;&lt;br /&gt;
                ))}&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;div className={styles.infoBox}&amp;gt;&lt;br /&gt;
                &amp;lt;h5&amp;gt;Revisions:&amp;lt;/h5&amp;gt;&lt;br /&gt;
                &amp;lt;ul&amp;gt;&lt;br /&gt;
                    {revisions.map((revision, index) =&amp;gt; (&lt;br /&gt;
                        &amp;lt;li key={index}&amp;gt;{revision.name}&amp;lt;/li&amp;gt;&lt;br /&gt;
                    ))}&lt;br /&gt;
                &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;div className={styles.infoBox}&amp;gt;&lt;br /&gt;
                &amp;lt;div className={styles.teamedStudents}&amp;gt;&lt;br /&gt;
                    &amp;lt;h5&amp;gt;Total Students Teamed With: {totalStudents}&amp;lt;/h5&amp;gt;&lt;br /&gt;
                    &amp;lt;ul&amp;gt;&lt;br /&gt;
                        {allStudents.map((student, index) =&amp;gt; (&lt;br /&gt;
                            &amp;lt;li key={index}&amp;gt;{student}&amp;lt;/li&amp;gt;&lt;br /&gt;
                        ))}&lt;br /&gt;
                    &amp;lt;/ul&amp;gt;&lt;br /&gt;
                &amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;New UI for StudentTasksBox Component&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: StudentTasksBox_Task Summary.jpg | 200px]]&lt;br /&gt;
[[File: StudentTasksBox_Revisions and Students Teamed With.jpg | 200px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== StudentTaskHome component ====&lt;br /&gt;
*Implementation of the StudentTaskHome component that handles the list of assignments along with filters (dropdowns). [https://github.com/aditikilledar/reimplementation-front-end/blob/student-tasks-ui-f24/src/pages/StudentTasks/StudentTaskHome.tsx]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
const StudentTasksHome: React.FC = () =&amp;gt; {&lt;br /&gt;
    // init state and hooks&lt;br /&gt;
    const currUserId = testData.current_user_id;&lt;br /&gt;
    const dispatch = useDispatch();&lt;br /&gt;
    const navigate = useNavigate();&lt;br /&gt;
    const auth = useSelector((state: RootState) =&amp;gt; state.authentication)&lt;br /&gt;
&lt;br /&gt;
    type StudentsTeamedWith = {&lt;br /&gt;
        [semester: string]: string[];&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    // states to hold tasks&lt;br /&gt;
    const taskRevisions = testData.revisions;&lt;br /&gt;
    const participantTasks = testData.participantTasks;&lt;br /&gt;
    console.log(&amp;quot;participantTasks&amp;quot;, participantTasks)&lt;br /&gt;
&lt;br /&gt;
    const [tasks, setTasks] = useState&amp;lt;Task[]&amp;gt;([]);&lt;br /&gt;
    const dueTasks = testData.dueTasks;&lt;br /&gt;
    const studentsTeamedWith: StudentsTeamedWith = testData.studentsTeamedWith;&lt;br /&gt;
    const [filteredTasks, setFilteredTasks] = useState&amp;lt;Task[]&amp;gt;([]);&lt;br /&gt;
&lt;br /&gt;
    const [assignmentFilter, setAssignmentFilter] = useState('');&lt;br /&gt;
    const [courseFilter, setCourseFilter] = useState('');&lt;br /&gt;
    const [topicFilter, setTopicFilter] = useState('');&lt;br /&gt;
    const [currentstageFilter, setCurrentStageFilter] = useState('');&lt;br /&gt;
&lt;br /&gt;
    function togglePublishingRights(id: number): void {&lt;br /&gt;
        throw new Error('Function not implemented.');&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    let totalStudents = 0;&lt;br /&gt;
    let allStudents: string[] = [];&lt;br /&gt;
    for (const semester in studentsTeamedWith) {&lt;br /&gt;
        // Add the number of students in each semester to the total count&lt;br /&gt;
        totalStudents += studentsTeamedWith[semester].length;&lt;br /&gt;
        allStudents = allStudents.concat(studentsTeamedWith[semester]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    useEffect(() =&amp;gt; {&lt;br /&gt;
        // Map the data from participationTasks to the tasks state&lt;br /&gt;
        const mappedTasks = participantTasks.map(task =&amp;gt; ({&lt;br /&gt;
            id: task.id,&lt;br /&gt;
            assignment: task.assignment,&lt;br /&gt;
            course: task.course,&lt;br /&gt;
            topic: task.topic,&lt;br /&gt;
            currentStage: task.current_stage, // Adjust to match your data's structure&lt;br /&gt;
            reviewGrade: task.review_grade, // Can be a string or an object&lt;br /&gt;
            badges: task.badges, // Keep as is since it can be string or boolean&lt;br /&gt;
            stageDeadline: task.stage_deadline, // Adjust to match your data's structure&lt;br /&gt;
            publishingRights: task.publishing_rights, // Boolean type&lt;br /&gt;
        }));&lt;br /&gt;
&lt;br /&gt;
        setTasks(mappedTasks);&lt;br /&gt;
        setFilteredTasks(mappedTasks);&lt;br /&gt;
    }, [participantTasks]);&lt;br /&gt;
&lt;br /&gt;
    console.log(&amp;quot;after use effect:&amp;quot;, participantTasks)&lt;br /&gt;
&lt;br /&gt;
    useEffect(() =&amp;gt; {&lt;br /&gt;
        const filtered = tasks.filter((task) =&amp;gt;&lt;br /&gt;
            (assignmentFilter ? task.assignment === assignmentFilter : true) &amp;amp;&amp;amp;&lt;br /&gt;
            (courseFilter ? task.course === courseFilter : true) &amp;amp;&amp;amp;&lt;br /&gt;
            (topicFilter ? task.topic === topicFilter : true) &amp;amp;&amp;amp;&lt;br /&gt;
            (currentstageFilter ? task.topic == currentstageFilter : true)&lt;br /&gt;
        );&lt;br /&gt;
        setFilteredTasks(filtered);&lt;br /&gt;
    }, [assignmentFilter, courseFilter, topicFilter, currentstageFilter, tasks]);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;New UI for StudentTaskHome Component&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File: StudentTaskHome.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Table Filtering:&amp;lt;/b&amp;gt; The columns in the table are provided with filters enabling the user to search for what they want. The drop downs are provided for the columns: assignments, course, topic and current stage. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
* Added the feature for filtering out tasks in the table by including the filteredtasks component in the StudentTasksHome.tsx file. &lt;br /&gt;
* The corresponding formatting for the same included in the StudentTasks.module.css file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;4. Error and Edge Case Handling:&amp;lt;/b&amp;gt; Comprehensive error handling and edge case handling strategies were implemented to provide informative feedback for failed requests or empty datasets.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5. Responsive and Accessible Design:&amp;lt;/b&amp;gt; The page implemented is fully responsive on all devices (desktop, tablet, mobile) and meets accessibility standards, including ARIA roles, ensuring a seamless and inclusive experience for all students, regardless of their device or abilities.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;6. Testing and Validation:&amp;lt;/b&amp;gt; The testing phase of the project involves a manual testing process to ensure the student task view list functions reliably.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Implementation Steps&amp;lt;/i&amp;gt;&lt;br /&gt;
*Carrying out a detailed manual review of each task item to confirm they display accurate information, ensuring visual indicators match the design specifications.&lt;br /&gt;
*Simulating user interactions manually to verify that component links and buttons function correctly, confirming that all elements respond as expected.&lt;br /&gt;
*Evaluating visual feedback elements like hover and active states to ensure they align with the project's usability standards.&lt;br /&gt;
&lt;br /&gt;
These steps are intended to confirm the interface's cohesive functionality and reliability by interacting with the system from an end-user perspective. This hands-on approach enables quick correction of any inconsistencies and improvements to the user experience.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Login page for accessing the system&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Login_Page_Student_tasks_UI.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Navigate to the &amp;quot;Assignments&amp;quot; tab to view list of assignments&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: New_Implementation_Assignments_Page.jpg | 1000px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Major changes made: &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. We have included a legend to improve clarity, allowing users to understand column meanings at a glance. This approach is more user-friendly than requiring users to hover over a small info icon, and it provides a cleaner, more streamlined interface.&lt;br /&gt;
&lt;br /&gt;
2. We have split the task box into different parts making it easier for the user to view the Student Tasks Page.&lt;br /&gt;
&lt;br /&gt;
3. The Table containing the list of assignments have been provided with dropdowns for ease of access.&lt;br /&gt;
&lt;br /&gt;
==Database==&lt;br /&gt;
We prepared the database by cloning and configuring the reimplementation backend, adhering to the guidelines provided in the Backend Setup Instructions. We will be creating dummy assignment data for testing purposes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Sample of the Dummy data created &amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File: Dummy_data_Student_Tasks_UI.jpg | 500px]]&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
*&amp;lt;b&amp;gt;App.tsx :&amp;lt;/b&amp;gt; The `App.tsx` file acts as the primary entry point for a React application, setting up routing, integrating various pages and components, and managing global states or contexts to enable seamless navigation and functionality across the app. We’ll be adding a protected route for &amp;quot;StudentTaskHome&amp;quot; to direct users with the STUDENT role to the `StudentTasksHome` component.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTasksBox.tsx :&amp;lt;/b&amp;gt; The StudentTaskbox.tsx file will display a sidebar component that emphasizes upcoming tasks, revisions, and team collaborations.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;StudentTaskHome.tsx :&amp;lt;/b&amp;gt; The StudentTaskHome.tsx file contains the main panel, presenting a comprehensive list of assignments with course information, topics, current stages, and other relevant details. This contains the dropdowns implemented in the main panel (table) for filtering based on the user's needs.&lt;br /&gt;
&lt;br /&gt;
==Files created/modified==&lt;br /&gt;
* src/App.tsx (Modified) - This file was changed to point to the new implementation of the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasksHome.tsx (New File) - This file was created to handle the content of task table in the Student Tasks page.&lt;br /&gt;
  &lt;br /&gt;
* src/pages/StudentTasks/StudentTaskBox.tsx (New File) - This file was created to handle the content of the yellow task box in the Student Tasks page.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/StudentTasks.module.css (New File) - This file was created to handle the styling of the tasks table.&lt;br /&gt;
 &lt;br /&gt;
* src/pages/StudentTasks/StudentTasksBox.module.css (New File) - This file was created to handle the styling of the yellow task box.&lt;br /&gt;
&lt;br /&gt;
* src/pages/StudentTasks/testData.json (New File) - This file was created to store the dummy data for our implementation.&lt;br /&gt;
&lt;br /&gt;
==Design Patterns and Principles==&lt;br /&gt;
&lt;br /&gt;
Design patterns and principles are fundamental concepts that help developers create clean, scalable, and maintainable code. They guide the design of software structures and improve development efficiency, as they provide solutions to common problems and offer a vocabulary for communication within development teams. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Open/Closed Principle (OCP):&amp;lt;/b&amp;gt; Software entities should be open for extension but closed for modification, allowing new functionality without altering existing code. It ensures modularity and reusability, which aligns with the goal of designing React components for different sections of the Student Task List page. The existing code was just altered by adding additional features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Don't Repeat Yourself (DRY):&amp;lt;/b&amp;gt;Avoid duplicating code. When functionality or logic repeats, it's better to refactor it into reusable functions, classes, or modules. The StudentTaskHome and StudentTasksBox components have all the required code and have been refactored to make it reusable.&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1. Component Design and Structure:&amp;lt;/b&amp;gt; Design and organize React components to effectively support the Student Task List page, ensuring clarity and modularity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Review the modular design of key components (e.g., header, task list, individual task items) for scalability and reusability.&lt;br /&gt;
* Check each component for proper structure and verify that all necessary information is displayed as expected.&lt;br /&gt;
* Confirm each component renders correctly within the overall page layout.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2. Task List Display:&amp;lt;/b&amp;gt; Implement functionality to accurately fetch and display assignments within the task list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm that the task list properly renders each fetched assignment.&lt;br /&gt;
* Test for infinite scrolling, if needed, to handle extensive assignment lists smoothly.&lt;br /&gt;
* Verify that loading indicators or placeholders appear while data is loading, ensuring user feedback during fetch operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3. Filter Assignments:&amp;lt;/b&amp;gt; Ensure that the task list filters assignments to show only those relevant to the current user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Test Cases:&amp;lt;/i&amp;gt;&lt;br /&gt;
* Confirm the task list is correctly filtered based on the User ID, displaying only applicable assignments for the user.&lt;br /&gt;
&lt;br /&gt;
== Important Links ==&lt;br /&gt;
* GitHub repo [https://github.com/aditikilledar/reimplementation-front-end]&lt;br /&gt;
* Pull Request: [https://github.com/expertiza/reimplementation-front-end/pull/66]&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
=====Mentor===== &lt;br /&gt;
&lt;br /&gt;
* Chaitanya Srusti &amp;lt;crsrusti@ncsu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Members===== &lt;br /&gt;
* Aditi Killedar &amp;lt;akilled@ncsu.edu&amp;gt;&lt;br /&gt;
* Kruthi Rajeshwar &amp;lt;krajesh@ncsu.edu&amp;gt;&lt;br /&gt;
* Sphurthy Satish &amp;lt;sphurthy@ncsu.edu&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024&amp;diff=157724</id>
		<title>CSC/ECE 517 Fall 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024&amp;diff=157724"/>
		<updated>2024-10-29T22:00:17Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[CSC/ECE 517 Fall 2024 - E2452. Refactor review_mapping_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2454. Refactor student_task.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2456. Refactor teams_user.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2455. Refactor sign_up_sheet_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2459. View for results of bidding]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2460 Mentor-Meeting Management]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2461. UI for Courses]]&lt;br /&gt;
* [https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024_-_E2463_Implement_Front_End_for_Student_Task_List CSC/ECE 517 Fall 2024 - E2463. UI for Student Task List]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2464 UI for Project Topics (was: Sign_up_Topics)]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2465. UI for Institutions and Notification]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2466. UI for Impersonate User]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2467. UI for View Submissions]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2469. Reimplement grades/view_team]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2470. Reimplement grades_controller]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2471. Reimplement logger]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2475. Reimplement student_task view]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2478. Reimplement the Question hierarchy as Item hierarchy]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2480. Implement testing for new Bookmarks Controller]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2482. Reimplement heatgrid for reviews]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2481 Reimplement response_map.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - G2401 Refactor Graphql API endpoint for contribution metrics]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - G2402 Refactor Graphql API endpoint for repositories]]&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024&amp;diff=157722</id>
		<title>CSC/ECE 517 Fall 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024&amp;diff=157722"/>
		<updated>2024-10-29T21:59:55Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[CSC/ECE 517 Fall 2024 - E2452. Refactor review_mapping_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2454. Refactor student_task.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2456. Refactor teams_user.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2455. Refactor sign_up_sheet_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2459. View for results of bidding]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2460 Mentor-Meeting Management]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2461. UI for Courses]]&lt;br /&gt;
* [[https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024_-_E2463_Implement_Front_End_for_Student_Task_List CSC/ECE 517 Fall 2024 - E2463. UI for Student Task List]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2464 UI for Project Topics (was: Sign_up_Topics)]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2465. UI for Institutions and Notification]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2466. UI for Impersonate User]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2467. UI for View Submissions]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2469. Reimplement grades/view_team]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2470. Reimplement grades_controller]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2471. Reimplement logger]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2475. Reimplement student_task view]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2478. Reimplement the Question hierarchy as Item hierarchy]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2480. Implement testing for new Bookmarks Controller]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2482. Reimplement heatgrid for reviews]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2481 Reimplement response_map.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - G2401 Refactor Graphql API endpoint for contribution metrics]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - G2402 Refactor Graphql API endpoint for repositories]]&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024&amp;diff=157715</id>
		<title>CSC/ECE 517 Fall 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024&amp;diff=157715"/>
		<updated>2024-10-29T21:58:27Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[CSC/ECE 517 Fall 2024 - E2452. Refactor review_mapping_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2454. Refactor student_task.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2456. Refactor teams_user.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2455. Refactor sign_up_sheet_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2459. View for results of bidding]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2460 Mentor-Meeting Management]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2461. UI for Courses]]&lt;br /&gt;
* [[https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024_-_E2463_Implement_Front_End_for_Student_Task_List#New_Implementation_%28React_JS_%26_TypeScript%29 CSC/ECE 517 Fall 2024 - E2463. UI for Student Task List]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2464 UI for Project Topics (was: Sign_up_Topics)]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2465. UI for Institutions and Notification]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2466. UI for Impersonate User]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2467. UI for View Submissions]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2469. Reimplement grades/view_team]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2470. Reimplement grades_controller]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2471. Reimplement logger]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2475. Reimplement student_task view]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2478. Reimplement the Question hierarchy as Item hierarchy]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2480. Implement testing for new Bookmarks Controller]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2482. Reimplement heatgrid for reviews]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2481 Reimplement response_map.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - G2401 Refactor Graphql API endpoint for contribution metrics]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - G2402 Refactor Graphql API endpoint for repositories]]&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024&amp;diff=157710</id>
		<title>CSC/ECE 517 Fall 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024&amp;diff=157710"/>
		<updated>2024-10-29T21:53:35Z</updated>

		<summary type="html">&lt;p&gt;Sphurthy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[CSC/ECE 517 Fall 2024 - E2452. Refactor review_mapping_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2454. Refactor student_task.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2456. Refactor teams_user.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2455. Refactor sign_up_sheet_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2459. View for results of bidding]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2460 Mentor-Meeting Management]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2461. UI for Courses]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2463. UI for Student Task List]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2464 UI for Project Topics (was: Sign_up_Topics)]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2465. UI for Institutions and Notification]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2466. UI for Impersonate User]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2467. UI for View Submissions]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2469. Reimplement grades/view_team]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2470. Reimplement grades_controller]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2471. Reimplement logger]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2475. Reimplement student_task view]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2478. Reimplement the Question hierarchy as Item hierarchy]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2480. Implement testing for new Bookmarks Controller]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2482. Reimplement heatgrid for reviews]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2481 Reimplement response_map.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - G2401 Refactor Graphql API endpoint for contribution metrics]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - G2402 Refactor Graphql API endpoint for repositories]]&lt;/div&gt;</summary>
		<author><name>Sphurthy</name></author>
	</entry>
</feed>