Skip to content

🧑‍🏫 QuizUTFPR é um projeto desenvolvido sob orientação dos professores, Juliano Henrique Foleis e Marcos Silvano Almeida. O objetivo é criar um painel de controle para criação de quizzes, bem como um aplicativo móvel para que os alunos possam acessá-los e respondê-los.

Notifications You must be signed in to change notification settings

QuizUTFPR/quizUTFPR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

561b6cf · Aug 31, 2023
Aug 31, 2023
Apr 11, 2023
Jun 13, 2023
Jun 13, 2023
Jul 12, 2022
Jul 12, 2022
Apr 19, 2023
May 15, 2022
Jul 12, 2022
Jul 12, 2022
Jul 13, 2022
Apr 30, 2022
Jul 12, 2022
Jul 12, 2022
Jul 12, 2022
Jul 12, 2022
Jul 12, 2022
Jul 12, 2022
Jul 12, 2022

Repository files navigation

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

About

🧑‍🏫 QuizUTFPR é um projeto desenvolvido sob orientação dos professores, Juliano Henrique Foleis e Marcos Silvano Almeida. O objetivo é criar um painel de controle para criação de quizzes, bem como um aplicativo móvel para que os alunos possam acessá-los e respondê-los.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published