- Get userName from User
- Get difficulty level from User
- Link to Catgories
- Fetch the Categories API
- Display the Categories
- Get the selectedCategories from User
- Save selectedCategories into an Array
- Show not chosen Categories only
- Link to
- If RemainCategories:
- Question with (CategoryID, qIndex)
- else
- Score
- If RemainCategories:
- Receive (CategoryID, qIndex)
- Fetch Question API
- Display incorrect_answers
- Check the user answer
- timeout
- set time out
- Skip when time out
- Update the score
- set the timeout depending on the difficulty level
- Calculate
- Asked Questions
- Correct
- fail
- skip
- Link to
- if nextQuestion
- next question
- else
- Back to Categories
- if nextQuestion
- Display
- Total Question
- Correct
- Fail
- Skip