Skip to content

🐺 Projeto criado durante a imersão react v2, promovida pela Alura. Essa é minha adaptação utilizando 🔍 Typescript.

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
LICENCE.md
Notifications You must be signed in to change notification settings

PedroHenry-Santos/AluraQuiz-TW3

Repository files navigation

🗡 Página de quiz sobre The Witcher 3

Badge Badge Badge Badge Badge Badge Badge

📃 Índice

⁉️ Sobre o projeto

A Alura promoveu uma imersão sobre React onde o objetivo era mostrar os benefícios da utilização no NextJS, um framework que permite renderização pelo lado servidor, geração de páginas estáticas, deploy da aplicação de maneira facilitada com a melhor infraestrutura possível e facilitar a utilização de SEO (Search Engine Optimization) com React. Assim, fornecendo uma melhora no desempenho na aplicação.

Nesta imersão foi proposto o desenvolvido uma pagina de 'quiz' temática que pudesse abordar vários assuntos, utilizando as ferramentas do React (useStates, useEffect e componentização) e as funcionalidades do NextJS (GetServerSideProps, useRouter). Além da utilização de CSS-in-JS através do Styled-Components, ferramentad de padronização de códigos como Prettier, ESLint e EditorConfig, animações declarativas de componentes usando o Framer-Motion e animações de carregamento com o Lottie. Indo um pouco além do proposto, foi utilizado em toda aplicação o TypeScript que um conjunto de ferramentas em cima do JavaScript que adiciona tipagem estática no ambiente de desenvolvimento.

O tema escolhido para minha aplicação foi sobre o jogo The Witcher 3: Wild Hunt, um jogo com elementos de RPG muito premiado. Onde foram realizadas perguntas sobre o jogo e o ambiente em volta dele, no final foi adicionado a possibilidade de jogar com outros temas relacionados a cultura POP.

🧑‍💻 Tecnologias utilizadas

🔗 Ferramentas

🔗 Padronização de código

🔗 Animações e movimentações

🚀 Executando a aplicação

Primeiramente clone o repositório para sua maquina ou faça o 'download' em formato ZIP e descompacte. Para realizar a clonagem do repositório utilize o comando:

git clone https://github.com/ReneSena/quiz-cavaleiro-zodiaco.git

ou

git clone git@github.com:PedroHenry-Santos/AluraQuiz-TW3.git

Após basta instalar as dependência utilizando o gerenciador de pacote de sua preferência. Conforme abaixo:

yarn install

ou

npm install

✏️ Modificando estilos e temas do Quiz

É possível personalização do tema e dos estilos utilizados na página, para isso basta alterar os valores do arquivo db.json na raiz do projeto. Esse é o arquivo que simula o resultado do banco de dados.

{
  "bg": "[Endereço da imagem de fundo]",
  "title": "[Título do quiz]",
  "description": "[Descrição do quiz]",
  "questions": [
    {
      "image": "[Endereço da imagem da pergunta]",
      "title": "[Título da pergunta]",
      "description": "[Descrição da pergunta]",
      "answer": ["Posição da resposta certa (obs. Número)"],
      "alternatives": [
        "Opção 1",
        "Opção 2",
        "...",
        "Opção N"
      ]
    },
    {
      "Próxima questão": "..."
    }
  ],
  "external": [
    "[Endereço da API com os dados]",
    "[...]",
    "[...]"
  ],
  "theme": {
    "colors": {
      "primary": "[Código hexadecimal da cor]",
      "secondary": "[Código hexadecimal da cor]",
      "mainBg": "[Código hexadecimal da cor]",
      "contrastText": "[Código hexadecimal da cor]",
      "wrong": "[Código hexadecimal da cor]",
      "success": "[Código hexadecimal da cor]"
    },
    "borderRadius": "[valor do tamanho (Xpx, Xrem etc.)]"
  }

Todas as cores base, imagem de fundo e conteúdo de questões se encontra neste arquivo. Sendo, "bg" o local para o endereço da imagem de fundo utilizada, "title" é o título do quiz, "description" é a descrição do quiz, "questions" é um vetor onde é possível informar o conteúdo da questão, com destaque para "answer" que considera o vetor "alternatives" começando em 0.

Temos o campo "external" onde é possível colocar o link dá API publica de outras pessoas (obs.: Não é necessário ter um Front e sim uma API que fornece um db.json hospedado em algum lugar). Por último temos theme onde estão as cores e algumas definições de estilos.

📫 Para contribuir

Caso queira ajudar a implementar novas funcionalidade nessa aplicação, poderá seguir o roteiro de funcionalidades a seguir. Ou também poderá propor sua própria funcionalidade.

Para isso basta seguir o roteiro em CONTRIBUTING.

✔️ Roteiro de funcionalidade da aplicação

Para um acompanhamento mais atualizado verifique a aba Projeto.

  • Página de identificação (:warning: Pode sofrer modificações)
  • Tela de carregamento para apresentar o Quiz (:warning: Pode sofrer modificações)
  • Resposta interativa após cada pergunta (:warning: Pode sofrer modificações)
  • Tela de carregamento para apresentar o resultado (:warning: Pode sofrer modificações)
  • Link para Quizes de outros temas (:warning: Pode sofrer modificações)
  • Temporizador para a pergunta (:construction: Em desenvolvimento)
  • Display com contagem de pontos (:construction: Em desenvolvimento)
  • Interatividade através de sons (:construction: Em desenvolvimento)
  • Temas dark e light (:construction: Em desenvolvimento)

🕙 Histórico de atualizações

Para saber sobre as versões deste código consulte o CHANGELOG detalhado.

🔒 Licença

MIT License ® Pedro Santos

About

🐺 Projeto criado durante a imersão react v2, promovida pela Alura. Essa é minha adaptação utilizando 🔍 Typescript.

Topics

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
LICENCE.md

Stars

Watchers

Forks

Packages

No packages published