Skip to content

Requirements

Harvey Villanueva edited this page Oct 12, 2024 · 96 revisions

1. Login Procedure and Forgot Password Features.

Number Description Priority
1.1 The user shall login their account by inputting their username and password into their respective boxes and tapping submit. (See "Account Creation" requirement for more details on account creation.) Required
1.2 The application shall use Google FireBaseUI Auth to authenticate user sign-in attempts. This authentication will check to see if the account credentials are available in the backend database. Required
1.3 If the user provided correct login credentials, they shall be brought to the "Home" Screen with the correct account and class data. Required
1.4 The User shall login using their Google account. Desired
1.4.1 The User shall login using social media accounts like Twitter, FaceBook, LinkedIn, GitHub. Aspirational
1.4.2 The User shall have login using their Blackboard Educator account. Aspirational
1.5 The User can check a "Remember Me" box when signing in. Desired
1.5.1 If the User signs in with "Remember Me" checked, on subsequent startups the application shall immediately open with their username already filled in. Desired
1.6 The User shall sign in with biometrics (depending on the specific device). Aspirational
1.7 The User shall not need to login again for 1 hour after logging in. Aspirational
1.8 The User shall be able to tap "Forgot Password?" reset their password. Desired
1.8.1 Upon tapping "Forgot Password?", the user shall enter their account email and receive a password recovery email in their inbox. Desired
1.8.2 The User shall open a link in the recovery email which allows them to enter in a new password. Desired
1.8.3 The User can only enter a sufficiently complex, secure password on the password recovery webpage. Desired
1.8.4 The User must enter their password twice to reset it. Desired
1.8.5 The User shall be able to return from the "Forgot Password?" screen to the login screen. Desired

2. Account Creation

Number Description Priority
2.1 The User shall create an account using the "Sign Up" button. Required
2.2 When signing up, the User shall create an account by inputting their chosen username, password, and an email address. Required
2.2.1 The User can only enter plausible email addresses. (Has @ symbol, valid domain, ect.) Desired
2.2.2 The User can only enter unique usernames. Required
2.2.3 The User can only enter sufficiently complex, secure passwords, following CISA guidelines. Desired
2.2.4 The User must enter their password twice to sign up. Desired
2.3 Upon creating an account, an email shall be sent to the User's provided email address to verify it is valid and belongs to them. Aspirational
2.3.1 The User will be unable to login until a link in the verification email has been opened. Aspirational
2.3.2 If the User attempts to login without opening the verification link first, the User shall be able to resend the verification email. Aspirational
2.4 The User shall be able to return to the login screen from the sign up screen. Required

3. Home Screen Functionalities

Number Description Priority
3.1 The currently selected class's name is prominently displayed at the top of the screen to inform the User of the class selected. Required
3.1.2 If the user has not created any classes, they shall be immediately prompted to add a class. (See "Add a Class Features" requirements for more details.) Desired
3.2 The User shall be able to tap on boxes (representing student seats) and see the student details screen of the student sitting at that location, if the selected class has a seating grid. Desired
3.3 The User shall be able to visually see the initials of the student sitting in each seat/box, if the selected class has a seating grid. Desired
3.4 The User shall press the "SPOT" button to select a random student from the currently active class roster. (See "Student Selection Algorithm and Spotted Features" requirements for more information on the "Spotting" mechanics.) Required
3.4.1 After pressing the "SPOT" button an animation will occur where the seat of the selected student is highlighted and the 'Spotted' window opens. (See Student Selection "Spotting" Features for more information on the 'Spotted' window.) (Note: 5.13 can disable this animation.) Aspirational
3.5 From the 'Home' Screen, the User shall tap the hamburger menu in the top left to access and select from their list of classes. Required
3.5.1 Upon tapping into a class, the class data shall be loaded into the 'Home' Screen, changing the roster from which students will be selected. Required
3.5.2 The User can return to home screen from "Class List" screen via a back arrow button. Required
3.5.3 The User shall add a class from the class list screen via the '+' button. (See "Add a Class Screen Features" requirements for more detail.) Required
3.6 User can view the currently active class's performance statistics by selecting a button from the home screen. (See "Class Statistics Screen Features" requirements for more detail.) Required
3.7 User can view the currently active class's roster by pressing a button from the home screen. (See "Class Roster Screen Features" requirements for more detail.) Required
3.8 User can go to the settings screen by pressing a button from the home screen. (See "Settings Screen Features" requirements for more details.) Required
3.9 The User shall edit the selected class by pressing the 'Edit' button from the home screen. (See "Class Edit" requirements for more details.) Required
3.10 The User shall share their classes with other Users by pressing the "Social" button from the home screen. (See "Social Features" requirements for more details.) Aspirational

4. Student Selection Algorithm ("Spotting") and 'Spotted' Pop-Up Features.

Clone this wiki locally