-
Notifications
You must be signed in to change notification settings - Fork 0
Requirements
1.1 - App shall open to the login/sign-up screen where users can choose to log in with a pre-existing account or sign up (Required)
1.2 - App shall use Google FireBaseUI Auth to authenticate user sign-ins (Required)
1.3 - User shall be allowed to create their own username and password when signing up (Required)
1.4 - Passwords shall be checked for strength and only allowed if strong enough (Desired)
1.5 - User shall be allowed to log in/sign up using their Google account (Desired)
1.6 - User shall be allowed to log in/sign up using other accounts like Twitter, GitHub, FaceBook etc. (Aspirational)
1.7 - User shall be allowed to check a "Remember Me" box so that they are automatically logged in on subsequent visits (Desired)
2.1 - User shall access the Home Screen after logging in/signing up to the app (Required)
2.2 - User can select the "SPOT" button to select a random student from the currently active class roster (Required)
2.3 - User can view their different classes in a list by selecting a button (Required)
2.4 - User can access different classes by selecting them from the list (Required)
2.5 - User can view the currently active class's performance statistics by selecting a button (Desired)
2.6 - User can view the currently active class's roster by selecting a button (Desired)
2.7 - User can edit the currently active class by selecting a button (Required)
2.8 - User can access the app settings by selecting a button (Desired)
3.1 - Selection algorithm randomly selects the name of a student from the current class's roster and displays their name on the screen (Required)
3.2 - The student's current ranking and number of calls is displayed along with their name (Desired)
3.3 - Selection algorithm does not repeat the previous 5 selected students (Desired)
3.4 - Selection algorithm does not select students previously selected absent in the same day (Desired)
3.5 - Selection algorithm increases the chances of absent students to be selected in future classes (Aspirational)
3.6 - User can skip the currently selected student to select a different student (Desired)
3.7 - User can rate the currently selected student's performance from 0 to 5 stars (Desired)
3.8 - App shall save new student performance ratings to the Cloud Firestorm database backend (Desired)
3.8 - User can continue selecting random students or return to the Home Screen (Required)
4.1 - User can create a new class by selecting a button under the list of existing classes (Required)
4.2 - User can create a no-layout class which simply maintains a roster with no seat assignments (Required)
4.3 - User can select a classroom layout to use: grid, bowl, etc. (Desired)
4.4 - User can adjust the number of seats in each row and column (Desired)
4.5 - User can create their own classroom layout with a simple drag-and-drop interface for desks (Aspirational)
4.6 - User can add students to a class roster one at a time (Required)
4.7 - User can import an entire class roster through a CSV file (Aspirational)
4.8 - User can assign students in the roster to seats in the layout through drag-and-drop (Desired)
4.9 - User can give their class a custom name which will be displayed in the class list (Desired)
4.10 - User can save their new class once done with its creation by selecting a button (Required)
4.11 - User can discard their new class at any time during the creation process by selecting a button (Desired)
4.11 - Student/class data will be saved to the Cloud Firestorm database backend (Required)
5.1 - User can add new students to the existing class roster (Required)
5.2 - User can remove students from the existing class roster (Required)
5.3 - User can edit specific student information such as name and seat assignment (Desired)
5.4 - User can edit the number of rows/columns in class if using a grid-like layout (Aspirational)
5.5 - User can switch between different classroom layouts (Aspirational)