Skip to content

Teste para Node.Js Developer Construção de uma API que deverá receber como parâmetro as datas de início e fim do período de consulta. Retornando um Json com resumo do que há no banco.

Notifications You must be signed in to change notification settings

JuninhoFreitas/api-pmweb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project logo

API - Orders

Status


Objetivo do projeto: Avaliar a capacidade técnica, crítica e raciocínio lógico, na construção de uma API para acesso a uma camada de dados.

📝 Indice

🧐 Sobre

Teste para Node.Js Developer Construção de uma API que deverá receber como parâmetro as datas de início e fim do período de consulta. Retornando um Json com resumo do que há no banco.

🏁 Primeiros passos

Pre-requisitos

Banco de dados PostGres.

Yarn instalado na maquina que irá rodar o projeto.

Criação de arquivo .env contendo as váriaveis de ambiente que são necessárias neste projeto.

.env

Variável Descrição
DATABASE_HOSTNAME Hostname para conexão com o banco de dados
DATABASE_USERNAME Usuario de acesso ao banco de dados
DATABASE_PASSWORD Senha de acesso ao banco de dados
DATABASE_DATABASE Nome do banco de dados

Instalando

Iniciar instalação de pacotes necessários com yarn:

yarn

Executar serviço API:

yarn dev

Se tudo ocorreu bem, após ter criado o .env e configurado corretamente o banco de dados, após executar o comando acima, deverá obter a seguinte mensagem no terminal:

Server started on port 3333! 🏆 GET http://localhost:3333

Indicando que o servidor está rodando em localhost na porta 3333

🎈 Como usar

Endpoint

<url>/orders

Método: GET

Body:

{
  "startDate": "2015-12-30",
  "endDate": "2016-12-30"
}

Retorno esperado:

{
  "success": true,
  "data": {
    "result": {
      "count": 3887,
      "revenue": 411890.04,
      "quantity": 7198,
      "averageRetailPrice": 57.22,
      "averageOrderValue": 105.97
    }
  }
}
Propriedade Descrição
count Total de pedidos efetuados no período.
revenue Receita total de pedidos efetuados no período.
quantity Total de produtos vendidos no período (soma de quantidades).
averageRetailPrice Preço médio de venda (receita / quantidade de produtos).
averageOrderValue Ticket médio de venda (receita / total de pedidos).

⛏️ Built Using

✍️ Autor

About

Teste para Node.Js Developer Construção de uma API que deverá receber como parâmetro as datas de início e fim do período de consulta. Retornando um Json com resumo do que há no banco.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published