Este Repositório hospeda os seguintes items
- Loja Vtex: Usa componente de pontuação para premiar e gamificar a experiência do usuário ao fazer uma compra. A loja é feita com store blocks usando JSON para compor os blocos e a UI.
- Api Rewards: API Hospedada na aws com Ec2, Route53 e com dominio próprio, essa api acessa um documento no MasterData da VTEX e armazena os dados de id, pontuação e gera um pequeno histórico do cliente com seus pontos, com ela pode-se consultar os pontos, e, com ajuda da configuração do OrderHook, creditar as compras do cliente, retirando o valor do frete.
- Api DebitRewards: Api que debita os pontos do usuário, podendo ser utilizada com a config do OrderHook para pedidos com status: "canceled", ou por requisição passando uma ordem de debito, o id do cliente e o valor a ser debitado dos pontos.
- Vtex BackEndService getRewards: Serviço interno da vtex que escuta a sessão do cliente, consulta sua pontuação na RewardsAPI na aws e escreve a informação na sessão interna VTEX. Gerando também um endpoint interno para consulta por clientId. Proporcionando uma segurança para o endpoint, fazendo com que sua url fique escondida.
- Vtex-Myaccount-Extension: Extensão do myAccount para adicionar uma aba de pontos, informando os pontos do cliente, informação importante para estar junto dos outros dados do mesmo.
- VtexBlock PointsComponent: Componente Vtex que mostra os pontos do usuário na NavBar consultando internamente na própria vtex.session a informação.
- Foi feito a divisão das atividades em pequenas atividades utilizando a ferramenta Trello o nosso quadro de trabalho está disponível para visualização neste link.
git clone
com a url deste repositório- Assegure-se de ter seu ambiente configurado e o Vtex-CLI instalado e configurado
- Dentro da pasta travellog-group1-store, execute
vtex login <yourAccount>
- Em seguida para criar um workspace execute
vtex use <dev>
- Execute
vtex link
- Log in to your store yourdomain.vtex.com
"travellog.rewards": "1.x",
"travellog.rewards-extension": "1.x",
"travellog.show-points-service": "0.x"
Escrevendo os pontos no mesmo local onde a VTEX escreve os dados de sessão do usuário:
https://workspace.enviroment.com/api/sessions?items=*
- Acessa dados da sessão do usuáriohttps://workspace.enviroment.com/_v/pvt/points/:clientId
- Acessa pontuação do usuário por id
Debit API:
Rewards API:
Antes de acessar a documentação online certifique-se de que as instruções de Como rodar o projeto foram executadas.
As seguintes melhorias precisam ser feitas para aprimoramento do projeto
Principais Pontos de Melhoria:
- Melhorias no layout em geral, front-end de loja
- Utilizar mais ferramentas de performance
- Disponibilizar histórico de pontos no MyAccount, funcionalidde já implementada no backend
- Loja de pontos, onde o cliente pode utilizar seus pontos para comprar algum item da loja
- Usar pontos como desconto
- Plano de upgrade de pontos, onde o cliente pode assinar para ganhar o dobro de pontos nas compras
💻 Node.js
🛠 ReactJS
💻 AWS
🛠 VtexIO