-
Notifications
You must be signed in to change notification settings - Fork 1
Requirements
https://docs.google.com/spreadsheets/d/1Gij6ojOA2IhwSzdQjfjGYKXhrVz51OjEzKohK3RGzQc/
Required: 🌱 Desired: 🌿 Aspirational: 🌼
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.
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.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 one student.
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.
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.
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.
6.1 | The program shall not call on a student that has been called on within the previous 5 calls.
6.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
7.1.1 | The web base shall display a scrollable list of students on the page.
7.2.2 | The student list shall display the student's first and last name.
7.2.2 | The student list shall display the student's average rating.
7.3.1 | The user shall be able to click on a row to display the metrics of that student.
7.4.1 | The user shall be able to sort the student list by name, seat number, or rating.
7.5.1 | The user shall have an option to search for a student by name or ID.
7.6.1 | A "Courses" dropdown shall be displayed in the top middle of the page.
7.6.2 | The courses dropdown shall allow the user to switch between courses, add courses, or drop courses.
7.6.3 | When a course is selected, the student list shall be updated with the students and data for that specific course.
8.1.1 | The web app shall change layout depending on the viewport's aspect ratio. (8.1.2)
8.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.
8.2 | The menu (3.2) shall slide into view from the top of the screen when the menu button (3.1) is pressed.
8.3.1 | Content that is not in focus (i.e with a popup in front) shall be dimmed with a gray overlay.
8.3.2 | Popup menus shall close by pressing the close button or pressing inside the gray area.
9.1.1 | The menu (3.1) shall contain a drop-down menu allowing users to export data.
9.1.2 | Clicking on the drop-down shall display a list of different file formats to export to.
9.2.1 | When any change to user or student data is made, the changes shall be automatically saved to the server.
9.2.2 | If the user is not authenticated, a popup allowing the user to signin in or signup will appear before any changes can be made.
9.3.1 | The dopdown (9.1) shall let the user export to a .txt file.
9.3.2 | The dopdown (9.1) shall let the user export to a .csv file.
9.3.3 | The data export shall open the system's file manager to save the file.
9.4.1 | The menu (3.1) shall contain a drop-down menu allowing users to importdata.
9.4.2 | The import dropdown shall act like the export dropdown, opening the system file manager. (9.3.3)
9.4.3 | All imported files shall be validated to ensure the format and data is valid.