Foi um teste realizado para a empresa Nave
O intuito era fazer uma tela de login, e após o usuario logar, ter acesso aos navers, criação, edição e remoção dos mesmos utilizando navegações e modal.
O teste foi passado para mim no dia 03/03, e hoje, 08/03 estou entregando. Foi, de certa forma, bem desafiador entregar tudo o que foi pedido em tão pouco tempo, manter o código estruturado, limpo e o mais agradável possível, deixar o layout no padrão proposto, tentar adicionar coisas que agregassem valor ao App e ainda estudar coisas novas.
Experimentei pela primeira vez utilizar o redux toolkit, o que foi fantástico, está muito mais fácil e escalável do que antes. Porem o uso do context para um app simples como esse, é muito mais simples e fácil de utilizar
Já tinha alguns componentes prontos, porem a maior parte do código foi escrito do zero. Foi bacana pensar em como desenvolver um sistema de Login e Modal e como componentizar vários trechos de códigos repetidos. Peguei um modulo que achei no google para utilizar modal, porém, em determinado ponto, vi que não ia dar certo e resolvi reescrever todo o código e implementar o meu próprio modal, o que deu certo, porem acredito que ficou um pouco pesado.
Há algumas melhorias para fazer, como tipagens do typescript em algumas funções, melhorar o tratamento de erros na aplicação, e algumas outras coisas. Mas em geral, fiquei satisfeito com o resultado e todo aprendizado que adquiri com o teste
As principais técnologias utilizadas foram:
- React
- Typescript
Principais Bibliotecas:
- Redux
- Redux Toolkit
- Unform
- Styled-Components
- Axios
- React Router Dom
- Yup
- Date-fns
- Eslint
- Prettier
Para executar esse projeto em sua máquina, é necessario ter instalado o node
e o yarn
Após fazer o download do repositório e descompactar em uma pasta, abra um terminal no diretório onde foi desconpactado, e execute o seguinte comando:
$ yarn
Este comando fará com que as dependencias do projeto sejam instaladas. Agora, basta executar o seguinte comando:
$ yarn start
Uma janela se abrirá no seu navegador, caso não aconteça, acesseo seguinte link http://localhost:3000/