Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/samuelrocha91/trivia_game
Projeto React que envolveu a criação de um jogo de Trivia com implementação de rota de cadastro, rota de jogo e rota de ranking.
https://github.com/samuelrocha91/trivia_game
css html react react-dom redux
Last synced: about 9 hours ago
JSON representation
Projeto React que envolveu a criação de um jogo de Trivia com implementação de rota de cadastro, rota de jogo e rota de ranking.
- Host: GitHub
- URL: https://github.com/samuelrocha91/trivia_game
- Owner: SamuelRocha91
- Created: 2023-09-23T22:02:40.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-25T20:43:27.000Z (about 1 year ago)
- Last Synced: 2024-01-26T08:08:31.896Z (10 months ago)
- Topics: css, html, react, react-dom, redux
- Language: JavaScript
- Homepage:
- Size: 468 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Project Trivia
## 🌐 [![Português](https://img.shields.io/badge/Português-green)](https://github.com/SamuelRocha91/trivia_game/blob/main/README.md) [![Español](https://img.shields.io/badge/Español-yellow)](https://github.com/SamuelRocha91/trivia_game/blob/main/README_es.md) [![English](https://img.shields.io/badge/English-blue)](https://github.com/SamuelRocha91/trivia_game/blob/main/README_en.md) [![Русский](https://img.shields.io/badge/Русский-lightgrey)](https://github.com/SamuelRocha91/trivia_game/blob/main/README_ru.md) [![中文](https://img.shields.io/badge/中文-red)](https://github.com/SamuelRocha91/trivia_game/blob/main/README_ch.md) [![العربية](https://img.shields.io/badge/العربية-orange)](https://github.com/SamuelRocha91/trivia_game/blob/main/README_ar.md)
![Preview da aplicação](./public/trivia.gif)
Este projeto foi desenvolvido como parte do módulo de Front-End do curso de Desenvolvimento Web da [Trybe](https://www.betrybe.com/). Trata-se de um jogo de perguntas e respostas baseado no jogo **Trivia**, desenvolvido utilizando **React** e **Redux**. A aplicação consome uma API externa para obter as perguntas e apresenta um sistema de timer e pontuação baseado no nível de dificuldade das perguntas.
📝 Descrição
O objetivo do projeto é proporcionar uma experiência interativa e divertida para os usuários ao responderem perguntas de diferentes níveis de dificuldade. A aplicação utiliza:
- **React** para o desenvolvimento dos componentes e páginas.
- **Redux** para o gerenciamento de estado global.
- **React Router** para a navegação entre as páginas do jogo, como tela de login, game, ranking, e feedback.O sistema inclui:
- Uma interface de jogo com perguntas aleatórias.
- Temporizador para responder às perguntas.
- Sistema de pontuação baseado no tempo restante e na dificuldade da pergunta.
- Integração com a API [Open Trivia Database](https://opentdb.com/).
🛠️ Tecnologias Utilizadas
- **JavaScript** (ES6+)
- **React**
- **Redux**
- **React Router**
- **CSS**
- **HTML**
- **Docker** (para containerização da aplicação)
⚙️ Funcionalidades
1. **Perguntas Aleatórias**: A aplicação obtém perguntas da API externa [Open Trivia Database](https://opentdb.com/), mostrando uma pergunta de cada vez.
2. **Sistema de Timer**: O usuário tem 30 segundos para responder a cada pergunta. O botão de resposta é desativado ao término do tempo.
3. **Pontuação**: A pontuação é calculada com base no tempo restante e na dificuldade da pergunta.
4. **Sistema de Feedback**: Após responder todas as perguntas, o jogador é direcionado para a página de feedback.
5. **Ranking**: O jogador pode visualizar um ranking com as pontuações mais altas.
6. **Token de Acesso**: Para jogar, o usuário precisa de um token, gerado ao iniciar o jogo.
📦 Instalação
### Requisitos
- **Node.js** (versão 14 ou superior)
- **Docker** (opcional, se desejar rodar a aplicação em container)### Passos para Instalação Local
1. Clone o repositório:
```bash
git clone https://github.com/SamuelRocha91/trivia.git
```
2. Entre no diretório do projeto:
```bash
cd trivia
```
3. Instale as dependências:
```bash
npm install
```
4. Inicie a aplicação:
```bash
npm start
```A aplicação será executada em `http://localhost:3000`.
🚀 Como Usar
1. Ao iniciar a aplicação, faça login.
2. Escolha uma categoria de perguntas e inicie o jogo.
3. Responda às perguntas dentro do tempo limite.
4. Ao final do jogo, você será redirecionado para a página de feedback e poderá ver sua pontuação.
5. Verifique o ranking dos melhores jogadores.
🐳 Executando com Docker
Para executar a aplicação usando Docker, siga os passos abaixo:
1. Certifique-se de que o Docker está instalado em seu sistema.
2. No diretório raiz do projeto, execute o seguinte comando para construir a imagem Docker:
```bash
docker build -t trivia-game .
```
3. Após a construção da imagem, inicie o container com o seguinte comando:
```bash
docker run -p 3000:3000 trivia-game
```A aplicação estará disponível em `http://localhost:3000`.
📊 Metodologias Ágeis
Durante o desenvolvimento do projeto, utilizamos metodologias ágeis para garantir uma organização eficiente do time e do fluxo de trabalho. As principais ferramentas e práticas utilizadas foram:
- **Trello**: Para gestão das tarefas e acompanhamento do progresso.
- **Scrum**: Com sprints semanais e reuniões diárias para alinhar as entregas e melhorar a comunicação entre a equipe.
🔗 Outros projetos
- 🌶️ [Recipes App](https://github.com/SamuelRocha91/ProjectRecipesApp)
- 🐣 [Pokedex](https://github.com/SamuelRocha91/pokedex)
- 🏪 [FrontEnd Online Store](https://github.com/SamuelRocha91/project-frontend-online-store)
- 👛 [Expense organizer](https://github.com/SamuelRocha91/project-trybewallet)