Skip to content
This repository was archived by the owner on Sep 3, 2025. It is now read-only.

Requirements

Trevor Seestedt edited this page Oct 14, 2024 · 8 revisions

https://docs.google.com/spreadsheets/d/1Gij6ojOA2IhwSzdQjfjGYKXhrVz51OjEzKohK3RGzQc/

Required: 🌱 | Desired: 🌿 | Aspirational: 🌼 |

Add Student

🌱 | 1.1 | The user shall add a student's first name when adding a student manually.
🌱 | 1.2 | The user shall add a student's last name when adding a student manually.
🌿 | 1.3 | The user shall add a student's seating when adding a student manually.
🌿 | 1.4 | The user shall have the option to add a student's ID when adding a student manually.
🌿 | 1.5 | The user shall have the option to add a student's prior rating when adding a student manually.
🌿 | 1.6 | The user shall have the option to add a student's prior amount of times called upon when adding a student manually.
🌿 | 1.7 | The program shall accept csv files when adding students.
🌼 | 1.8 | The program shall accept comma separated lists pasted into a text box when adding students.
🌱 | 1.9 | The program shall check if the data inputted by the user is in an acceptable format.
🌱 | 1.10 | The program shall convert inputted data (1.7 - 1.8) into classes if the data is deemed acceptable (1.9).
🌿 | 1.11 | The user shall have the ability to select a csv file with a "Choose File" button.
🌱 | 1.12 | The Add Students Page shall display a scrollable list of existing students below the area where the user inputs data.
🌱 | 1.13.1 | The user may select the 'X' listed to the right of the student's name (1.12) to remove the student from the class.
🌱 | 1.13.2 | If the user selects the 'X' (1.13.1), they shall be prompted with a confirmation pop up prior to the student's removal.
image image

Student Metrics

🌱 | 2.1 | The user shall have the ability to navigate to the next student in the class via a "Next Student" button.
🌱 | 2.2 | The user shall have the ability to navigate to the previous student in the class via a "Last Student" button.
🌱 | 2.3 | The Student Metrics page shall display the student's name.
🌱 | 2.4 | The Student Metrics page shall display the student's seat number.
🌱 | 2.5 | The Student Metrics page shall display the amount of times the student has been called on.
🌱 | 2.6 | The Student Metrics page shall display the student's average rating.
🌱 | 2.7.1 | The Student Metrics page shall display a table of each prior time the student has been called on.
🌱 | 2.7.2 | Each row of the table (2.7.1) shall display the date the student was called on.
🌱 | 2.7.3 | Each row of the table (2.7.1) shall display the rating the student received on the given date (2.7.2).
🌱 | 2.7.4 | Each student rating in the table (2.7.1) shall have a color correlating to the given rating.
🌿 | 2.8.1 | The student metrics page shall have a button to edit the current student.
🌿 | 2.8.2 | The edit button (2.8.1) shall navigate the user to the edit students page for the given student (2.9).
🌱 | 2.9 | The student metrics page shall display the information of only one student.
🌼 | 2.10.1 | The student metrics page shall display a graph showing student performance over time.
🌼 | 2.10.2 | Each entry on the graph shall be color coded to represent additional information.
🌼 | 2.10.3 | The user shall be able to adjust the zoom of the graph.
image

Web Menu

🌱 | 3.1 | The web menu shall be accessible to the user via a button.
🌱 | 3.2 | The web menu shall slide into view from the left side of the screen when the menu button (3.1) is pressed.
🌿 | 3.3 | The web menu shall close if the user clicks outside of it.
🌱 | 3.4 | The web menu shall close if the user selects the close menu button (3.5).
🌱 | 3.5 | The web menu shall contain a close menu button.
🌱 | 3.6.1 | The web menu shall contain an edit classes button.
🌱 | 3.6.2 | If the user selects the edit classes button, the program shall navigate to the edit classes page.
🌱 | 3.7.1 | The web menu shall contain an add students button.
🌱 | 3.7.2 | If the user selects the add students button, the program shall navigate to the add students page.
🌿 | 3.8.1 | The web menu shall contain an import from button.
🌿 | 3.8.2 | If the user selects the import from button, the program shall open a pop-up window.
image

Web Add Course

🌱 | 4.1 | The user shall enter the course name of the new course they are adding.
🌿 | 4.2 | The user shall enter the start date of the course they are adding.
🌿 | 4.3 | The user shall enter the end date of the course they are adding.
🌱 | 4.4.1 | The user shall add new courses on a pop-up menu.
🌱 | 4.4.2 | The pop-up menu shall appear if the user selects the "Add Course" button from the courses dropdown.
🌼 | 4.4.3 | The pop-up menu shall appear in front of a greyed version of the Add New Course Page.
🌱 | 4.4.4 | The pop-up menu shall have an X button on its top right.
🌱 | 4.4.5 | The pop-up menu shall dissapear if the user presses the X button.
🌱 | 4.4.6 | The pop-up menu shall dissapear if the user clicks outside of the window.
🌿 | 4.5.1 | The start date shall be available to select via a calendar.
🌿 | 4.5.2 | The end date shall be available to select via a calendar.
image

