<?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=Ppriya2</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=Ppriya2"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Ppriya2"/>
	<updated>2026-05-18T11:50:07Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024_-_E2489._Create_a_UI_for_Assignment_Edit_page_%22Etc%22_tab_in_ReactJS&amp;diff=160475</id>
		<title>CSC/ECE 517 Fall 2024 - E2489. Create a UI for Assignment Edit page &quot;Etc&quot; tab in ReactJS</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024_-_E2489._Create_a_UI_for_Assignment_Edit_page_%22Etc%22_tab_in_ReactJS&amp;diff=160475"/>
		<updated>2024-12-04T02:21:38Z</updated>

		<summary type="html">&lt;p&gt;Ppriya2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Expertiza==&lt;br /&gt;
&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is an open-source, web-based application built on Ruby on Rails. Its main purpose is to provide flexible, interactive assignment management tools, tailored to educational settings. With Expertiza, instructors can create and customize assignments, specifying topics and tasks that students choose based on their interests. This system not only supports varied, self-guided learning experiences but also encourages active student engagement through choice.&lt;br /&gt;
&lt;br /&gt;
The platform is designed to support teamwork, enabling students to collaborate on projects, which aligns well with team-based learning approaches. One of Expertiza’s most notable features is its peer review system. This system lets students evaluate each other’s work, fostering skills in critical thinking, feedback, and self-reflection that are beneficial in both academic and professional contexts.&lt;br /&gt;
&lt;br /&gt;
The review feature on Expertiza is versatile, accepting multiple file formats, URLs, and even content from external sources like wiki pages. This adaptability makes Expertiza suitable for handling a wide variety of assignments and multimedia projects, fitting well with different teaching styles and course needs. Overall, Expertiza is a solid, comprehensive platform that enhances assignment management, collaborative learning, and peer-to-peer interactions within educational settings.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
This project aims to upgrade the user interface of select parts of the Expertiza application by utilizing modern front-end tools like ReactJS and Typescript. The focus is on redesigning key pages to make them more intuitive, responsive, and easier for users to navigate. By revamping these elements, we aim to solve current usability challenges, simplify the user journey, and create a unified visual style throughout the platform. The enhanced interface will help users handle assignments and tasks more effectively, aligning with contemporary design principles and elevating the overall experience.&lt;br /&gt;
&lt;br /&gt;
==Problem Statement==&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Etc&amp;quot; tab on the Assignment Edit page of the Expertiza application is due for a redesign using ReactJS. Currently, this section, which houses various miscellaneous settings, is cluttered and outdated. It lacks intuitive features that would make it easier for users to configure assignment options efficiently. Enhancing this tab aims to improve navigation, layout, and overall aesthetics while retaining its existing functionalities.&lt;br /&gt;
&lt;br /&gt;
A revamped UI should organize settings into clear sections using collapsible panels or tabs, which can help users find specific options quickly without having to scroll through a long list. Introducing tooltips or information icons next to less common settings can also offer helpful context, especially for new users.&lt;br /&gt;
&lt;br /&gt;
Visually, the redesign should use a modern color scheme and flat design elements consistent with the rest of the Expertiza application, giving the tab a cohesive and polished appearance. Replacing text-heavy fields with toggles, dropdowns, or sliders can also streamline the interface, making it more user-friendly. Following ReactJS best practices, the improved &amp;quot;Etc&amp;quot; tab would offer a responsive, engaging, and intuitive interface that simplifies the management of additional assignment configurations and aligns well with the overall platform design.&lt;br /&gt;
&lt;br /&gt;
== Technologies Used ==&lt;br /&gt;
&lt;br /&gt;
In this project, we chose React.js and TypeScript to create a strong, scalable user interface.&lt;br /&gt;
&lt;br /&gt;
* '''React.js''' a widely used JavaScript library, is ideal for building interactive, single-page applications. Its component-based structure lets us develop reusable UI elements, which streamlines both the creation and upkeep of the platform. React's state management features also ensure a smooth user experience as people move through different areas of the application.&lt;br /&gt;
&lt;br /&gt;
* '''TypeScript''', an extension of JavaScript, introduces static typing to the code, which boosts development efficiency and reduces potential errors. By catching issues during compile time instead of runtime, TypeScript helps us build a more reliable and robust application. Its type-checking system enhances code clarity and readability, simplifying teamwork and future maintenance.&lt;br /&gt;
&lt;br /&gt;
Using React.js and TypeScript together has allowed us to create an application that is user-friendly, efficient, and well-suited to our users' needs.&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Frontend (React &amp;amp; TypeScript) ===&lt;br /&gt;
The new &amp;quot;Etc&amp;quot; tab interface for the Assignment Edit page in Expertiza will be developed using **React** and **TypeScript**. By incorporating TypeScript, this project aims to create a user interface that is not only visually modern but also highly maintainable and type-safe. TypeScript’s built-in type-checking feature will catch errors during the coding process, significantly reducing issues that might otherwise arise at runtime. This will help streamline debugging and ensure a cleaner, more efficient codebase, ultimately improving both the functionality and longevity of the application.&lt;br /&gt;
&lt;br /&gt;
=== Component Structure ===&lt;br /&gt;
&lt;br /&gt;
==== Main Container Component (`EtcTab`) ====&lt;br /&gt;
* The `EtcTab` component will act as the main container for the &amp;quot;Etc&amp;quot; tab, organizing and rendering individual task components in a grid or card layout.&lt;br /&gt;
* It will house all task-specific components (`AddParticipantButton`, `CreateTeamsButton`, `AssignReviewerButton`, etc.) and ensure layout responsiveness.&lt;br /&gt;
&lt;br /&gt;
==== Task Button Components ====&lt;br /&gt;
* AddParticipantButton&lt;br /&gt;
  A button component that, when clicked, triggers a modal or redirects to the participant addition form.&lt;br /&gt;
&lt;br /&gt;
* CreateTeamsButton&lt;br /&gt;
  A button component to initiate the team creation process, either by redirecting to a dedicated page or displaying a modal with relevant options.&lt;br /&gt;
&lt;br /&gt;
* AssignReviewerButton&lt;br /&gt;
  A button component that opens the reviewer assignment view or triggers actions related to reviewer management.&lt;br /&gt;
&lt;br /&gt;
* ViewSubmissionsButton&lt;br /&gt;
  A button allowing users to view all assignment submissions, either by navigating to a submissions page or displaying them in a modal.&lt;br /&gt;
&lt;br /&gt;
* ViewScoresButton&lt;br /&gt;
  A button component for viewing assignment scores, either showing a summary in a modal or linking to a detailed scores page.&lt;br /&gt;
&lt;br /&gt;
* ViewReportsButton&lt;br /&gt;
  A button component for accessing assignment reports, providing users with an overview of feedback and performance metrics.&lt;br /&gt;
&lt;br /&gt;
* ViewDelayedJobs&lt;br /&gt;
  A button component for viewing delayed background jobs associated with the assignment&lt;br /&gt;
