Your challenge is to create a 10 question, true or false, trivia app. We anticipate that this code challenge might take you 4 to 6 hours start to finish.
The application code will be reviewed based on current industry best practices and preferences.
Some specific things that we are looking for:
- Remix
- TypeScript
- Correct implementation of a state management solution
- Correct implementation of a navigation solution
- Componentization
- Communication in the repo and/or code
- Best practices with API calls and data
- Separation of concerns between business and UI logic
- Best practices with regard to testing
Develop the application based off the API, functionality description, and wireframes below using advanced techniques and industry best practices. Note that the wireframes are not complete on purpose; use your best judgment for UI/UX implementation. Please do not use a starter (other than any basic scaffolding) or other boilerplate for this challenge. We want to see how you structure your project and what tooling you use from scratch.
The API url is: https://opentdb.com/api.php?amount=10&difficulty=hard&type=boolean
Sample returned json:
{
"response_code": 0,
"results": [
{
"category": "Entertainment: Video Games",
"type": "boolean",
"difficulty": "hard",
"question": "Unturned originally started as a Roblox game.",
"correct_answer": "True",
"incorrect_answers": [
"False"
]
},…]}
Home:
- Should display welcome text
- Should have button to start quiz
Quiz:
- Should display headline that is the question category
- Should display the current question
- Should display the next question after the current question is answered (results shown at end of game)
- Should show results screen after all questions are answered
Results:
- Should display a score comprised of correct answers and total answers
- Should displays a list of the questions and whether the answer was correct or not
- Should allow the user to start over which navigates to the Home Screen