Features Implemented - noojman/Test-Prep-Grading-App GitHub Wiki
The user is initially greeted with a splash screen that introduces the app.
Here, the user can input his or her credentials and sign in to their account for the app. Account management and security is implemented using Firebase Authentication, with some validation as well for the input fields.
Alternatively, the user can create a new account and proceed from there.
After signing in, the user is brought to this main menu. Note: some features are missing and can be found in the Future Work and Enhancements section of this Wiki.
The user is now able to take tests, or create custom tests. If the user selects the option to Create a Custom Test in the Main Menu, then he or she will be brought to this page. Here, the user can input all the fields describing the book and the specific test in the book.
The next page will allow the user to input the answer choices for each problem in the custom test that the user is creating.
Finally, the user can press Submit to create the custom test and upload it to the database.
Now, let's go find that test in the database. From the Main Menu, the user can select "Take a Test", then "Find a Test" in the next screen. The user will then be brought here. This page queries the Firebase Firestore Realtime Database to pull all available tests and displays the details in each card.
The user can press and select the test he or she just created. They will be brought to the answer fill-in sheet where once they press begin, there is no going back.
Once the test begins, the timer also starts counting down (each test has its own pre-set timer value). The user will reference the book they obtained elsewhere, likely from the publisher, for the questions themselves. This app serves as an answer sheet and an auto-grader at the end.
If the timer runs out, then this uncancelable dialog box will pop up forcing the user to submit and proceed to the test report.
Alternatively, if the user completes their test early, then they can press the Complete and Submit to proceed to the Test Report and skip the timer.
After the test, the user will be shown their score. There are plans for more personalized statistics to be shown here in the Future Work and Enhancements section.
The user can visit the settings to adjust audio and notification settings. Additionally, the user can sign out from here.