Certificadora 1

capa do projeto


Este projeto será composto pelo desenvolvimento de um sistema web com o objetivo de auxiliar no ensino-aprendizagem de Física, podendo ser utilizado por docentes e discentes do Ensino Médio.


🔑 Credenciais para login

Para acessar a página do sistema é necessário que o usuário realize seu login através da inserção de dados nos campos disponíveis: user e e-mail. Assim, segue abaixo as credenciais criadas para que seja testado essa funcionalidade:


👨‍💻 Desenvolvido por:

  • Gabriela Maria Lieira

  • Felipe Kauã de Lima

  • Talita Aya Sakamoto Kuriki


📑 Requisitos

  1. Pesquisar, selecionar e armazenar os 10 problemas de Física do ensino médio, com diferentes níveis de dificuldade (intervalo de 1 a 3); ✅

  2. Permitir a navegação entre menus (caso exista mais de um); ✅

  3. Listar os problemas armazenados indicando o nível de dificuldade; ✅

  4. Alterar a ordenação dos problemas por nível de dificuldade tanto de modo ascendente como descendente; ✅

  5. Escolher um problema a ser resolvido: ✅

    Avisar o usuário se o problema escolhido já foi resolvido anteriormente, caso já tenha sido resolvido, perguntar se deseja resolver novamente;

  6. Permitir ao usuário a inserção dos dados de entrada e a saída calculada do exercício em questão; ✅

  7. Apresentar o resultado (saída correta) e comparar com o valor inserido pelo usuário, indicando se o usuário acertou ou errou a resolução; ✅

  8. Permitir a consulta de problemas que já foram resolvidos pelo usuário; ✅

  9. Alterar o nível de dificuldade de um problema já resolvido; ✅

  10. Exibir a pontuação atual do usuário. ✅


📝 Regras:

  • O usuário pode resolver um problema com nível de dificuldade 2 após resolver pelo menos um problema do nível 1;

  • O usuário pode resolver um problema do nível 3 após resolver pelo menos um problema do nível 2;

  • Após resolver um problema 3, o usuário poderá resolver quaisquer problemas;

  • O usuário irá acumular uma pontuação durante a resolução dos problemas;

  • Para cada acerto de problemas do nível 1 o usuário recebe 100 pontos;

  • Para cada acerto de problemas do nível 2 o usuário recebe 250 pontos;

  • Para cada acerto de problemas do nível 3 o usuário recebe 500 pontos;

  • Caso o usuário escolha um problema que já foi resolvido a cada nova tentativa a pontuação do problema é dividida por 2;

  • Alteração do nível de dificuldade de um problema já resolvido:

    • Ao acertar uma questão de primeira, o nível da mesma cai -1, sendo o mínimo nível 1;
    • A cada resposta errada, o nível do problema aumenta +1, sendo o máximo nível 3.

💻 Desenvolvimento:

Para a implementação do projeto a equipe utilizará estruturas de dados para desenvolvimento de determinadas funcionalidades, estas que serão listadas após a finalização completa do código.

Ademais, optou-se por utilizar React JS para construção, Front-end, da aplicação para melhor experiência do usuário, juntamente com a biblioteca Material UI, a qual oferece diferentes componentes que auxiliaram na construção das interfaces do sistema, e com o React Router para controle de rotas e desenvolvimento de uma aplicação padrão SPA (Single Page Application).

Para a lógica do projeto foi utilizado o BaaS (Backend As A Service) Firebase, um modelo de serviço que oferece a infraestrutura e o back-end de uma aplicação de forma simplificada.

Já o progresso do projeto foi acompanhado através de uma Planilha Gantt, contendo os status de todas as tarefas pendentes, os responsáveis, datas de início e fim, bem como estregas parciais e finais. Este cronograma completo pode ser visualizado através deste link.


🎨 Design:

A interface do projeto foi desenvolvida utilizando a ferramenta Figma, esta que permitiu criar um arquivo compartilhável e um protótipo do que seria desenvolvido, facilitando o entendimento geral, certificando que todos os requisitos e regras seriam seguidos e permitindo a estilização do sistema para uma interface amigável.

Deste modo, o design pode ser acessado através deste link.


📥 Instalação e execução

  1. Clonar o projeto em seu próprio computador
//git clone <link do repositório>

git clone https://github.com/g-lieira/certificadora-1.git
  1. Abrir a pasta do projeto em seu editor de código

  2. Instalar todas as dependências do projeto

    3.1. Esta etapa pode ser feita no terminal do projeto

     Ex: No Visual Studio Code basta utilizar o atalho Ctrl + J
    
npm install --global yarn

//após a conclusão do comando acima seguir a execução do próximo:

yarn
  1. Rodar os arquivos
yarn start

O sistema será aberto em uma nova página de seu navegador, sendo possível o uso da aplicação e suas funcionalidades.