Trivia is a question-and-answer game developed in a team, based on the famous "Who Wants to Be a Millionaire" show. It was developed using React and Redux. The game includes several features that were developed according to the demands defined in a Kanban board, providing the team members with a work experience closer to the real-world development environment.
Trivia includes the following features:
- Login: Users can log in to the game using their email. If the email is registered with Gravatar, their profile picture will be associated with their account.
- Game: In the game page, the user must choose one of the available answers for each question presented. The answer must be selected before the timer runs out, or the answer will be marked as incorrect.
- Score: After answering 5 questions, the user is redirected to the score page, where the displayed message depends on the number of correct answers.
- Ranking: At the end of each game, the user can view the ranking page, if desired.
- Settings: Users can configure certain options for the game on a settings screen accessible from the app header.
The project was developed using the following technologies:
- HTML
- CSS
- JavaScript
- React
- OpenTDB Trivia API
- Gravatar API
- Redux
The Trivia project was developed by the following team members:
- Gabriel Duarte
- Pedro Emmanuel
- Jessica Bianca
- Paulo Fonseca
- Rafaela Meireles
During the development of Trivia, the team learned how to:
- Create a Redux store in React applications
- Create reducers in Redux for React applications
- Create actions in Redux for React applications
- Implement dispatchers in Redux for React applications
- Connect Redux to React components
- Handle asynchronous actions in a React application using Redux
- Develop good test coverage
Trivia was a great opportunity for the team to develop a question-and-answer game using technologies like React, Redux, HTML, and CSS. The features were implemented according to the demands defined in a Kanban board, allowing the team members to experience a development process closer to the market environment. The creation of the Redux store, reducers, actions, and dispatchers, along with the connection to components, were key achievements in the project.