Skip to content

Latest commit

 

History

History
229 lines (165 loc) · 8.29 KB

README.md

File metadata and controls

229 lines (165 loc) · 8.29 KB

Quiz UTFPR

image info

Licença GitHub last commit Quantidade de Estrelas Quantidade de Forks!

O projeto é uma plataforma web e móvel para criação e análise de avaliações digitais. O sistema está sendo criado sob orientação dos professores Juliano Henrique Foleis e Marcos Silvano Almeida. O mesmo é composto por um painel de controle utilizado para criação de quizzes, bem como um aplicativo móvel gamificado para que os alunos possam acessá-los e respondê-los.

Além disso, o painel de controle também possui uma seção de análise das repostas com algumas opções de filtragem das informações. Tal filtragem visa dar mais opções de visualização dos dados, permitindo a extração de mais informações.

A plataforma web conta com um sistema de turmas tanto públicas quanto privadas. Isso para que o criador do quiz tenha um controle sobre as pessoas que o estão respondendo. Na aplicação móvel, é possível que o usuário se inscreva na turma e responda os quizzes que estão anexados nela.

Os estudantes, na aplicação móvel, possuem acesso a um sistema de ranqueamento. Este último oferece uma gamificação como forma de motivação para um maior empenho na reposta dos quizzes.

Outra funcionalidade existente na plataforma web é a criação de um banco de questões. Nele é possível que o usuário adicione sua questão criada a este banco, permitindo que ele as reutilize em outros quizzes.

Resumo de Features

🧑‍🏫 Professor

  • Login pelo Google @professores.
  • Gerenciamento de Turmas.
  • Gerenciamento de Quizzes.
  • Banco de Questões Pessoal Disponíveis para Criação dos Quizzes.
  • Busca Personalizada de Questões por Tags.
  • Disponibilização de PIN para Quizzes/Turmas.
  • Estatísticas dos Quizzes:
    • Visualização por meio de Gráficos.
    • Filtragem por Turmas:
      • Turma Especifica.
      • Geral.
    • Filtragem dos Scores:
      • Melhor Tentativa.
      • Pior Tentativa.
      • Primeira Tentativa.

🧑‍🎓 Aluno

  • Login pelo Google.
  • Busca Personalizada de Quizzes por Tags.
  • Acesso a Turmas por meio do PIN.
  • Busca de Quizzes por meio de PIN.
  • Escolha de Nickname e Avatares.
  • Marcação de Quiz como Favorito.
  • Pesquisa de Turmas Públicas.
  • Ranqueamento de Respostas dos Quizzes para Gamificação.
    • Ranking por Turma.
    • Ranking por Quiz.
    • Ranking Geral.

⚙️ Como configurar ambiente de produção?

  • Realize a cópia do arquivo docker-compose-prod-only-api-example.yml
  • Renomeie a cópia para docker-compose-prod-only-api.yml
  • Altere as variáveis de ambiente presentes no arquivo
  • Execute o arquivo setup.sh
    • Informe o domínio do paínel de controle
    • Informe o domínio da API
    • Informe um e-mail válido

🏁 Como configurar ambiente de desenvolvimento?

📚 Criação do Banco de Dados:

Esta aplicação utiliza o SGBD MySQL. É necessário apenas criar o banco, o Sequelize fará todo o resto.

$ mysql -u root -p
$ create database NOME_DO_BANCO;

⚙️ Para a API:

🖥️ Configurando .env
APP_URL=http://URL_AQUI:PORTA

DB_HOST="HOST_MYSQL"
DB_PORT="PORTA_MYSQL"
DB_USER="USUARIO_MYSQL"
DB_PASS="SENHA_DO_BANCO"
DB_NAME="NOME_DO_BANCO"
DB_DIALECT="mysql"

SECRET="DIGITE_SECRET_AQUI"
EXPIRE_IN="DIAS_PARA_EXPIRAR_TOKEN"
REFRESH_EXPIRATION="MINUTOS_PARA_EXPIRAR_REFRESH_TOKEN"
TIMEZONE="DIGITE_TIMEZONE_AQUI"

LDAP_URL="URL_LDAP_AQUI"
LDAP_USERNAME="USUARIO_LDAP"
LDAP_PASSWORD="SENHA_LDAP"

NODE_ENV=development OU production
PORT=PORTA_USADA_PELO_BACKEND
🏁 Inicializando
cd backend
npm install
npx sequelize-cli db:migrate
npm run dev

💻 Para o frontend:

🖥️ Configurando .env
REACT_APP_BASE_URL=URL_DA_API
🏁 Inicializando
cd frontend
npm install
npm run start

📱 Para o mobile:

🖥️ Configurando env.js
export const API_URL = 'URL_DA_API';
🏁 Inicializando
cd mobile
npm install
expo start

👩‍💻 Tecnologias Utilizadas

💻 Painel de Controle

📱 Aplicativo Móvel

⚙️ API

🐛 Bugs e Sugestões

Encontrou algum problema ou possui alguma sugestão para a melhoria do projeto? Por favor, siga os seguintes passos:

  1. Pesquise se já existe alguma issue fechada ou aberta sobre o assunto na ferramenta de Issue Tracker.
  2. Caso não encontrar nenhuma issue sobre o assunto, por favor, crie uma issue sobre o bug ou sugestão.
  3. Inclua na issue as tags referentes ao assunto abordado:
    • feature - Utilizada para indicar uma sugestão de melhoria para o projeto.
    • bug - Discussão aberta para informar sobre um possivel bug presente na aplicação.

⁉️ Como contribuir?

Primeiramente, gostaria de agradecer pelo interesse em contribuir para o crescimento deste projeto. Doravante, para realizar sua contribuição, você poderá abrir um pull request enviando suas alterações. Por favor, siga os seguintes passos:

  1. Crie um fork do projeto e clone seu fork:
$ git clone https://github.com/jhonatancunha/quizUTFPR.git
$ cd quizUTFPR
  1. Crie uma nova branch que conterá suas alterações:
$ git checkout -b <nome-descritivo-da-alteracao>
  1. Após realizar as alterações, faça um commit para seu repositório:
$ git commit -m "titulo do commit" -m "descrição das alterações"
$ git push origin <nome-da-branch>
  1. Abra um Pull Request para a branch development. O mesmo deverá com um título claro e uma descrição contendo todas as alterações feitas.

🎓 Autores


Jhonatan Cunha

Gmail Badge


Jessé Pires

Gmail Badge


Iago Carmona

Gmail Badge