QuizU Try Now!
- intl_phone_number_input
- dio
- pinput
- shared_preferences
- animate_do
- circular_countdown_timer
- share_plus
- path_provider
- random_avatar
- intro_slider
- diamond_bottom_bar
- simple_animations
- google_fonts
- lottie
- path
- flutter_svg
fonts :
- Google Fonts
- imoji
Animation:
- Lottie Thanos Koutsoupas
Intro | Login | OTP |
---|---|---|
![]() |
![]() |
![]() |
Name | Home | Quiz |
![]() |
![]() |
![]() |
Wrong | Congratulations | Leaderboard |
![]() |
![]() |
![]() |
Profile | ||
![]() |
NOTE: Here is the API documentation
The app checks if the token is valid on app launch. If so, home screen is shown GET https://quizu.okoul.com/Token if token is invalid or non-existent, login screen is shown.
When the user clicks “Start” there is no call to the server, the call is done after “Check” is clicked on next screen correct OTP is always 0000 but should still be checked at server using the call below POST https://quizu.okoul.com/Login Returns: 1- Bearer token 1- Status, either new or returning, if returning also returns Name, Mobile *Please use this library to validate the mobile number: https://pub.dev/packages/phone_number *Client-side validation should be done to check if mobile or OTP is empty and an error message is shown accordingly
If the user is new, the name input screen is shown, when done is clicked the name is updated in the server POST https://quizu.okoul.com/Name Returns: 1- Name 2- Mobile *Client-side validation should be done to check if Name is empty and an error message is shown accordingly Leaderboard Top 10 scores (names and count of correct answers are retrieved from server) and displayed sorted descending by count of correct answers GET https://quizu.okoul.com/TopScores
Name and mobile are displayed previous scores for the logged-in users is shown from local storage, sorted by date descending If the logout button is clicked the token is deleted form local storage, no server call is made If at anytime, you would like to get the user’s info, please call GET https://quizu.okoul.com/UserInfo (make sure your token is valid) Returns: 1-Name 2-Mobile
When the quiz is started, GET https://quizu.okoul.com/Questions is called returns 30 questions with their answers Returns: {question, option 1, option 2, option 3, options 4, correct option: X} Score When the quiz is completed correctly the score is saved to server POST https://quizu.okoul.com/Score Also save the score locally on local storage to be used in Profile tab