Skip to content

HamiltonLopes/combinationsAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CombinationsAPI

Team

💻 Sobre a API

API desenvolvida para uso no desafio final no HiringCoders#3 Gama Academy VTEX.

Essa API utiliza duas estruturas de dados complexas para armazenamento de combinações de produtos de vendas, onde em uma delas se encontram as melhores combinações de venda de produtos de toda a loja e a outra as melhores combinações de venda por produto, feitas para alimentar alguns componentes em VtexIO.

Básicamente a API espera um request do OrderHook da vtex e a partir do Id do pedido que é enviado, ela mapeia todas as combinações de itens geradas naquele pedido (se o pedido tiver mais de um item comprado), e utiliza a sua lógica para armazenar nas estruturas de dados as combinações. Somando uma naquelas que já aconteceram anteriormente ou criando um novo registro das que ocorreram pela primeira vez. Neste mesmo momento é recalculado todas as combinações para saber se alguma das combinações inseridas nesta requisição entraram para as melhores combinações da loja. Após todo o funcionamento são armazenadas as estruturas de dados no banco de dados NoSQL da Vtex, o MasterData.

Para retornar as melhores combinações da loja por meio da rota /store-top-combinations a API implementa algoritmos de padrões de contagem para eliminar valores duplicados e elencar chaves numéricamente ordenadas com um array de objetos das combinações na propriedade topStore. A API tbm retorna a propriedade qty: {} que contém o número de vezes que as combinações foram feitas em cada top.

Example

As combinações no top 1 aconteceram 39 vezes, no top2 as combinações aconteceram 12 vezes. Esses números servem para ajudar o lojista na tomada de decisões ao classificar os produtos com alta performance que geram lucro com pouco investimento; produtos de alta performance que geram lucro com muito investimento; produtos que tem grande investimento e geram pouca receita - geralmente são os lançamentos; e os produtos de baixa performance que devem ser analisados para serem promovidos ou realocados.

Rotas

Route | order-processor

order-processor

Route | combinations-by-id/:productId

combinations-by-id/:productId

Route | store-top-combinations

store-top-combinations

Route | raw-top-combinations

raw-top-combinations

Arquitetura

Estrutura de dados

db-schema

Documentação

Documentação completa no swagger: Link

swagger

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •