Skip to content

luizmarques/currency-quotation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Desafio Web Fullstak - Currency Quotation

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.

Features Obrigatórias:

  • 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

Rotas utilizadas da API

A API utilizada foi a https://docs.awesomeapi.com.br/api-de-moedas

Requisitos Opcionais:

  • Permitir o cadastro de usuários
  • Permitir que o usuário escolha suas moedas favoritas dentre as moedas disponíveis na tela

Requisitos Extras:

  • 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

Instalação

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

Background

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 externa https://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

Endpoints Users:

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

Endpoints Currencies:

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

Principais ferramentas utilizadas no projeto

JS

Typescript

React

Redux

Router

MUI

Styled-Comp

HTML

CSS

About

display real-time value quote of currency

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published