CSC/ECE 517 Spring 2024 - E2435 Implement Frontend for the My Profile

From Expertiza_Wiki
Revision as of 19:37, 8 April 2024 by Asatish2 (talk | contribs)
Jump to navigation Jump to search

Expertiza

Expertiza stands as a versatile open-source web application constructed on the robust Ruby on Rails framework. Its primary function revolves around empowering instructors to craft tailored assignments, complete with curated topic lists, providing students with ample options for selection. Moreover, the platform extends its capabilities to facilitate seamless team formation, enabling students to collaborate efficiently on assignments and larger-scale projects.

One of Expertiza's standout features lies in its support for peer review processes, a crucial aspect of modern education. Through this functionality, students can engage in constructive feedback exchanges, offering evaluations and critiques on their peers' submissions. What sets Expertiza apart is its flexibility in accommodating various document formats, including URLs and wiki pages, ensuring comprehensive assessment avenues.

In essence, Expertiza represents more than just a mere educational tool; it embodies a comprehensive solution for managing assignments, fostering teamwork, and facilitating peer evaluations. Its open-source nature further enhances accessibility, making it freely available to educational institutions and individuals alike, thereby democratizing access to quality education tools.

Overview

The My Profile page in Expertiza currently implemented in Ruby needs to be reimplemented using React and TypeScript to enhance user experience and maintainability. The reimplementation aims to maintain feature parity while improving intuitiveness and usability. Features Profile Display

   Show Profile: Display user's profile information.
   Anonymized View: Check if anonymized view is selected, if not, display the user's name; otherwise, map it to a function to display the student ID.

Preferences

   Language:     
   Description: Users will be able to set their preferred language for the interface, allowing for localization to cater to a diverse user base.
   Details:
       A dropdown menu or similar interface will enable users to select their preferred language from a list of available options.
       The selected language will determine the language used throughout the user interface, including labels, messages, and instructions.
       This feature enhances accessibility and inclusivity by accommodating users who prefer to interact with the application in languages other than the default.
   Timezones:
   Description: Users will have the ability to set their preferred timezone, ensuring that timestamps and deadlines are displayed accurately according to their local time.
   Details:
       Users can select their timezone from a dropdown menu or similar interface, choosing from a list of supported timezones.
       The selected timezone will be used to convert timestamps and deadlines to the user's local time, providing a more accurate representation of time-sensitive information.
       This feature improves usability and reduces confusion by presenting time-related information in a format that is familiar and relevant to the user.
   Email Options: 
   Description: Users can customize their email notification preferences for various events such as work reviews, submissions, and meta-reviews.
   Details:
       Checkboxes or similar controls will allow users to opt-in or opt-out of email notifications for specific events.
       Users can select the types of notifications they wish to receive, tailoring their email preferences to suit their needs and preferences.
       This feature provides users with greater control over their communication preferences, reducing unnecessary email notifications and improving overall user satisfaction.

User Interface

   Homogeneous Design: Ensure UI consistency with the current reimplementation of Expertiza.
   Intuitive Design: Design the UI to be user-friendly and intuitive, making it easy for users to navigate and understand.

Implementation Details

Technologies

   React: Front-end library for building user interfaces.
   TypeScript: Adds static typing to JavaScript, enhancing code quality and maintainability.

UI Design

The UI design will be homogeneous to the current reimplementation of Expertiza to maintain consistency across the platform. It will feature a clean and intuitive layout with clear navigation and easily identifiable controls.