&lt;br /&gt;
=== Styling ===&lt;br /&gt;
The UI will be styled using CSS or CSS-in-JS (e.g., `styled-components`) for a cohesive and visually appealing layout.&lt;br /&gt;
&lt;br /&gt;
==== Grid or Card Layout ====&lt;br /&gt;
* Task buttons will be displayed in a grid or card format, providing a clear and organized view.&lt;br /&gt;
* Each button will use color coding and icons for better readability and easy navigation.&lt;br /&gt;
&lt;br /&gt;
==== Responsive Design ====&lt;br /&gt;
* The UI will adapt to various screen sizes, optimizing for both desktop and mobile devices to ensure a consistent user experience.&lt;br /&gt;
* Components will have distinct styles with hover effects and smooth transitions to enhance interactivity.&lt;br /&gt;
&lt;br /&gt;
== List of files added/updated ==&lt;br /&gt;
&lt;br /&gt;
# src/App.tsx  &lt;br /&gt;
# src/assets/scores.png&lt;br /&gt;
# src/pages/Assignments/Etc.css&lt;br /&gt;
# src/pages/Assignments/EtcView.tsx&lt;br /&gt;
&lt;br /&gt;
== Reimplementation ==&lt;br /&gt;
&lt;br /&gt;
* '''Step 1: Initial Setup and Navigation Layout'''&lt;br /&gt;
&lt;br /&gt;
The initial phase of our project focused on creating the foundational navigation layout for the admin interface. We introduced a tab-based structure, as illustrated in the provided screenshot, with tabs labeled General, Rubrics, Review Strategy, Due Dates, Badges, and Etc. This design prioritizes clarity, giving administrators straightforward access to different sections of the Assignment Edit page. The active state of the &amp;quot;Etc&amp;quot; tab visually highlights which section the admin is currently working on.&lt;br /&gt;
&lt;br /&gt;
This layout acts as the primary entry point for managing assignments, offering a user-friendly way to navigate the various tools and functionalities available. It ensures that administrators can quickly locate and manage specific features with ease, streamlining the overall workflow.&lt;br /&gt;
&lt;br /&gt;
[[File:oodd i1.jpg |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Step 2: Adding Base Content to the &amp;quot;Etc&amp;quot; Tab'''&lt;br /&gt;
&lt;br /&gt;
The next phase of the project involved establishing the core content structure for the &amp;quot;Etc&amp;quot; tab, as shown in the accompanying screenshot. At this point, placeholder text labeled &amp;quot;Etc Page Content&amp;quot; was used to mark the starting framework for future enhancements.&lt;br /&gt;
&lt;br /&gt;
This foundational step ensured that the tab was fully functional and ready to accommodate additional components and features. It also confirmed that the &amp;quot;Etc&amp;quot; tab integrated seamlessly within the broader navigation system, providing a stable base for iterative improvements.&lt;br /&gt;
&lt;br /&gt;
[[File:oodd i2.jpg|1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Step 3: Adding Action Buttons'''&lt;br /&gt;
&lt;br /&gt;
In this phase, action buttons were added to the &amp;quot;Etc&amp;quot; tab to support user interactions. A green &amp;quot;Save&amp;quot; button and a red &amp;quot;Back&amp;quot; button were placed at the bottom of the page. The &amp;quot;Save&amp;quot; button allows users to apply and preserve any changes made, while the &amp;quot;Back&amp;quot; button provides an easy way to return to the previous page.&lt;br /&gt;
&lt;br /&gt;
These additions significantly improve usability by enabling users to take direct and purposeful actions without leaving the &amp;quot;Etc&amp;quot; tab, streamlining their workflow.&lt;br /&gt;
&lt;br /&gt;
[[File:oodd i3.jpg |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Step 4: Integrating Functional Buttons in the &amp;quot;Etc&amp;quot; Tab'''&lt;br /&gt;
&lt;br /&gt;
We’ve enhanced the &amp;quot;Etc&amp;quot; tab by introducing interactive tiles for key administrative actions. These tiles offer direct access to essential tools, including Add Participant, Create Teams, Assign Reviewer, View Submissions, View Scores, View Reports, and View Delayed Jobs. Each tile acts as a gateway to a specific function, streamlining assignment management for administrators.&lt;br /&gt;
&lt;br /&gt;
This update boosts usability by allowing quick navigation to important features. The tiles feature a clean and intuitive design that prioritizes user-friendliness, making it easier for administrators to manage tasks efficiently. The layout integrates seamlessly with the rest of the interface, maintaining consistency across the platform’s tabs and ensuring a cohesive experience.&lt;br /&gt;
&lt;br /&gt;
[[File:oodd i4.jpg |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Step 5: Adding Iconography to Functional Tiles'''&lt;br /&gt;
&lt;br /&gt;
To improve the usability and visual appeal of the &amp;quot;Etc&amp;quot; tab, we integrated icons into each functional tile. These icons, primarily sourced from React Material UI, were selected to align with their respective actions:&lt;br /&gt;
&lt;br /&gt;
#Add Participant: User icon.&lt;br /&gt;
#Create Teams: Group icon.&lt;br /&gt;
#Assign Reviewer: Clipboard icon.&lt;br /&gt;
#View Submissions: Document icon.&lt;br /&gt;
#View Scores: Report icon.&lt;br /&gt;
#View Reports: File icon.&lt;br /&gt;
#View Delayed Jobs: Clock icon.&lt;br /&gt;
&lt;br /&gt;
React Material UI offers a dynamic set of customizable icons that fit naturally into React-based projects. By incorporating these visually appealing icons, the updated tiles became more descriptive and user-friendly. The icons provide clear, intuitive visual markers, helping users navigate more efficiently. This improvement aligns with modern design standards, ensuring that even tabs like &amp;quot;Etc&amp;quot; maintain a sleek and contemporary look.&lt;br /&gt;
&lt;br /&gt;
[[File:oodd i5.jpg |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Step 6: Adding a Title to the &amp;quot;Etc&amp;quot; Tab'''&lt;br /&gt;
&lt;br /&gt;
In this step, we added a descriptive title, &amp;quot;Editing Assignment: Meta Review Fix_1&amp;quot;, at the top of the &amp;quot;Etc&amp;quot; tab. This title dynamically reflects the assignment being edited, providing administrators with clear context for the task they are performing.&lt;br /&gt;
&lt;br /&gt;
[[File:oodd i6.jpg |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Step 7: Implementing Save Confirmation Banner'''&lt;br /&gt;
&lt;br /&gt;
We added a confirmation banner that notifies users of successful changes after clicking the &amp;quot;Save&amp;quot; button. The banner displays the message &amp;quot;The assignment was successfully saved!&amp;quot; in a green box, positioned at the top of the page to provide clear feedback.&lt;br /&gt;
&lt;br /&gt;
The banner is designed to appear immediately and automatically disappear after 3 seconds, offering a non-intrusive way to confirm user actions while maintaining a clean and seamless interface. This feature enhances usability by ensuring users are informed without disrupting their workflow.&lt;br /&gt;
&lt;br /&gt;
[[File:oodd i71.jpg |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Step 8: Navigating to Manage Assignments Page'''&lt;br /&gt;
&lt;br /&gt;
We implemented a seamless navigation flow where clicking the Back button on the &amp;quot;Edit Assignment&amp;quot; page redirects users to the Manage Assignments page. This page features an organized layout with search fields for assignment name, course name, creation date, and updated date, along with pagination controls for browsing through assignments.&lt;br /&gt;
&lt;br /&gt;
The design ensures administrators can efficiently manage assignments while maintaining an intuitive user experience. This functionality aligns with the overall navigation framework, keeping the interface consistent and user-friendly.&lt;br /&gt;
&lt;br /&gt;
[[File:oodd i8.jpg |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code Snippets ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''App.tsx :'''&lt;br /&gt;
&lt;br /&gt;
The code snippet we described integrates a new route, /assignments/etc, using React Router's createBrowserRouter function. This route supports the &amp;quot;Etc&amp;quot; view for editing assignments, tying it to the EtcView component from the ./pages/Assignments/EtcView module. Additionally, a loader property leverages the loadAssignment function to prefetch data, ensuring assignment details are available before the component renders.&lt;br /&gt;
&lt;br /&gt;
This enhancement improves the app's structure by isolating the handling of miscellaneous assignment tasks within a dedicated component. This modular approach not only supports easier future updates or extensions but also maintains clarity and clean separation of concerns. The asynchronous data loading through the loader further boosts user experience by making the interface feel more seamless and responsive.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import EtcView from &amp;quot;./pages/Assignments/EtcView&amp;quot;;&lt;br /&gt;
        {&lt;br /&gt;
          path: &amp;quot;assignments/etc&amp;quot;,&lt;br /&gt;
          element: &amp;lt;EtcView /&amp;gt;,&lt;br /&gt;
          loader: loadAssignment,&lt;br /&gt;
        },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''EtcView.tsx :'''&lt;br /&gt;
&lt;br /&gt;
The EtcView.tsx file is a React functional component designed to handle a tabbed interface for the &amp;quot;Etc&amp;quot; section of an assignment edit page. It uses useState to manage the current tab's state, allowing users to switch between options such as &amp;quot;General,&amp;quot; &amp;quot;Rubrics,&amp;quot; &amp;quot;Review Strategy,&amp;quot; &amp;quot;Due Dates,&amp;quot; &amp;quot;Badges,&amp;quot; and &amp;quot;Etc.&amp;quot; Each tab represents a distinct feature within the assignment-editing process.&lt;br /&gt;
&lt;br /&gt;
Within the &amp;quot;Etc&amp;quot; tab, the layout incorporates a grid that displays a variety of interactive elements. These include tools for adding participants, forming teams, assigning reviewers, checking submissions, managing scores and reports, and handling delayed jobs. The interface is visually enhanced with Material UI icons and custom images, creating a polished and intuitive user experience.&lt;br /&gt;
&lt;br /&gt;
Navigation buttons allow users to move between tabs seamlessly, while &amp;quot;Save&amp;quot; and &amp;quot;Back&amp;quot; buttons at the bottom enable straightforward interaction for saving changes or exiting the section. The component's layout relies on CSS classes like etc-container, tab-navigation, and etc-item to ensure a responsive, clean design that adapts to different screen sizes, making it user-friendly and visually cohesive.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
const EtcView: React.FC = () =&amp;gt; {&lt;br /&gt;
  const [activeTab, setActiveTab] = useState('Etc');&lt;br /&gt;
  const [showBanner, setShowBanner] = useState(false);&lt;br /&gt;
&lt;br /&gt;
  // Tab click handler&lt;br /&gt;
  const handleTabClick = (tabName: string) =&amp;gt; {&lt;br /&gt;
    setActiveTab(tabName);&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  // Save Button click handler&lt;br /&gt;
  const handleSave = () =&amp;gt; {&lt;br /&gt;
    setShowBanner(true);&lt;br /&gt;
    // Hide banner after 3 seconds&lt;br /&gt;
    setTimeout(() =&amp;gt; {&lt;br /&gt;
      setShowBanner(false);&lt;br /&gt;
    }, 3000);&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  // Back button click handler&lt;br /&gt;
  const handleBack = () =&amp;gt; {&lt;br /&gt;
    window.location.href = '/assignments';&lt;br /&gt;
  };&lt;br /&gt;
    &lt;br /&gt;
  return (&lt;br /&gt;
    &amp;lt;div className=&amp;quot;etc-container&amp;quot;&amp;gt;&lt;br /&gt;
      {/* Save banner which pops up once save is clicked  */}&lt;br /&gt;
      {showBanner &amp;amp;&amp;amp; (&lt;br /&gt;
        &amp;lt;div className=&amp;quot;success-banner&amp;quot;&amp;gt;&lt;br /&gt;
          The assignment was successfully saved!&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
      )}&lt;br /&gt;
      &amp;lt;h2&amp;gt;Editing Assignment: Meta Review Fix_1&amp;lt;/h2&amp;gt;&lt;br /&gt;
      {/* Tab Navigation */}&lt;br /&gt;
      &amp;lt;div className=&amp;quot;tab-navigation&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;button&lt;br /&gt;
          className={`tab ${activeTab === 'General' ? 'active' : ''}`}&lt;br /&gt;
          // onClick={() =&amp;gt; handleTabClick('General')}&lt;br /&gt;
        &amp;gt;&lt;br /&gt;
          General&lt;br /&gt;
        &amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button&lt;br /&gt;
          className={`tab ${activeTab === 'Rubrics' ? 'active' : ''}`}&lt;br /&gt;
          // onClick={() =&amp;gt; handleTabClick('Rubrics')}&lt;br /&gt;
        &amp;gt;&lt;br /&gt;
          Rubrics&lt;br /&gt;
        &amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button&lt;br /&gt;
          className={`tab ${activeTab === 'Review Strategy' ? 'active' : ''}`}&lt;br /&gt;
          // onClick={() =&amp;gt; handleTabClick('Review Strategy')}&lt;br /&gt;
        &amp;gt;&lt;br /&gt;
          Review Strategy&lt;br /&gt;
        &amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button&lt;br /&gt;
          className={`tab ${activeTab === 'Due Dates' ? 'active' : ''}`}&lt;br /&gt;
          // onClick={() =&amp;gt; handleTabClick('Due Dates')}&lt;br /&gt;
        &amp;gt;&lt;br /&gt;
          Due Dates&lt;br /&gt;
        &amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button&lt;br /&gt;
          className={`tab ${activeTab === 'Badges' ? 'active' : ''}`}&lt;br /&gt;
          onClick={() =&amp;gt; handleTabClick('Badges')}&lt;br /&gt;
        &amp;gt;&lt;br /&gt;
          Badges&lt;br /&gt;
        &amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button&lt;br /&gt;
          className={`tab ${activeTab === 'Etc' ? 'active' : ''}`}&lt;br /&gt;
          onClick={() =&amp;gt; handleTabClick('Etc')}&lt;br /&gt;
        &amp;gt;&lt;br /&gt;
          Etc&lt;br /&gt;
        &amp;lt;/button&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;div className=&amp;quot;tab-content&amp;quot;&amp;gt;&lt;br /&gt;
        {/* {activeTab === 'General' &amp;amp;&amp;amp; &amp;lt;p&amp;gt;General Content&amp;lt;/p&amp;gt;}&lt;br /&gt;
        {activeTab === 'Rubrics' &amp;amp;&amp;amp; &amp;lt;p&amp;gt;Rubrics Content&amp;lt;/p&amp;gt;} */}&lt;br /&gt;
        {activeTab === 'Badges' &amp;amp;&amp;amp; &amp;lt;p&amp;gt;Badges Content&amp;lt;/p&amp;gt;}&lt;br /&gt;
        {activeTab === 'Etc' &amp;amp;&amp;amp;  (&lt;br /&gt;
          &amp;lt;div&amp;gt;&lt;br /&gt;
            &amp;lt;div className=&amp;quot;etc-grid&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;div className=&amp;quot;etc-item&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;ParticipantIcon /&amp;gt;&lt;br /&gt;
                &amp;lt;span&amp;gt;Add Participant&amp;lt;/span&amp;gt;&lt;br /&gt;
              &amp;lt;/div&amp;gt;&lt;br /&gt;
              &amp;lt;div className=&amp;quot;etc-item&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;CreateTeamIcon /&amp;gt;&lt;br /&gt;
                &amp;lt;span&amp;gt;Create Teams&amp;lt;/span&amp;gt;&lt;br /&gt;
              &amp;lt;/div&amp;gt;&lt;br /&gt;
              &amp;lt;div className=&amp;quot;etc-item&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;ReviewerIcon/&amp;gt;&lt;br /&gt;
                &amp;lt;span&amp;gt;Assign Reviewer&amp;lt;/span&amp;gt;&lt;br /&gt;
              &amp;lt;/div&amp;gt;&lt;br /&gt;
              &amp;lt;div className=&amp;quot;etc-item&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;SubmissionIcon/&amp;gt;&lt;br /&gt;
                &amp;lt;span&amp;gt;View Submissions&amp;lt;/span&amp;gt;&lt;br /&gt;
              &amp;lt;/div&amp;gt;&lt;br /&gt;
              &amp;lt;div className=&amp;quot;etc-item&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;img src={scoreIcon} alt=&amp;quot;View Scores&amp;quot; className=&amp;quot;etc-icon&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;span&amp;gt;View Scores&amp;lt;/span&amp;gt;&lt;br /&gt;
              &amp;lt;/div&amp;gt;&lt;br /&gt;
              &amp;lt;div className=&amp;quot;etc-item&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;ReportIcon/&amp;gt;&lt;br /&gt;
                &amp;lt;span&amp;gt;View Reports&amp;lt;/span&amp;gt;&lt;br /&gt;
              &amp;lt;/div&amp;gt;&lt;br /&gt;
              &amp;lt;div className=&amp;quot;etc-item&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;DelayedIcon/&amp;gt;&lt;br /&gt;
                &amp;lt;span&amp;gt;View Delayed Jobs&amp;lt;/span&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;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      {/* Footer Action buttons */}&lt;br /&gt;
      &amp;lt;div className=&amp;quot;etc-actions&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;button onClick={handleSave} className=&amp;quot;save-button&amp;quot;&amp;gt;Save&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button onClick={handleBack} className=&amp;quot;back-button&amp;quot;&amp;gt;Back&amp;lt;/button&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;
export default EtcView;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usage of Design Principles ==&lt;br /&gt;
&lt;br /&gt;
The development of the admin interface for the &amp;quot;Etc&amp;quot; tab relied on several established design principles, ensuring the code remains maintainable, efficient, and scalable. Here’s an overview of the key principles applied:&lt;br /&gt;
&lt;br /&gt;
* '''SOLID Principles :'''&lt;br /&gt;
   &lt;br /&gt;
'''Single Responsibility Principle (SRP) :''' Each system component was crafted with a focused purpose. For example, the EtcView component handles only the rendering of the &amp;quot;Etc&amp;quot; tab, simplifying maintenance and extension while avoiding unnecessary complications.&lt;br /&gt;
&lt;br /&gt;
'''Open/Closed Principle (OCP) :''' The design accommodates enhancements without modifying existing code. This adaptability allows new features, such as additional admin actions or tabs, to integrate seamlessly without destabilizing the system.&lt;br /&gt;
&lt;br /&gt;
'''Liskov Substitution Principle (LSP) :''' Components adhering to shared interfaces can be swapped easily, ensuring smooth functionality. For instance, any component that follows the tab rendering interface can replace another without disrupting operations, promoting code flexibility and reuse.&lt;br /&gt;
&lt;br /&gt;
'''Interface Segregation Principle (ISP) :''' Interfaces were streamlined to include only relevant methods, keeping them clear and easy to use. For example, state management for each tab is handled independently, allowing developers to work efficiently with focused methods.&lt;br /&gt;
&lt;br /&gt;
'''Dependency Inversion Principle (DIP) :''' Abstraction is prioritized, meaning components depend on generalized abstractions rather than specific implementations. This modular approach ensures changes to underlying systems, such as adopting a new state management tool, are straightforward and minimally disruptive.&lt;br /&gt;
&lt;br /&gt;
* '''DRY (Don’t Repeat Yourself) :'''&lt;br /&gt;
&lt;br /&gt;
Redundancy was avoided by creating reusable elements like buttons, icons, and tab structures. This approach allows updates to be implemented universally with minimal effort, saving time and reducing the likelihood of errors during future changes.&lt;br /&gt;
&lt;br /&gt;
* '''Separation of Concerns (SoC) :'''&lt;br /&gt;
&lt;br /&gt;
Functions for handling interactions, like tab switching, are distinct from the visual elements of the UI. This separation ensures UI components focus purely on presentation while state management and event handling remain in dedicated functions, simplifying debugging and future modifications.&lt;br /&gt;
&lt;br /&gt;
== Future Scope ==&lt;br /&gt;
&lt;br /&gt;
* '''Enhanced Admin Controls and Customization :'''&lt;br /&gt;
&lt;br /&gt;
Admins can benefit significantly from enhanced customization and functionality. A promising upgrade would allow administrators to modify how tools and features are organized or displayed. For instance, giving admins the ability to set default layouts, prioritize sections based on importance, or fine-tune specific button functionalities would make the interface more adaptable to varying needs.&lt;br /&gt;
&lt;br /&gt;
* '''Advanced Data Management and Filtering :'''&lt;br /&gt;
&lt;br /&gt;
As data volumes grow, robust filtering and search tools become crucial. Enhancing these capabilities to include options like role-based filters, activity tracking, or status categorization could simplify the process of finding participants, teams, or submissions. Such advanced search tools would save time and improve efficiency, especially when managing large datasets.&lt;br /&gt;
&lt;br /&gt;
* '''Automated Tasks for Efficiency :'''&lt;br /&gt;
&lt;br /&gt;
Streamlining repetitive tasks through automation can also optimize administrative workflows. Automating processes such as assigning reviewers, sending timely reminders, or notifying admins of new submissions would minimize manual input while ensuring tasks are handled promptly.&lt;br /&gt;
&lt;br /&gt;
* '''Better Reporting and Insights :'''&lt;br /&gt;
&lt;br /&gt;
Lastly, expanding reporting tools with detailed analytics could provide invaluable insights. For example, reports on participant progress or submission timelines could aid in decision-making and system refinement, offering a clearer picture of overall performance and trends.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
* '''Unit Testing :'''&lt;br /&gt;
&lt;br /&gt;
To ensure the &amp;quot;Etc&amp;quot; tab functions as intended, we conducted thorough testing at multiple levels. First, individual elements like buttons, icons, and text fields were tested to verify that they behaved correctly. For instance, we checked if buttons responded to clicks or if icons displayed without issues. This approach helped us confirm the reliability of each component before assembling the full interface.&lt;br /&gt;
&lt;br /&gt;
* '''Responsive Design Testing :'''&lt;br /&gt;
&lt;br /&gt;
Responsive design was also a priority. We tested the interface across various devices, including smartphones, tablets, and desktops, to ensure the layout adjusted smoothly to different screen sizes. These tests guaranteed that the application remained user-friendly and visually intact, regardless of the device used.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
In conclusion, the redesign of the &amp;quot;Etc&amp;quot; tab introduces meaningful improvements to the user experience on Expertiza's Assignment Edit page. By adopting React and TypeScript, the updated design simplifies key administrative processes like managing participants, creating teams, and assigning reviewers. Its modular, component-driven structure makes the system easier to maintain and scale, ensuring that future updates can be implemented with minimal disruption.&lt;br /&gt;
&lt;br /&gt;
The emphasis on responsive design and performance optimizations ensures the platform works smoothly across various devices, offering users a consistent and efficient way to manage assignments. Looking ahead, this flexible framework paves the way for adding new features and enhancements based on user feedback. Potential upgrades might include advanced reporting tools, more customization options, or even interactive features that make managing assignments even more intuitive. With ongoing iteration, this redesign helps keep Expertiza's interface both modern and responsive to the needs of its users.&lt;br /&gt;
&lt;br /&gt;
== Github repository ==&lt;br /&gt;
&lt;br /&gt;
Here is the link to the front-end reimplementation:&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Front end:''' &amp;lt;/br&amp;gt; '''github''' [https://github.com/pankhuri03/reimplementation-front-end]&lt;br /&gt;
&lt;br /&gt;
'''These changes can be viewed in this pull request''' [https://github.com/expertiza/reimplementation-front-end/pull/78].&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
&lt;br /&gt;
=== Mentor: ===&lt;br /&gt;
&lt;br /&gt;
Kashika Malick (kmalick@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
=== Students: ===&lt;br /&gt;
&lt;br /&gt;
Pankhuri Priya (ppriya2@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Sreeja Nukarapu (snukara@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Navyatej Tummala (ntummal3@ncsu.edu)&lt;/div&gt;</summary>
		<author><name>Ppriya2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024&amp;diff=159471</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=159471"/>
		<updated>2024-11-13T04:48:30Z</updated>

		<summary type="html">&lt;p&gt;Ppriya2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[CSC/ECE 517 Fall 2024 - E2450. Refactor assignments_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2451. Reimplement feedback_response_map.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2452. Refactor review_mapping_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2453. Refactor review_mapping_helper.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2454. Refactor student_task.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2455. Refactor sign_up_sheet_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2456. Refactor teams_user.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2456. Refactor teams_user.rb (Phase 2 - Design Document)]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2457. GitHub metrics integration]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2458. User management and users table]]&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 - E2461. UI and Backend for Courses]]&lt;br /&gt;
* [https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024_-_E2462._UI_for_Questionnaires CSC/ECE 517 Fall 2024 - E2462. UI for Questionnaire.rb]&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 - E2468. Reimplement due_date]]&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 - E2472. Reimplement responses_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2473. Reimplement sign up topic.rb as project topic.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2474. Reimplement student_quizzes_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2475. Reimplement student_task view]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2476. Reimplement student_teams_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2477. Reimplement suggestion_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2478. Reimplement the Question hierarchy as Item hierarchy]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2479. Reimplement teams_users_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2480. Implement testing for new Bookmarks Controller]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2481 Reimplement response_map.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2482. Reimplement heatgrid for reviews]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2483. Reimplement Notification Controller and Model]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2484. Reimplement participants_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2485. Allow reviewers to bid on what to review]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2487. Reimplement authorization_helper.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2488 Reimplementation of Add TA to course]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2489. Create a UI for Assignment Edit page &amp;quot;Etc&amp;quot; tab in ReactJS]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2491.UI for View assignments in Courses view]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2492. UI for View submissions/assign grades (except heatgrid)]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2024 - E2493. UI for Assign Reviewers]]&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>Ppriya2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024_-_E2475._Reimplement_student_task_view&amp;diff=158721</id>
		<title>CSC/ECE 517 Fall 2024 - E2475. Reimplement student task view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024_-_E2475._Reimplement_student_task_view&amp;diff=158721"/>
		<updated>2024-11-02T19:05:24Z</updated>

		<summary type="html">&lt;p&gt;Ppriya2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Expertiza Background ==&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is an open-source, web-based application built on Ruby on Rails. Its main purpose is to provide flexible, interactive assignment management tools, tailored to educational settings. With Expertiza, instructors can create and customize assignments, specifying topics and tasks that students choose based on their interests. This system not only supports varied, self-guided learning experiences but also encourages active student engagement through choice.&lt;br /&gt;
&lt;br /&gt;
The platform is designed to support teamwork, enabling students to collaborate on projects, which aligns well with team-based learning approaches. One of Expertiza’s most notable features is its peer review system. This system lets students evaluate each other’s work, fostering skills in critical thinking, feedback, and self-reflection that are beneficial in both academic and professional contexts.&lt;br /&gt;
&lt;br /&gt;
The review feature on Expertiza is versatile, accepting multiple file formats, URLs, and even content from external sources like wiki pages. This adaptability makes Expertiza suitable for handling a wide variety of assignments and multimedia projects, fitting well with different teaching styles and course needs. Overall, Expertiza is a solid, comprehensive platform that enhances assignment management, collaborative learning, and peer-to-peer interactions within educational settings.&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
&lt;br /&gt;
In the Expertiza application, the student task view acts as a central hub where students can access crucial assignment information, manage submissions, and monitor their progress. This feature consolidates all assignment details in one place, including the assignment title, stage deadlines (for submission, review, and feedback), and individual progress updates. By organizing information clearly, the task view helps students stay on top of their responsibilities, making it an essential aspect of the Expertiza experience.&lt;br /&gt;
&lt;br /&gt;
Our goal with this reimplementation is to redesign the student task view using modern frontend technologies like React JS and TypeScript, enhancing the app’s performance and responsiveness. These technologies will enable us to build a more intuitive, interactive interface with real-time updates, allowing students to see any changes in deadlines, submission statuses, or feedback availability instantly. This upgrade focuses on usability, aiming to deliver a smooth, user-friendly experience that helps students efficiently manage their academic tasks.&lt;br /&gt;
&lt;br /&gt;
The project highlights three key features to meet this goal:&lt;br /&gt;
&lt;br /&gt;
* Task Details View: This feature will present key assignment details such as the title, submission and review due dates, progress status, and any earned badges. By providing a straightforward overview, students can quickly understand their current status and tasks without navigating through multiple pages.&lt;br /&gt;
&lt;br /&gt;
* Task Interaction: Aiming to simplify task interactions, the new design will feature accessible options for submitting work, requesting revisions, and accessing feedback from instructors or peers. Actions will be streamlined to minimize steps, making assignment management easier for students. Improved navigation will also allow students to switch seamlessly between different sections within the task view.&lt;br /&gt;
&lt;br /&gt;
* Timeline Visualization: The new design will integrate a visual timeline, clearly marking assignment deadlines and review stages. This timeline will highlight key due dates and milestones, enabling students to track their progress visually and plan for upcoming tasks. By seeing the assignment flow in a visual format, students can better manage their time and stay on track throughout the assignment cycle.&lt;br /&gt;
&lt;br /&gt;
This reimplementation not only improves the student task view’s design and usability but also creates a more organized and supportive environment, ultimately enhancing the overall student experience in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Reimplementation ==&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/ntummal3/reimplementation-front-end/blob/pankhuri_v1/src/pages/StudentTasks/StudentTask.tsx StudentTaskView.tsx] file includes a React component called StudentTask. This component handles the display of the student task view, showing assignment information, deadlines, and interactive options that vary depending on user permissions. It imports essential modules and functions from React along with custom utility files.&lt;br /&gt;
&lt;br /&gt;
* At the top of the page, a bold title welcomes the user with the assignment name, &amp;quot;OSS Project &amp;amp; Documentation.&amp;quot; Just below it, a green notification bar provides students with straightforward instructions on their next steps.&lt;br /&gt;
&lt;br /&gt;
 [[File:wiki i1.jpg |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In the second image, the view expands to show various options available for students to manage their assignments. Links such as &amp;quot;Your Team,&amp;quot; &amp;quot;Your Work,&amp;quot; &amp;quot;Others' Work,&amp;quot; and &amp;quot;Your Scores&amp;quot; are listed, each accompanied by a brief description to clarify available actions. This layout enables students to navigate easily between sections in their assignment workflow, enhancing the platform’s usability.&lt;br /&gt;
 [[File:wiki i2.png |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In this image, alongside the activity navigation links, there's a new option titled &amp;quot;Send Email to Reviewers.&amp;quot; This feature allows students to easily connect with their reviewers, streamlining communication. Its strategic placement ensures quick access, making the process more efficient.&lt;br /&gt;
 [[File:Wiki i3.jpg|1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* This shows the same layout but also includes a visual timeline of past deadlines at the bottom. Key dates, like submission and review deadlines, are marked with red dots and labeled for clarity. This timeline feature gives students an easy, visual way to track their progress and stay on top of important deadlines, enhancing the overall user experience.&lt;br /&gt;
 [[File:Wiki i4.jpg |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The timeline includes additional checkpoints showing approaching deadlines for submission and peer review rounds, with each milestone clearly labeled by due date and type, like &amp;quot;Submission Deadline&amp;quot; or &amp;quot;Round 1 Peer Review.&amp;quot; This setup lets students easily see their upcoming tasks at a glance.&lt;br /&gt;
 [[File:Wiki i5.jpg |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In this image, the layout includes the footer, i.e., navigation links at the bottom for &amp;quot;Back,&amp;quot; &amp;quot;Help,&amp;quot; and &amp;quot;Papers on Expertiza,&amp;quot; giving students quick access to extra resources. This extended timeline supports assignment management across a full semester or project cycle, improving both clarity and usability.&lt;br /&gt;
 [[File:Wiki i6.jpg |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of files added/updated ==&lt;br /&gt;
&lt;br /&gt;
# src/App.tsx  &lt;br /&gt;
# src/pages/StudentTasks/DummyData.json&lt;br /&gt;
# src/pages/StudentTasks/StudentTask.css&lt;br /&gt;
# src/pages/StudentTasks/StudentTask.tsx&lt;br /&gt;
&lt;br /&gt;
== Code Snippets ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''DummyData.json :'''&lt;br /&gt;
&lt;br /&gt;
The DummyData.json file supplies mock data for the StudentTask component, outlining the assignment name and key timeline milestones. The &amp;quot;assignmentName&amp;quot; field holds a string with the assignment title, &amp;quot;OSS project &amp;amp; documentation.&amp;quot; The &amp;quot;timeline&amp;quot; field is an array of milestone objects, each featuring a &amp;quot;date&amp;quot; field for the deadline date and time, along with a &amp;quot;label&amp;quot; field indicating its purpose, such as &amp;quot;Submission deadline&amp;quot; or &amp;quot;Round 1 peer review.&amp;quot; This data is essential for visualizing assignment milestones within the StudentTask component, providing users with a clear view of important deadlines.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;assignmentName&amp;quot;: &amp;quot;OSS project &amp;amp; documentation&amp;quot;,&lt;br /&gt;
  &amp;quot;timeline&amp;quot;: [&lt;br /&gt;
    { &amp;quot;date&amp;quot;: &amp;quot;Fri, 27 Sep 2024 23:59&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Submission deadline&amp;quot; },&lt;br /&gt;
    { &amp;quot;date&amp;quot;: &amp;quot;Mon, 30 Sep 2024 23:59&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Review deadline&amp;quot; },&lt;br /&gt;
    { &amp;quot;date&amp;quot;: &amp;quot;Thu, 03 Oct 2024 23:59&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Submission deadline&amp;quot; },&lt;br /&gt;
    { &amp;quot;date&amp;quot;: &amp;quot;Sat, 15 Nov 2024 14:34&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Round 1 peer review&amp;quot; },&lt;br /&gt;
    { &amp;quot;date&amp;quot;: &amp;quot;Tue, 10 Dec 2024 23:59&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Review deadline&amp;quot; }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''StudentTask.tsx :'''&lt;br /&gt;
&lt;br /&gt;
The StudentTask.tsx file is a functional React component that serves as the main interface for managing student assignments within the app. Built with TypeScript to improve type safety, it starts by importing essential dependencies, including React, relevant CSS for styling, and a DummyData.json file containing sample assignment and timeline data. Key interfaces, such as TimelineItem, are defined to enforce a consistent structure and validate the data types used.&lt;br /&gt;
&lt;br /&gt;
Within the component's logic, it retrieves the assignment name and timeline details, sets the current date, and includes a function called getStatusClass that determines the status of each timeline item based on its deadline. Additionally, it provides an email feature that lets users send reminders to reviewers. The render method outputs a well-structured layout with a header, user instructions, an email button, a list of assignment-related actions, and an organized timeline showing each deadline alongside its status. The footer offers navigation links for further support. In essence, StudentTask.tsx enhances user experience by integrating interactivity with a clear presentation, allowing students to effectively keep track of their assignments and deadlines.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import React from 'react';&lt;br /&gt;
import './StudentTask.css';&lt;br /&gt;
import dummyData from './DummyData.json';&lt;br /&gt;
&lt;br /&gt;
interface StudentTaskProps {&lt;br /&gt;
    assignmentName: string;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
interface TimelineItem {&lt;br /&gt;
    date: string;&lt;br /&gt;
    label: string;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
const StudentTask: React.FC = () =&amp;gt; {&lt;br /&gt;
    const assignmentName = dummyData.assignmentName;&lt;br /&gt;
    const items: TimelineItem[] = dummyData.timeline;&lt;br /&gt;
    const currentDate = new Date();&lt;br /&gt;
&lt;br /&gt;
    const getStatusClass = (date: string) =&amp;gt; {&lt;br /&gt;
        const deadline = new Date(date);&lt;br /&gt;
        if (currentDate &amp;gt; deadline) return 'past-deadline';&lt;br /&gt;
        else return 'approaching-deadline';&lt;br /&gt;
    };&lt;br /&gt;
    const handleSendEmail = () =&amp;gt; {&lt;br /&gt;
        window.location.href = &amp;quot;mailto:reviewers@example.com?subject=Review Reminder&amp;amp;body=Please review the submission for Program 2.&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    return (&lt;br /&gt;
    &amp;lt;div className=&amp;quot;student-task-container&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;h1&amp;gt;Submit or Review work for {assignmentName}&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div className=&amp;quot;instruction&amp;quot;&amp;gt;&lt;br /&gt;
        Next: Click the activity you wish to perform on the assignment titled: {assignmentName}&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;div style={{ position: 'relative'}}&amp;gt;&lt;br /&gt;
            &amp;lt;button&lt;br /&gt;
                onClick={handleSendEmail}&lt;br /&gt;
                style={{&lt;br /&gt;
                position: 'absolute',&lt;br /&gt;
                right: '20px',&lt;br /&gt;
                backgroundColor: 'transparent',&lt;br /&gt;
                color: '#986633',&lt;br /&gt;
                border: 'none',&lt;br /&gt;
                cursor: 'pointer',&lt;br /&gt;
                textDecoration: 'underline'&lt;br /&gt;
                }}&lt;br /&gt;
            &amp;gt;&lt;br /&gt;
                Send Email To Reviewers&lt;br /&gt;
            &amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
        &amp;lt;ul className=&amp;quot;actions&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Your team&amp;lt;/a&amp;gt; (View and manage your team)&amp;lt;/li&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Your work&amp;lt;/a&amp;gt; (View your work)&amp;lt;/li&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Others' work&amp;lt;/a&amp;gt; (Give feedback to others on their work)&amp;lt;/li&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&lt;br /&gt;
            &amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Your scores&amp;lt;/a&amp;gt; (View feedback on your work) &lt;br /&gt;
            &amp;lt;span&amp;gt; | &amp;lt;/span&amp;gt;&lt;br /&gt;
            &amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Alternate View&amp;lt;/a&amp;gt;&lt;br /&gt;
            &amp;lt;/li&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Change your handle&amp;lt;/a&amp;gt; (Provide a different handle for this assignment)&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;/ul&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;div className=&amp;quot;timeline&amp;quot;&amp;gt;&lt;br /&gt;
        {items.map((item, index) =&amp;gt; (&lt;br /&gt;
            &amp;lt;div key={index} className={`timeline-item ${getStatusClass(item.date)}`}&amp;gt;&lt;br /&gt;
                &amp;lt;li&amp;gt;&lt;br /&gt;
            &amp;lt;div className=&amp;quot;timeline-circle&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;span className=&amp;quot;timeline-date&amp;quot;&amp;gt;{item.date}&amp;lt;/span&amp;gt;&lt;br /&gt;
            &amp;lt;span className=&amp;quot;timeline-label&amp;quot;&amp;gt;{item.label}&amp;lt;/span&amp;gt;&lt;br /&gt;
            &amp;lt;/li&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&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=&amp;quot;footer&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;a href=&amp;quot;javascript:window.history.back()&amp;quot;&amp;gt;Back&amp;lt;/a&amp;gt; |&lt;br /&gt;
            &amp;lt;a href=&amp;quot;http://wiki.expertiza.ncsu.edu/index.php/Expertiza_documentation&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;Help&amp;lt;/a&amp;gt; |&lt;br /&gt;
            &amp;lt;a href=&amp;quot;http://research.csc.ncsu.edu/efg/expertiza/papers&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;Papers on Expertiza&amp;lt;/a&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;
export default StudentTask;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''App.tsx :'''&lt;br /&gt;
&lt;br /&gt;
In App.tsx, we added routing code to integrate the StudentTask component, enabling users to navigate directly to the student task interface through a specific route. By importing StudentTask from ./pages/StudentTasks/StudentTask, the component becomes accessible within the main application.&lt;br /&gt;
&lt;br /&gt;
The routing setup defines an object that specifies the path and its associated component:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import StudentTask from &amp;quot;./pages/StudentTasks/StudentTask&amp;quot;;&lt;br /&gt;
{&lt;br /&gt;
          path: &amp;quot;/student_tasks&amp;quot;,&lt;br /&gt;
          element: &amp;lt;StudentTask /&amp;gt;&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This code snippet creates a new route at /student_tasks, which renders the StudentTask component whenever that path is accessed. This setup provides smooth navigation to the student tasks page, where students can easily view and manage their assignments, actions, and timelines directly from this route.&lt;br /&gt;
&lt;br /&gt;
== Usage of SOLID Principles ==&lt;br /&gt;
&lt;br /&gt;
* '''Single Responsibility Principle :'''&lt;br /&gt;
&lt;br /&gt;
The StudentTask.tsx component follows the Single Responsibility Principle by concentrating on one main task: managing the interface for viewing and interacting with student assignment tasks. Each function within the component, such as getStatusClass or handleSendEmail, serves a specific purpose, all working together to present assignment-related information and actions seamlessly.&lt;br /&gt;
&lt;br /&gt;
Here’s a code snippet illustrating SRP:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
const getStatusClass = (date: string) =&amp;gt; {&lt;br /&gt;
    const deadline = new Date(date);&lt;br /&gt;
    if (currentDate &amp;gt; deadline) return 'past-deadline';&lt;br /&gt;
    else return 'approaching-deadline';&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
const handleSendEmail = () =&amp;gt; {&lt;br /&gt;
    window.location.href = &amp;quot;mailto:reviewers@example.com?subject=Review Reminder&amp;amp;body=Please review the submission for Program 2.&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each function here has one specific task, whether it’s determining the status class of a deadline or handling an email action, ensuring the component remains modular and focused.&lt;br /&gt;
&lt;br /&gt;
* '''Interface Segregation Principle (ISP):'''&lt;br /&gt;
&lt;br /&gt;
The Interface Segregation Principle suggests using smaller, more focused interfaces rather than large, general ones. In StudentTask.tsx, this principle is partially implemented by defining distinct interfaces like StudentTaskProps and TimelineItem, each with minimal, specific responsibilities. This approach makes each type easier to manage and use where needed without unnecessary complexity.&lt;br /&gt;
&lt;br /&gt;
Here’s a code snippet illustrating isp:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
interface StudentTaskProps {&lt;br /&gt;
    assignmentName: string;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
interface TimelineItem {&lt;br /&gt;
    date: string;&lt;br /&gt;
    label: string;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keeping interfaces small and focused allows us to change or extend each one without impacting unrelated parts of the application.&lt;br /&gt;
&lt;br /&gt;
== Improvements ==&lt;br /&gt;
&lt;br /&gt;
In our reimplementation, we've significantly improved the user interface, prioritizing clarity, usability, and an enhanced user experience. By tackling the main challenges found in the original Expertiza website, we set out to develop a design that is both more intuitive and visually appealing.&lt;br /&gt;
&lt;br /&gt;
=== Timeline Alignment ===&lt;br /&gt;
&lt;br /&gt;
In our redesigned interface, we’ve significantly improved the alignment of timeline deadlines to boost the user experience. By arranging deadlines in a clear, sequential format, users can effortlessly follow the flow of submission and review stages, lowering the chance of missing any crucial dates.&lt;br /&gt;
&lt;br /&gt;
This structured layout allows users to distinguish between different phases at a glance, making it clear when specific actions need to be taken. Unlike the original Expertiza site, where deadlines might feel cluttered and challenging to track, our design displays each milestone within a cohesive, easy-to-navigate timeline.&lt;br /&gt;
&lt;br /&gt;
Aligning the timeline properly results in a cleaner interface with reduced mental effort for the user. They can quickly scan through and understand the chronological order without struggling through scattered elements. Each deadline is visibly linked to its relevant tasks, which strengthens overall comprehension.&lt;br /&gt;
&lt;br /&gt;
Additionally, this organized view aids users in planning their activities more efficiently. Seeing how deadlines are interconnected at a glance enables them to prioritize and manage their time more effectively. This streamlined setup simplifies deadline management, fostering proactive interaction with the platform and offering a more intuitive experience compared to the original Expertiza layout.&lt;br /&gt;
&lt;br /&gt;
=== Navigation Links ===&lt;br /&gt;
&lt;br /&gt;
In our redesign, the navigation links have been strategically improved to enhance usability. By grouping the &amp;quot;Back,&amp;quot; &amp;quot;Help,&amp;quot; and &amp;quot;Papers on Expertiza&amp;quot; links at the bottom of the interface, we’ve created a more intuitive navigation experience. This setup streamlines access to essential resources, which simplifies the overall workflow.&lt;br /&gt;
&lt;br /&gt;
With these links consolidated in one area, users can easily find what they need without being distracted by scattered options. This design enables users to move back in their tasks, seek help, or access relevant papers quickly and easily—all in one click. Ultimately, this organized layout fosters a smoother user experience, minimizing frustration and encouraging more productive engagement with the platform.&lt;br /&gt;
&lt;br /&gt;
== Technologies Used ==&lt;br /&gt;
&lt;br /&gt;
In this project, we chose React.js and TypeScript to create a strong, scalable user interface.&lt;br /&gt;
&lt;br /&gt;
* '''React.js''' a widely used JavaScript library, is ideal for building interactive, single-page applications. Its component-based structure lets us develop reusable UI elements, which streamlines both the creation and upkeep of the platform. React's state management features also ensure a smooth user experience as people move through different areas of the application.&lt;br /&gt;
&lt;br /&gt;
* '''TypeScript''', an extension of JavaScript, introduces static typing to the code, which boosts development efficiency and reduces potential errors. By catching issues during compile time instead of runtime, TypeScript helps us build a more reliable and robust application. Its type-checking system enhances code clarity and readability, simplifying teamwork and future maintenance.&lt;br /&gt;
&lt;br /&gt;
Using React.js and TypeScript together has allowed us to create an application that is user-friendly, efficient, and well-suited to our users' needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Scope for future improvement ==&lt;br /&gt;
&lt;br /&gt;
=== Database Integration ===&lt;br /&gt;
&lt;br /&gt;
This change will allow dynamic data retrieval, ensuring the application always shows the latest information. Also, some tables might require adjustments—such as adding or removing columns—to keep the structure in sync with any updates or changes.&lt;br /&gt;
&lt;br /&gt;
=== Notification System Integration === &lt;br /&gt;
&lt;br /&gt;
Implementing real-time notifications would enable students to receive instant alerts on upcoming deadlines, new peer review requests, and task updates, keeping them proactively informed. Notifications could appear within the app, as well as via optional email or SMS alerts, ensuring critical information is accessible even outside the platform. This feature would reduce the need for students to constantly check for updates, streamlining task management and supporting timely completion of assignments.&lt;br /&gt;
&lt;br /&gt;
=== Search and Filter Functionality ===&lt;br /&gt;
&lt;br /&gt;
Adding search and filter features allows users to quickly find specific tables or records in the database. User-friendly tools like keyword search, criteria-based filters, and instant suggestions enhance the experience, while persistent filters and robust error handling support smooth navigation and efficient access to relevant information.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
Testing was initially outside the scope of our project, as the main focus was frontend development. However, validating the functionality and user experience of the interface remains essential. Therefore, manual testing procedures will be implemented to confirm the correct operation of UI components. These procedures include:&lt;br /&gt;
&lt;br /&gt;
* Ensuring that timeline items display with the correct status indicators based on deadlines.&lt;br /&gt;
* Ensuring that the status colors (e.g., past-deadline vs. approaching-deadline) update accurately based on the current date, clearly indicating the urgency of each deadline.&lt;br /&gt;
* Verifying all added buttons and links to ensure they function as expected.&lt;br /&gt;
&lt;br /&gt;
== Peer Review Information ==&lt;br /&gt;
For those who wish to access the Expertiza application linked to this assignment, the login details are provided below:&lt;br /&gt;
&lt;br /&gt;
'''Admin credentials:''' Username -&amp;gt; admin, Password -&amp;gt; password123&lt;br /&gt;
&lt;br /&gt;
The expertiza application can be accessed by running the front end and back end simultaneously on your local laptop. The instructions on how to run the application is on the respective repositories.&lt;br /&gt;
&lt;br /&gt;
== Github repository ==&lt;br /&gt;
&lt;br /&gt;
Here are the links to the front-end and back-end reimplementations:&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Front end:''' &amp;lt;/br&amp;gt; '''github''' [https://github.com/ntummal3/reimplementation-front-end]&lt;br /&gt;
&lt;br /&gt;
'''These changes can be viewed in this pull request''' [https://github.com/expertiza/reimplementation-front-end/pull/71].&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
&lt;br /&gt;
=== Mentor: ===&lt;br /&gt;
&lt;br /&gt;
Kashika Malick (kmalick@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
=== Students: ===&lt;br /&gt;
&lt;br /&gt;
Pankhuri Priya (ppriya2@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Sreeja Nukarapu (snukara@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Navyatej Tummala (ntummal3@ncsu.edu)&lt;/div&gt;</summary>
		<author><name>Ppriya2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024_-_E2475._Reimplement_student_task_view&amp;diff=158197</id>
		<title>CSC/ECE 517 Fall 2024 - E2475. Reimplement student task view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024_-_E2475._Reimplement_student_task_view&amp;diff=158197"/>
		<updated>2024-10-30T02:17:08Z</updated>

		<summary type="html">&lt;p&gt;Ppriya2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Expertiza Background ==&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is an open-source, web-based application built on Ruby on Rails. Its main purpose is to provide flexible, interactive assignment management tools, tailored to educational settings. With Expertiza, instructors can create and customize assignments, specifying topics and tasks that students choose based on their interests. This system not only supports varied, self-guided learning experiences but also encourages active student engagement through choice.&lt;br /&gt;
&lt;br /&gt;
The platform is designed to support teamwork, enabling students to collaborate on projects, which aligns well with team-based learning approaches. One of Expertiza’s most notable features is its peer review system. This system lets students evaluate each other’s work, fostering skills in critical thinking, feedback, and self-reflection that are beneficial in both academic and professional contexts.&lt;br /&gt;
&lt;br /&gt;
The review feature on Expertiza is versatile, accepting multiple file formats, URLs, and even content from external sources like wiki pages. This adaptability makes Expertiza suitable for handling a wide variety of assignments and multimedia projects, fitting well with different teaching styles and course needs. Overall, Expertiza is a solid, comprehensive platform that enhances assignment management, collaborative learning, and peer-to-peer interactions within educational settings.&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
&lt;br /&gt;
In the Expertiza application, the student task view acts as a central hub where students can access crucial assignment information, manage submissions, and monitor their progress. This feature consolidates all assignment details in one place, including the assignment title, stage deadlines (for submission, review, and feedback), and individual progress updates. By organizing information clearly, the task view helps students stay on top of their responsibilities, making it an essential aspect of the Expertiza experience.&lt;br /&gt;
&lt;br /&gt;
Our goal with this reimplementation is to redesign the student task view using modern frontend technologies like React JS and TypeScript, enhancing the app’s performance and responsiveness. These technologies will enable us to build a more intuitive, interactive interface with real-time updates, allowing students to see any changes in deadlines, submission statuses, or feedback availability instantly. This upgrade focuses on usability, aiming to deliver a smooth, user-friendly experience that helps students efficiently manage their academic tasks.&lt;br /&gt;
&lt;br /&gt;
The project highlights three key features to meet this goal:&lt;br /&gt;
&lt;br /&gt;
* Task Details View: This feature will present key assignment details such as the title, submission and review due dates, progress status, and any earned badges. By providing a straightforward overview, students can quickly understand their current status and tasks without navigating through multiple pages.&lt;br /&gt;
&lt;br /&gt;
* Task Interaction: Aiming to simplify task interactions, the new design will feature accessible options for submitting work, requesting revisions, and accessing feedback from instructors or peers. Actions will be streamlined to minimize steps, making assignment management easier for students. Improved navigation will also allow students to switch seamlessly between different sections within the task view.&lt;br /&gt;
&lt;br /&gt;
* Timeline Visualization: The new design will integrate a visual timeline, clearly marking assignment deadlines and review stages. This timeline will highlight key due dates and milestones, enabling students to track their progress visually and plan for upcoming tasks. By seeing the assignment flow in a visual format, students can better manage their time and stay on track throughout the assignment cycle.&lt;br /&gt;
&lt;br /&gt;
This reimplementation not only improves the student task view’s design and usability but also creates a more organized and supportive environment, ultimately enhancing the overall student experience in Expertiza.&lt;br /&gt;
&lt;br /&gt;
== Reimplementation ==&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/ntummal3/reimplementation-front-end/blob/pankhuri_v1/src/pages/StudentTasks/StudentTask.tsx StudentTaskView.tsx] file includes a React component called StudentTask. This component handles the display of the student task view, showing assignment information, deadlines, and interactive options that vary depending on user permissions. It imports essential modules and functions from React along with custom utility files.&lt;br /&gt;
&lt;br /&gt;
* At the top of the page, a bold title welcomes the user with the assignment name, &amp;quot;OSS Project &amp;amp; Documentation.&amp;quot; Just below it, a green notification bar provides students with straightforward instructions on their next steps.&lt;br /&gt;
&lt;br /&gt;
 [[File:wiki i1.jpg |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In the second image, the view expands to show various options available for students to manage their assignments. Links such as &amp;quot;Your Team,&amp;quot; &amp;quot;Your Work,&amp;quot; &amp;quot;Others' Work,&amp;quot; and &amp;quot;Your Scores&amp;quot; are listed, each accompanied by a brief description to clarify available actions. This layout enables students to navigate easily between sections in their assignment workflow, enhancing the platform’s usability.&lt;br /&gt;
 [[File:wiki i2.png |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In this image, alongside the activity navigation links, there's a new option titled &amp;quot;Send Email to Reviewers.&amp;quot; This feature allows students to easily connect with their reviewers, streamlining communication. Its strategic placement ensures quick access, making the process more efficient.&lt;br /&gt;
 [[File:Wiki i3.jpg|1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* This shows the same layout but also includes a visual timeline of past deadlines at the bottom. Key dates, like submission and review deadlines, are marked with red dots and labeled for clarity. This timeline feature gives students an easy, visual way to track their progress and stay on top of important deadlines, enhancing the overall user experience.&lt;br /&gt;
 [[File:Wiki i4.jpg |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The timeline includes additional checkpoints showing approaching deadlines for submission and peer review rounds, with each milestone clearly labeled by due date and type, like &amp;quot;Submission Deadline&amp;quot; or &amp;quot;Round 1 Peer Review.&amp;quot; This setup lets students easily see their upcoming tasks at a glance.&lt;br /&gt;
 [[File:Wiki i5.jpg |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In this image, the layout includes the footer, i.e., navigation links at the bottom for &amp;quot;Back,&amp;quot; &amp;quot;Help,&amp;quot; and &amp;quot;Papers on Expertiza,&amp;quot; giving students quick access to extra resources. This extended timeline supports assignment management across a full semester or project cycle, improving both clarity and usability.&lt;br /&gt;
 [[File:Wiki i6.jpg |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of files added/updated ==&lt;br /&gt;
&lt;br /&gt;
# src/App.tsx  &lt;br /&gt;
# src/pages/StudentTasks/DummyData.json&lt;br /&gt;
# src/pages/StudentTasks/StudentTask.css&lt;br /&gt;
# src/pages/StudentTasks/StudentTask.tsx&lt;br /&gt;
&lt;br /&gt;
== Code Snippets ==&lt;br /&gt;
&lt;br /&gt;
* DummyData.json :&lt;br /&gt;
&lt;br /&gt;
The DummyData.json file supplies mock data for the StudentTask component, outlining the assignment name and key timeline milestones. The &amp;quot;assignmentName&amp;quot; field holds a string with the assignment title, &amp;quot;OSS project &amp;amp; documentation.&amp;quot; The &amp;quot;timeline&amp;quot; field is an array of milestone objects, each featuring a &amp;quot;date&amp;quot; field for the deadline date and time, along with a &amp;quot;label&amp;quot; field indicating its purpose, such as &amp;quot;Submission deadline&amp;quot; or &amp;quot;Round 1 peer review.&amp;quot; This data is essential for visualizing assignment milestones within the StudentTask component, providing users with a clear view of important deadlines.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;assignmentName&amp;quot;: &amp;quot;OSS project &amp;amp; documentation&amp;quot;,&lt;br /&gt;
  &amp;quot;timeline&amp;quot;: [&lt;br /&gt;
    { &amp;quot;date&amp;quot;: &amp;quot;Fri, 27 Sep 2024 23:59&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Submission deadline&amp;quot; },&lt;br /&gt;
    { &amp;quot;date&amp;quot;: &amp;quot;Mon, 30 Sep 2024 23:59&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Review deadline&amp;quot; },&lt;br /&gt;
    { &amp;quot;date&amp;quot;: &amp;quot;Thu, 03 Oct 2024 23:59&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Submission deadline&amp;quot; },&lt;br /&gt;
    { &amp;quot;date&amp;quot;: &amp;quot;Sat, 15 Nov 2024 14:34&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Round 1 peer review&amp;quot; },&lt;br /&gt;
    { &amp;quot;date&amp;quot;: &amp;quot;Tue, 10 Dec 2024 23:59&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Review deadline&amp;quot; }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Improvements ==&lt;br /&gt;
&lt;br /&gt;
In our reimplementation, we've significantly improved the user interface, prioritizing clarity, usability, and an enhanced user experience. By tackling the main challenges found in the original Expertiza website, we set out to develop a design that is both more intuitive and visually appealing.&lt;br /&gt;
&lt;br /&gt;
=== Timeline Alignment ===&lt;br /&gt;
&lt;br /&gt;
In our redesigned interface, we’ve significantly improved the alignment of timeline deadlines to boost the user experience. By arranging deadlines in a clear, sequential format, users can effortlessly follow the flow of submission and review stages, lowering the chance of missing any crucial dates.&lt;br /&gt;
&lt;br /&gt;
This structured layout allows users to distinguish between different phases at a glance, making it clear when specific actions need to be taken. Unlike the original Expertiza site, where deadlines might feel cluttered and challenging to track, our design displays each milestone within a cohesive, easy-to-navigate timeline.&lt;br /&gt;
&lt;br /&gt;
Aligning the timeline properly results in a cleaner interface with reduced mental effort for the user. They can quickly scan through and understand the chronological order without struggling through scattered elements. Each deadline is visibly linked to its relevant tasks, which strengthens overall comprehension.&lt;br /&gt;
&lt;br /&gt;
Additionally, this organized view aids users in planning their activities more efficiently. Seeing how deadlines are interconnected at a glance enables them to prioritize and manage their time more effectively. This streamlined setup simplifies deadline management, fostering proactive interaction with the platform and offering a more intuitive experience compared to the original Expertiza layout.&lt;br /&gt;
&lt;br /&gt;
=== Navigation Links ===&lt;br /&gt;
&lt;br /&gt;
In our redesign, the navigation links have been strategically improved to enhance usability. By grouping the &amp;quot;Back,&amp;quot; &amp;quot;Help,&amp;quot; and &amp;quot;Papers on Expertiza&amp;quot; links at the bottom of the interface, we’ve created a more intuitive navigation experience. This setup streamlines access to essential resources, which simplifies the overall workflow.&lt;br /&gt;
&lt;br /&gt;
With these links consolidated in one area, users can easily find what they need without being distracted by scattered options. This design enables users to move back in their tasks, seek help, or access relevant papers quickly and easily—all in one click. Ultimately, this organized layout fosters a smoother user experience, minimizing frustration and encouraging more productive engagement with the platform.&lt;br /&gt;
&lt;br /&gt;
== Scope for future improvement ==&lt;br /&gt;
&lt;br /&gt;
=== Database Integration ===&lt;br /&gt;
&lt;br /&gt;
This change will allow dynamic data retrieval, ensuring the application always shows the latest information. Also, some tables might require adjustments—such as adding or removing columns—to keep the structure in sync with any updates or changes.&lt;br /&gt;
&lt;br /&gt;
=== Notification System Integration === &lt;br /&gt;
&lt;br /&gt;
Implementing real-time notifications would enable students to receive instant alerts on upcoming deadlines, new peer review requests, and task updates, keeping them proactively informed. Notifications could appear within the app, as well as via optional email or SMS alerts, ensuring critical information is accessible even outside the platform. This feature would reduce the need for students to constantly check for updates, streamlining task management and supporting timely completion of assignments.&lt;br /&gt;
&lt;br /&gt;
=== Search and Filter Functionality ===&lt;br /&gt;
&lt;br /&gt;
Adding search and filter features allows users to quickly find specific tables or records in the database. User-friendly tools like keyword search, criteria-based filters, and instant suggestions enhance the experience, while persistent filters and robust error handling support smooth navigation and efficient access to relevant information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technologies Used ==&lt;br /&gt;
&lt;br /&gt;
In this project, we chose React.js and TypeScript to create a strong, scalable user interface.&lt;br /&gt;
&lt;br /&gt;
* React.js a widely used JavaScript library, is ideal for building interactive, single-page applications. Its component-based structure lets us develop reusable UI elements, which streamlines both the creation and upkeep of the platform. React's state management features also ensure a smooth user experience as people move through different areas of the application.&lt;br /&gt;
&lt;br /&gt;
* TypeScript, an extension of JavaScript, introduces static typing to the code, which boosts development efficiency and reduces potential errors. By catching issues during compile time instead of runtime, TypeScript helps us build a more reliable and robust application. Its type-checking system enhances code clarity and readability, simplifying teamwork and future maintenance.&lt;br /&gt;
&lt;br /&gt;
Using React.js and TypeScript together has allowed us to create an application that is user-friendly, efficient, and well-suited to our users' needs.&lt;br /&gt;
&lt;br /&gt;
== Peer Review Information ==&lt;br /&gt;
For those who wish to access the Expertiza application linked to this assignment, the login details are provided below:&lt;br /&gt;
&lt;br /&gt;
'''Admin credentials:''' Username -&amp;gt; admin, Password -&amp;gt; password123&lt;br /&gt;
&lt;br /&gt;
The expertiza application can be accessed by running the front end and back end simultaneously on your local laptop. The instructions on how to run the application is on the respective repositories.&lt;br /&gt;
&lt;br /&gt;
== Github repository ==&lt;br /&gt;
&lt;br /&gt;
Here are the links to the front-end and back-end reimplementations:&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Front end:''' &amp;lt;/br&amp;gt; '''github''' [https://github.com/ntummal3/reimplementation-front-end]&lt;br /&gt;
&lt;br /&gt;
'''These changes can be viewed in this pull request''' [https://github.com/expertiza/reimplementation-front-end/compare/main...ntummal3:reimplementation-front-end:main].&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
&lt;br /&gt;
=== Mentor: ===&lt;br /&gt;
&lt;br /&gt;
Kashika Malick (kmalick@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
=== Students: ===&lt;br /&gt;
&lt;br /&gt;
Pankhuri Priya (ppriya2@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Sreeja Nukarapu (snukara@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Navyatej Tummala (ntummal3@ncsu.edu)&lt;/div&gt;</summary>
		<author><name>Ppriya2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024&amp;diff=157627</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=157627"/>
		<updated>2024-10-29T20:50:42Z</updated>

		<summary type="html">&lt;p&gt;Ppriya2: &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 - 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>Ppriya2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=User:Snukara&amp;diff=157626</id>
		<title>User:Snukara</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=User:Snukara&amp;diff=157626"/>
		<updated>2024-10-29T20:49:24Z</updated>

		<summary type="html">&lt;p&gt;Ppriya2: Ppriya2 moved page User:Snukara to CSC/ECE 517 Fall 2024 - E2475. Reimplement student task view&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[CSC/ECE 517 Fall 2024 - E2475. Reimplement student task view]]&lt;/div&gt;</summary>
		<author><name>Ppriya2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024_-_E2475._Reimplement_student_task_view&amp;diff=157625</id>
		<title>CSC/ECE 517 Fall 2024 - E2475. Reimplement student task view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2024_-_E2475._Reimplement_student_task_view&amp;diff=157625"/>
		<updated>2024-10-29T20:49:24Z</updated>

		<summary type="html">&lt;p&gt;Ppriya2: Ppriya2 moved page User:Snukara to CSC/ECE 517 Fall 2024 - E2475. Reimplement student task view&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Expertiza Background ==&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is a free, open-source web app developed with Ruby on Rails. It offers instructors a way to design unique assignments that students can select from a list of topics. The platform supports team formation, allowing students to work together on projects and assignments, and it includes a peer review feature where students can evaluate each other's work. This review system accepts different file types, URLs, and even content from wiki pages, making Expertiza a versatile solution for handling assignments, teamwork, and peer evaluations.&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
Redesign the student task view in Expertiza by developing a new front-end using React JS and TypeScript. The main goals are to enhance responsiveness, usability, provide real-time updates, and create an improved student experience.&lt;br /&gt;
&lt;br /&gt;
This project will focus on these core features:&lt;br /&gt;
# Task Details View: Display essential information about assignments, including the title, due date, progress, review status, and any earned badges.&lt;br /&gt;
# Task Interaction: Simplify actions for students, allowing them to submit work, request revisions, and access feedback. Enable easy navigation through various task sections.&lt;br /&gt;
# Timeline Visualization: Present a clear visual timeline that highlights due dates, helping students understand their progress within the task.&lt;br /&gt;
# Lazy Loading: Optimize page load speeds by loading only the necessary elements, ensuring a seamless experience.&lt;br /&gt;
&lt;br /&gt;
== Files modified in current project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[File:wiki i1.jpg |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[File:1.png |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[File:Wiki i3.jpg|1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[File:Wiki i4.jpg |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[File:Wiki i5.jpg |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[File:Wiki i6.jpg |1000px|center]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scope for future improvement ==&lt;br /&gt;
&lt;br /&gt;
=== Database Integration ===&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
=== Search and Filter Functionality ===&lt;br /&gt;
&lt;br /&gt;
== Peer Review Information ==&lt;br /&gt;
For those who wish to access the Expertiza application linked to this assignment, the login details are provided below:&lt;br /&gt;
&lt;br /&gt;
Admin credentials: Username -&amp;gt; admin, Password -&amp;gt; password123&lt;br /&gt;
&lt;br /&gt;
The expertiza application can be accessed by running the front end and back end simultaneously on your local laptop. The instructions on how to run the application is on the respective repositories.&lt;br /&gt;
&lt;br /&gt;
== Github repository ==&lt;br /&gt;
&lt;br /&gt;
Here are the links to the front-end and back-end reimplementations:&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Front end: &amp;lt;/br&amp;gt; github[https://github.com/ntummal3/reimplementation-front-end]&lt;br /&gt;
&lt;br /&gt;
These changes can be viewed in this pull request[https://github.com/expertiza/reimplementation-front-end/compare/main...ntummal3:reimplementation-front-end:main].&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
&lt;br /&gt;
Mentor:&lt;br /&gt;
&lt;br /&gt;
Kashika Malick (kmalick@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Students:&lt;br /&gt;
&lt;br /&gt;
Pankhuri Priya (ppriya2@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Sreeja Nukarapu (snukara@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Navyatej Tummala (ntummal3@ncsu.edu)&lt;/div&gt;</summary>
		<author><name>Ppriya2</name></author>
	</entry>
</feed>