Giter Site home page Giter Site logo

eppica / test-drive Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 6.63 MB

Test Drive is an app that aims to help the theory study to take a driver's license in Brazil.

Home Page: https://test-drive-api.netlify.app/.netlify/functions/api

License: MIT License

TypeScript 92.32% JavaScript 7.68%
app car drive expo javascript nodejs react-native theory typescript

test-drive's People

Contributors

lbeghini avatar predodamiao avatar

Stargazers

 avatar

Watchers

 avatar

test-drive's Issues

Navegações

Para a apresentação do seminário, configurar telas iniciais para mostrar as navegações:

Telas

  • Conteúdo
  • Teste
  • Sobre

Navegações

  • Stack Navigation
  • Drawer Navigation

Bibliotecas

  • Styled Components

Criar Telas de questão

Criar as telas de questão, que receberão uma variável de questão.

Implementar a tela recebendo a variável de questões, e a lógica de exibição para cada tipo de tela:

  • Questão sem imagem
  • Questão com imagem no título
  • Questão com imagem na resposta

Implementar API

Fazer uma API em Node para receber as requisições do front, pegar os dados no banco de dados e devolver.

Rotas:

  • /legislacao/{quantidade}
  • /sinalizacao/{quantidade}
  • /direcao/{quantidade}
  • /meio-ambiente/{quantidade}
  • /mecanica/{quantidade}
  • /primeiros-socorros/{quantidade}
  • /simulado

Arrumar nomes dos headers

Os headers estão com os nomes dos valores dos componentes, sem acentuação.

Arrumar a propriedade de nome que é exibido no header.

Configurar ambiente

A configuração do ambiente é importante para manter um padrão no desenvolvimento do projeto, principalmente trabalhando em um time.

Para tal, será utilizado um linter para identificar possíveis erros no código, e o Prettier para garantir que todos sigam o mesmo padrão.

Há um tutorial para auxiliar a criar a configuração de ESLint e Prettier aqui.

  • ESLint
  • Prettier

Criar Tela de Carregamento

  • Desenhar a Tela de carregamento

Não há sentido em colocar código, já que o programa não executa nenhuma função que necessite de carregamento por enquanto.

Criar Tela Final de Questionário

A tela final de questionário vai receber um objeto de questões vindo da tela de questões acresido das respostas de usuário, e vai fazer os cálculos para ver a porcentagem de acerto.

  • Desenhar tela Final de Questionário
  • Implementar cálculos de resultado

✨ Melhorias

  • Tirar Drawer aparecendo em baixo da status bar
  • Atualizar Splash Screen com mesmo ícone de Sobre
  • Alterar tela de resultado para mostrar aprovado ou reprovado quando for simulado
  • Alterar tela de resultado para não dar scroll
  • Tirar o enunciado da questão de justificado
  • Melhorar visualização dos botões de voltar e próxima/finalizar na tela de questões
  • Colocar uma sessão de "Teste" dentro de configurações
  • Alterar tipo de questões para ao invés de ser um número, ser algo mais significativo
  • Adicionar rota de apagar tudo do banco
  • Refatorar estatísticas para salvar os últimos 5 dias

🐞 Resolver bugs

  • Usuário pode digitar quantidade de questões e duração infinita em configurações
  • Usuário pode colocar quantidade de questões e duração vazia em configurações
  • Apagar notificações antigas ao definir nova
  • Quando não consegue conectar na API o aviso de erro é exibido duas vezes
  • Enquanto não carrega as questões, não deixar ir para a tela de questões
  • Se não achar questões e o botão iniciar estiver ativado, app crasha
  • Quando termina o questionario, dá para voltar para as questões e remarcar com o botão de voltar do celular
  • Tem que dar um round no resultado da estatística

🐞 Bugs de última hora

  • Palavras das questões aparecem cortadas
  • Não aparece a quantidade padrão de questões do simulado, nem o tempo padrão

Criar variável teste de Questões

Criar variáveis de questões para teste das telas.

As variáveis deverão seguir o tipo:

export type Alternative = {
  index: number,
  content: string
}

export type Question = {
  index: number,
  type: number,
  question: string,
  image: string,
  alternatives: Alternative[],
  answer: number
  userAnswer?: number
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.