Esta api é responsável por buscar informações no site da Smart MEI
-
Instale as dependências
yarn
-
Então rode o comando para subir a api
yarn dev
Ou, se preferir usar o docker:
docker image build -t smart-crawler -f dev.Dockerfile .
make run-dev
A aplicação rodará o playground na porta 3000
-
Utilizando o yarn
yarn
yarn build
yarn start
-
Ou se preferir, utilize o docker
docker image build -t smart-crawler .
make run-prod
A aplicação estará rodando na porta 3000
Obs: A api não disponibiliza playground em modo produção
-
yarn test
-
yarn test:integration
-
yarn test:coverage
Lendo a documentação da api de conversões de moedas vi que a mesma não é atualizada a cada ocorrência de variação de moeda, e sim apenas uma vez por dia. Sendo assim utilizei um dataloader que armazena a resposta da api e limpa o cache apenas uma vez por dia.
O tempo de processamento do crawler é um tanto custoso, então decidi criar a branch cached-crawler. Nesta branch existe uma schedule para rodar o crawler uma vez por dia, o resultado é mantido em cache no redis.