Este projeto é parte de um processo seleletivo que foi muito desafidor, adorei ter tido a oportunidade de me aprofundar nessas features, apesar de parecerem simples, foram necessarias várias ferramentas, boas práticas e bibliotecas para aplicar, desde a arquitetura do projeto até o deploy.
- Apresentar e atualizar a cotação em tempo real de pelo menos 10 moedas em BRL
- Apresentar o histórico de cotação de pelo menos uma moeda em gráfico
- Utilizar uma API para consultar as cotações
- A aplicação deverá atender o quesito de escalabilidade
- Permitir o cadastro de usuários
- Permitir que o usuário escolha suas moedas favoritas dentre as moedas disponíveis na tela
- Login de usuários
- Apresentar o histórico de cotação com opçoes de ver o preço máximo e o mínimo, a escolha do usuário.
- Armazenamento de usuários e moedas em localStorage
Faça o clone do Frontend
git clone https://github.com/luizmarques/currency-quotation
Faça o clone do Backend
git clone https://github.com/luizmarques/api-currency-quotation
Frontend:
yarn install
Backend:
npm install
Para a persitencia dos dados foi criado uma instancia de teste "cloud" no Atlas MongoDB
mongodb+srv://test:[email protected]/test?retryWrites=true&w=majority
, e para a conexão com a API externahttps://docs.awesomeapi.com.br/api-de-moedas/
essas stings devem ser alteradas no arquivo.env
conforme o aquivo de expemplo.env.exemple
Email do usuário teste:
[email protected]
. Senha do usuário teste:test123abc
POST:
/users/register => Registra usuário
= Response =>201 success
400, 401, 500 error
POST:
/users/login => Realiza login usuário
= Response =>201 success
400, 401, 500 error
PUT:
/users/favoriteCurrency => Atualiza as moedas favoritas do usuário
= Response =>201 success
400, 401, 500 error
GET:
/currencies => Retorna dez moedas da API externa
=Response => 200 success
400, 401, 500 error
GET:
/currencies/dashboard/history/:code => Retorna dez moedas da API externa
=Response => 200 success
400, 401, 500 error