Web Student Randomizer

🌱 | 5.1.1 | The Student Randomizer page shall select a student upon opening.
🌱 | 5.1.2 | The student (5.1.1) shall be selected via the selection criteria (6).
🌱 | 5.2 | The Student Randomizer page shall display the student's name.
🌱 | 5.3 | The Student Randomizer page shall display the student's seat.
🌱 | 5.4 | The Student Randomizer page shall display the amount of times the student has been called on during the semester.
🌱 | 5.5 | The Student Randomizer page shall display the student's average rating for the semester.
🌱 | 5.6 | The Student randomizer page shall display 5 stars.
🌱 | 5.7 | The user shall rate the student's performance by cllicking on a star.
🌱 | 5.8 | The stars rate performance in an increasing order from left to right.
🌱 | 5.9 | The user shall have the option to mark the student as absent instead of giving a star rating.
🌱 | 5.10 | The user shall have the option to mark the student as unprepared instead of giving a star rating.
🌱 | 5.11 | The user shall have the option to skip the student instead of giving a star rating.
🌱 | 5.12 | After a rating or button is pressed, an option to select a new student shall appear.
image

Student Editor

🌱 | 6.1 | The user shall have the ability to navigate back to the Student Metrics page via the "Exit" button.
🌱 | 6.2 | The user shall have the ability to save their edits via the "Save" button.
🌱 | 6.3 | The Student Editor page shall display the students current ratings along with the correlating date.
🌱 | 6.4.1 | The Student Editor page shall display the students current first name.
🌱 | 6.4.2 | The Student Editor page shall display the students current last name.
🌱 | 6.4.3 | The Student Editor page shall display the students current seating.
🌱 | 6.5.1 | The user shall have the ability to select a date that they want to edit.
🌱 | 6.5.2 | The user shall have the ability to select a rating of 5 stars that they want to give that student for the date selected (6.5.1).
🌱 | 6.5.3 | The user shall have the ability to mark a student absent by pressing the "Absent" Button.
🌱 | 6.5.4 | The user shall have the ability to mark a student unprepared by pressing the "Unprepared" button.
🌱 | 6.6.1 | The user shall have the ability to edit the students first name.
🌱 | 6.6.2 | The user shall have the ability to edit the student last name.
🌱 | 6.6.3 | The user shall have the ability to edit the student seating.
image

Student Selection

🌱 | 7.1 | The program shall not call on a student that has been called on within the previous 5 calls.
🌱 | 7.2 | The program shall not call on a student for the Nth time until every student has been called on at least (N-2 times) when N >= 3

Web Base

🌱 | 8.1.1 | The web base shall display a scrollable list of students on the page.
🌱 | 8.2.1 | The student list shall display the student's first and last name.
🌱 | 8.2.2 | The student list shall display the student's average rating.
🌿 | 8.3.1 | The user shall be able to click on a row to display the metrics of that student.
🌿 | 8.4.1 | The user shall be able to sort the student list by name, seat number, or rating.
🌿 | 8.5.1 | The user shall have an option to search for a student by name or ID.
🌱 | 8.6.1 | A "Courses" dropdown shall be displayed in the top middle of the page.
🌱 | 8.6.2 | The courses dropdown shall allow the user to switch between courses, add courses, or drop courses.
🌱 | 8.6.3 | When a course is selected, the student list shall be updated with the students and data for that specific course.
🌼 | 8.7.1 | The web base shall change layout depending on student's general location. image

Mobile Design

🌱 | 9.1.1 | The web app shall change layout depending on the viewport's aspect ratio. (8.1.2)
🌱 | 9.1.2 | If the user's screen is taller than it is wide, the website will switch to a mobile friendly implementation of the web UI.
🌿 | 9.2 | The menu (3.2) shall slide into view from the top of the screen when the menu button (3.1) is pressed.
🌼 | 9.3.1 | Content that is not in focus (i.e with a popup in front) shall be dimmed with a gray overlay.
🌼 | 9.3.2 | Popup menus shall close by pressing the close button or pressing inside the gray area.

Data Management

🌿 | 10.1.1 | The menu (3.1) shall contain a drop-down menu allowing users to export data.
🌿 | 10.1.2 | Clicking on the drop-down shall display a list of different file formats to export to.
🌱 | 10.2.1 | When any change to user or student data is made, the changes shall be automatically saved to the server.
🌱 | 10.2.2 | If the user is not authenticated, a popup allowing the user to signin or signup will appear before any changes can be made.
🌿 | 10.3.1 | The dropdown (9.1) shall let the user export to a .txt file.
🌿 | 10.3.2 | The dropdown (9.1) shall let the user export to a .csv file.
🌿 | 10.3.3 | The data export shall open the system's file manager to save the file.
🌿 | 10.4.1 | The menu (3.1) shall contain a drop-down menu allowing users to import data.
🌿 | 10.4.2 | The import dropdown shall act like the export dropdown, opening the system file manager. (9.3.3)
🌱 | 10.4.3 | All imported files shall be validated to ensure the format and data is valid.

Clone this wiki locally