Giter VIP home page Giter VIP logo

api-pmweb-1's Introduction

pmweb-test

Introdução

Serviço REST atendento os requisitos do teste técnido para a empresa pmweb;

Rotas Descrição Método
<url>/item/auth Rota para autenticar usuários, retornando token para navegação POST
<url>/item/orders Rota que retorna objeto com dados sobre pedidos efetuados POST

Variáveis de ambiente

Para o funcionamento do serviço, é necessário a inclusão de um arquivo .env no diretório raiz do programa, contendo as seguinte variáveis:

Variável Descrição
PORT Porta que será usada pela aplicação
DB_HOST Hostname para conexão com o banco de dados
DB_NAME Nome do banco de dados que será acessado
DB_USER Username para acesso ao banco de dados
DB_PASSWORD Senha para acesso ao banco de dados
JWT_KEY Chave que será usavada para criação dos tokens JWT
JWT_TIME Tempo de expiração dos tokens JWT
AUTH_PASSWORD Senha de acesso para autenticaçao e envio do token JWT

Dentro do código há o arquivo .env.default que serve de referência de localização e variáveis que deverão conter dentro do arquivo .env que deverá ser criado.

Scripts do Serviço

Funcionalidade Script
Inicializar o serviço npm start
Inicializar o serviço com Nodemon npn run start-watch
Executar testes unitários npm test

Códigos de Retorno

Número Descrição Obs
200 OK Em caso de sucesso de um request
401 Unauthorized Em caso de problemas na autenticação
404 Not Found Dados não encontrados
412 Precondition Failed Dados faltantes para fazer a request

Autenticação


Caminho: <url>/item/auth

Método: POST

Retorna dados para navegação (token JWT).

Request

Request body

{
  "login": "Usuario",
  "password": "Senha"
}
Parâmetro Tipo Descrição
login String Login do usuario
password String Senha do usuario

Response

{
  "message": "Autorizado",
  "token": "eyJhbGciOi..."
}
Parâmetro Tipo Descrição
message String Mensagem com confirmação de autorização
token String token JWT para autorização

Consulta dados pedidos


Retorna dados dos pedidos de acordo com as datas informadas

Caminho: <url>/item/orders

Método: POST

Request

Headers

Key Value Descrição
Authorization Bearer {tokenJWT} Autenticação para request

Request body

{
  "dataInicial": "2014-11-10",
  "dataFinal": "2014-11-30"
}
Parâmetro Tipo Formato Descrição
dataInicial String YYYY-MM-DD Data inicial do periodo
dataFinal String YYYY-MM-DD Data final do periodo

Response

{
  "orders": 13,
  "products": 23,
  "revenue": 23917.01,
  "asp": 1039.87,
  "aov": 1839.77
}
Parâmetro Tipo Descrição
orders Number Número total de pedidos
products Number Soma das quantidades de produtos vendidos
revenue Number Soma da receita total
asp Number Preço médio de venda
aov Number Ticket médio de venda

api-pmweb-1's People

Contributors

dh2b avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.