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.
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.
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 |
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
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). |
- PostGres - Database
- Express - Server Framework
- NodeJs - Server Environment
- Celebrate - Middleware validator
- TypeORM - ORM Framework
- @JuninhoFreitas - Desenvolvimento e documentação