Skip to content

denion465/corretora

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 

Repository files navigation

Corretora do Daniel

Descrição

Um projeto feito com Node.js, para consultar cotações de ações.

Dados das ações sendo consultadas na Alpha Vantage, estou ultilizando o PostgreSQL para salvar dados atualizados.

🛠 Tecnologias usadas:

📘 Libs:

Typeorm, Date-fns, Axios, ESlint, Jest.

Requisitos:

Node.js com versão acima da 14.x.

Um banco PostgreSQL com nome de corretora rodando na porta padrão.

Como rodar a API:

  • Clone este repositório.

  • Vá para pasta principal.

  • Usando Yarn:

    • Download das depêndencias usando o Yarn: $ yarn
    • Iniciando a API com Yarn: $ yarn dev
  • Usando NPM:

    • Download das depêndencias usando o NPM: $ npm install
    • Iniciando a API com NPM: $ npm run dev
  • Porta da API: 3333

Como rodar os testes:

  • Rodando os testes usando o Yarn: $ yarn test
  • Rodandos os testes usando o NPM: $ npm run test

✅ Testes dos serviços 100% Coverage.

Alt Text

Exemplos de uso (ENDPOINTS):

Favor adicionar .SA no final de alguns símbolos de ações como VALE5.SA, PETR4.SA, GOLL4.SA, CASH3.SA, etc...

Retorna a cotação mais recente:

Request URL:
  http://localhost:3333/stocks/ETHBTC/quote
Response BODY:
{
  "name": "ETHBTC",
  "lastPrice": 0.0674,
  "pricedAt": "2022-05-22"
}

Retorna um histórico de cotações entre duas datas:

Request URL:
http://localhost:3333/stocks/IBM/history
Query string:
from: 2022-04-13
to: 2022-04-16
Response BODY:
{
  "name": "IBM",
  "prices": [
    {
      "opening": 128.93,
      "high": 130.58,
      "low": 126.38,
      "closing": 126.56,
      "pricedAt": "2022-04-14"
    },
    {
      "opening": 125.64,
      "high": 126.67,
      "low": 124.91,
      "closing": 126.14,
      "pricedAt": "2022-04-13"
    }
  ]
}

Retorna os últimos valores de acordo com os símbolos informados:

Request URL:
http://localhost:3333/stocks/ETHBTC/compare
PAYLOAD JSON:
{
  "stocks": ["PETR4.SA", "VALE5.SA"]
}
Response BODY:
{
  "lastPrices": [
    {
      "name": "ETHBTC",
      "lastPrice": 0.0674,
      "pricedAt": "2022-05-22"
    },
    {
      "name": "PETR4.SA",
      "lastPrice": 34.83,
      "pricedAt": "2022-05-20"
    },
    {
      "name": "VALE5.SA",
      "lastPrice": 33.36,
      "pricedAt": "2019-02-15"
    }
  ]
}

Retorna uma projeção de ganhos de acordo com a data da compra da ação:

Não foi considerado calculos de juros e dividendos, somente o ganho de porcentagem da ação.

Request URL:
http://localhost:3333/stocks/BBAS3.SA/gains
Query string:
purchasedAmount: 1000
purchasedAt: 2018-01-24
Response BODY:
{
  "name": "BBAS3.SA",
  "purchasedAmount": 1000,
  "purchasedAt": "2018-01-24",
  "priceAtDate": 37.99,
  "lastPrice": 37,
  "capitalGains": -26.06
}

Author

Daniel Vidal

About

Uma API de corretora de valores

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages