-
Notifications
You must be signed in to change notification settings - Fork 0
Android Application
The App consist of 4 screens
The app provides authentication, using an email-id and password and QR-code login mechanism.
clicking on "Login with Password" will animate and show Text Input for email and password and a login button.
pressing the back button will animate back to two options of "login with password" and "login with QR-code"
Examiners can login providing email and password, pressing "LOGIN" button will first check for empty validation,
if not empty then it will request API for login. API will return a "Token" which will be further used for API requests.
Note: without token server will not provide any data
Pressing Login with QR-code will open a QR-code scanner which will return text from QR-Code.
This text is then sent to API for Authentication. If Authenticated then Server will send the same "Token" which will be further used for API requests.
Errors => App response
- If wrong email is provided =>no such user found
- If the wrong password is provided => username or password incorrect (as combination didn't match)
- If other then examiner someone tries to login => other than examiner no one is allowed in App
- Expired Examiner Qr-code is scanned => QR-code expired
- IF Team QR-code is used for Login => only examiner can use this login method
This Activity uses CameraX library and shows a preview of the camera. (i.e. what camera can see currently)
Activity also uses BarcodeScanner from "ML kit" to scan the QR-code.
Using CameraX's image analysis feature passing Frame by Frame from the camera to "BarcodeScanner" for data extraction.
Once data is extracted it is sent back to Activity from which QR-Code Scanner was called/invoked (i.e. startActivityForResult(intent))
This Activity has a timer of 30 seconds if in 30 Seconds Camera is not pointed towards any QR-code then automatically scanning will stop to save the processing.
"BarcodeScanner" is configured to only search for QR-code, hence it will not extract data from any other type of Barcode(like 1D barcode).
This activity fetch teams data and show teams name and their average scores from height scoring team to lowest one.
This activity has a logout button at top right corner.
This activity has a button "EVALUATE A TEAM" using which the examiner can scan a QR-Code of a team and give his feedback(score).
Clicking on "EVALUATE A TEAM" button will open QR-Code Scanner which then return the team token.
Using team token App request server for team information, if such team is present then the Examiner is presented with Survey/Scoring/Feedback Questions".
Errors => App response
- While fetching the all team detail or a single team detail and session expired => Session Expired (and will move to login activity)
- Scanning QR-Code other than Team QR-Code => no such team found.
This activity provides Examiner Questions and options [Poor, Fair, Good, Very Good, Superior].
which scores team from 0 to 4, where poor is 0 and superior is 4.
After clicking on any option Examiner can change the and whenever he wants.
For that Previous and next button will appear whenever it is possible to move to next or previous question.
Note: Examiner cannot move further without giving a response to the current solution.
When Examiner has selected responses for every question and is on the last question then the next button will change into the submit button.
Errors => App response
- While fetching the questions and session expired => Session Expired (and will move to login activity)
- While submitting Evaluation of a team session expired => Session Expired (and will move to login activity)