API construida com NodeJs para conversão monetária entre moedas
Moedas aceitas como parametro:
- BRL - Real
- USD - Dollar
- EUR - Euro
- BTC - Bitcoin
- ETH - Ethereum
Após clonar o projeto rode o seguinte comando docker-compose up
, este comando irá:
- instalar as dependencias
- rodar a suite de testes
- iniciar a aplicação
Com o servidor rodando, abra um terminal e rode o seguinte comando npm run stress-test
para rodar o teste de estresse na API.
A url para conversão é a /api/v1/currency_quotes
aceitando como parametro:
- From: moeda de origem a ser convertida
- to: moeda para qual o valor será convertido
- amount: valor a ser convertido
- get
/api/v1/currency_quotes?from=USD&to=BRL&amount=135.30
. - get
/api/v1/currency_quotes?from=BRL&to=BRL&amount=123
.
Response:
{
date: '2018-11-17',
from: 'USD',
to: 'BRL',
amount: '123',
converted: 200,
}
- Foi utilizado no teste a API CryptoCompare que fornece a cotação atualizada das moedas.
- Foi utlizado o express como framework junto ao node para criação da aplicação, mas a implementação das
controllers, helpers, services, e configs
foram implementações genuinas sem frameworks, somente utilizando artificios da linguagem.
-
A utilização de um banco de cache como redis ou até mesmo um SQLite para guardar valores em caso de falha ou consulta repetida em um espaço de tempo de 24 horas, tirando a necessidade de requisitar a API CryptoCompare.
-
Adicionar CI&CD como o TravisCi
-
Melhorar o helper que valida os parametros vindos da requisição, utilizando por exemplo um Express-Validator.