- Node.js
- Express
- TypeOrm
- Mysql
- Docker
- Docker Composer
- Rode o comando
docker-compose up --build
e aguarde a inicialização do projeto.
$ docker-compose up --build
- Depois que os container terminarem de subir basta acessar http://localhost:3333
- Clone seu repositório e instale as dependências
$ git clone https://github.com/brduarte/bot-coin-service.git
$ cd bot-coin-service
$ yarn install
- Renome o arquivo .env.example para
.env
$ cp -v .env.example .env
-
Execute o banco de dados. Você pode instanciar o banco de dados onde preferir, mas eu deixei uma configuração do Docker Compose para subir um banco de dados para você utilizando os parâmetros configurado no arquivo .env, basta você executar o comando abaixo.
⚠️ OBS: Certifique-se que você tenha o Docker e o Docker Compose instalado em seu computador, caso o contrário você pode encontrar o guia de instalação no índice de documentação.
$ docker-compose up server-mysql
- Rode as migrations para construir a estrutura do banco de dados.
$ yarn typeorm migration:run
- Execute o projeto.
$ yarn start
-
Sua API deve estar sendo executada em http://localhost:3333.
⚠️ OBS: A API será executada na porta parametrizada na variável `APP_PORT` do projeto.
O projeto foi desenvolvido para monitorar e gerar dados do candles da criptomoeda que você cadastrar no sistema.
⚠️ O exempo mostrado aqui é para gerar um candles de 1 minuto
- Cadastre um job para a moeda que você deseja monitorar.
- Parametros
- name: Nome do JOB
- currencyPair: Par de moeda para monitoramento. É permitido apenas moedas listadas na página da API Poloniex
- frequency: Periodicidade para gerar os dados do candles. Essa informação é setada com valor em minutos
- Parametros
curl --location -g --request POST '{{URL}}/jobs' \
--data-raw '{
"name": "JOB_BNB-BTC 1M",
"currencyPair": "BTC_BTS",
"frequency":1
}'
Assim que os sistema começar a gerar os dados, ele mostrará logs de processamento no terminal
- Depois que o cadastro for feito e os primeiros dados forem gerados, você pode obter os dados do
candles
através da endpoint abaixo.
curl --location -g --request GET '{{URL}}/candles?currencyPair=BTC_BTS&frequency=1'
- Caso você queira fazer a consulta através do banco de dados, basta você rodar a query abaixo passando o id do job cadastrado.
SELECT
jobs.id as job_id,
jobs.name,
currencys.currency_pair,
schedules_jobs.frequency,
candles.open,
candles.low,
candles.high,
candles.close,
candles.created_at
FROM jobs
JOIN candles on jobs.id = candles.job_id
JOIN currencys on jobs.currency_id = currencys.id
JOIN schedules_jobs on jobs.schedule_job_id = schedules_jobs.id
WHERE job_id=:job_id
ORDER BY candles.created_at DESC
Você pode ver mais sobre os endpoints na Documentação da API