O Hiring Coders é um programa de capacitação gratuito e sem pré-requisitos para ensinar programação.
Atualmente encontra-se na terceira edição, onde foram disponibilizadas 15 mil bolsas de estudos com certificações.
A fase final é composta por 60 finalistas, divididos em 6 Casas (Grupos), formando equipes de 10 alunos que realizam o Desafio Final.
🔸 Alessia Casado
🔸 Amanda Almeida
🔸 Arthur Candido
🔸 Ciro Carvalho
🔸 Michel Negrão
🔸 Phelipe Lima
🔸 Tiago Feitoza
🔸 Victor Evangelista
🔹 Projeto
João é dono de uma loja que vende roupas e acessórios.
- A loja possui uma grande base de pedidos, que em sua maioria possui apenas 2 itens;
- João quer sugerir produtos que sejam comuns na compra;
- A combinação deve permitir a mudança do carrinho de compras para que não seja enquadrado como venda casada;
Atualmente João entra no OMS da VTEX e navega nos pedidos para entender o perfil de compra dos consumidores, em alguns dos casos ele percebeu que a calça jeans e a camiseta branca são uma combinação comum e por isso resolveu montar uma sugestão de venda.
- A sugestão de venda fez com que o consumidor já inicie o carrinho com os itens da combinação, agilizando a compra e criando oportunidade para que o comprador adicione mais itens ao carrinho.
Desenvolver uma funcionalidade que disponibilize, de forma automatizada, sugestões de itens combinados com base no histórico de vendas da loja.
Sugestões Inteligentes é uma aplicação desenvolvida para disponibilizar, de forma automatizada, sugestões de itens combinados com base no perfil de vendas da loja, usando a regra de combinações mais vendidas.
A aplicação conta com uma página administrativa que apresenta as sugestões para o lojista, onde ele pode gerenciá-las usando os menus de opções.
Na página de cada produto, as sugestões aprovadas pelo lojista são apresentadas para o cliente, conforme o produto que está sendo visualizado. O cliente pode usufruir desse recurso adicionando as combinações diretamente ao carrinho de compras, onde ele pode remover itens das combinações.
- Gather: comunicação síncrona - ambiente de comunicação primário (áudio e vídeo).
- Slack: comunicação assíncrona - ambiente de comunicação secundário.
- Whimsical: quadro branco - ambiente de planejamento e organização de tarefas.
- WHIMSICAL - Workspace (Link)
- Resumos;
- Lista de Tarefas;
- Fluxograma de Desenvolvimento;
- Arquitetura do Projeto;
- Geração e Distribuição de Tarefas;
- Materiais de Referência;
- Quadro de Dúvidas;
- Quadro de Comunicação;
- Datas Importantes;
- Links Importantes;
- Documentações de Uso.
- Desenvolvimento de um workspace VTEX IO funcional e com boa experiência de navegação;
- Construção de um tema próprio e responsivo;
- Criação de SKUs;
- Leitura do histórico de vendas da loja;
- Monitoramento de novas vendas;
- Processamento de combinações de SKUs vendidas;
- Armazenamento de dados processados na AWS;
- Disponibilização da lista de combinações para o lojista (Administrativo da Loja);
- Apresentação das combinações para aprovação do lojista no Admin da Loja;
- Disponibilização das combinações aprovadas para os consumidores em um componente React na Página de Produto;
- Automação da criação de URLs de Carrinho que adiciona múltiplos itens da combinação diretamente ao carrinho;
- O cliente pode adicionar cada combinação diretamente ao carrinho e dentro carrinho pode remover itens dessa combinação.
Administrativo da Loja (Gestão de Combinações) (Link - App) (Link - Menu)
- Apresentação da lista de combinações atualizada e ordenada pelo maior número de ocorrências.
-
Renderização de detalhes das SKUs que compõem cada combinação:
- Imagem do produto;
- Nome do produto;
- Total de ocorrências da combinação;
- Status (ativo ou inativo).
-
Ferramentas:
- Opção de seleção do total de combinações que devem aparecer por página;
- Botões para avançar e recuar páginas;
- Botão para alternar o status de apresentação de cada combinação (ativo ou inativo);
- Botão para alterar a espessura da linha;
- Botão para alternar a visibilidade das colunas (EXIBE TODAS/ESCONDE TODAS/Combinação/Ocorrência/Ativo).
- Botão para deletar combinações;
- Campo para buscar combinações por nome ou ID da SKU;
- Filtro de dados por Ativo/Inativo/Todos;
-
- Disponibilização das combinações aprovadas para os clientes;
- Na página de cada produto são apresentadas sugestões de combinações aprovadas pelo lojista;
- O consumidor pode interagir com as sugestões adicionando combinações ao carrinho;
- No carrinho o consumidor pode remover as SKUs das combinações.
APP/API dreamscape.backendapi@0.x
(Link - App)
- Aplicativo criado pela equipe DreamScape para conectar o Workspace da VTEX IO com o Back-End e o Banco de Dados na AWS.
- Master Data V2 (Data Entities) - Busca de pedidos (orders)
- Orders Feed V3 (Get Order) - Coleta de informações dos pedidos
- Orders Broadcast (OrderID) - Ouvinte de novos pedidos
- Banco de dados não relacional, criado para o armazenamento das combinações processadas, que são consumidas pelo Administrativo da Loja e pela Página de Produto.
- Endpoints:
- GET allCombination - retorna todas as combinações
- GET combinationsBySkuId - retorna combinações que correspondem com o SkuID passado
- GET occurrencesMoreThan - retorna skus com ocorrências maiores que
- GET oneCombination - retorna combinações por combination
- GET oneCombinationByCombinationId - retorna uma combinação por combination e combinationId
- POST combination - cria uma combinação por skuId
- POST skuToCombinate - cria uma lista de combinações
- PUT combinationById - altera o total de ocorrências e o status (showInShop) da combinação
- DEL combinationById - deleta a combinação por skuId
- Construído para funcionar como router para o Lambda Functions.
-
Usado para implementar funções de CRUD que interagem com o banco de dados DynamoDB (processamento, consulta e edição de dados).
-
Função de Processamento de Dados:
- Recebe o histórico de ordens e novas ordens;
- Para cada ordem, verifica se a ordem foi paga e contém mais de uma SKU:
- Processa todas as possíveis combinações de itens(SKUs) dentro de cada ordem;
- Soma o total de ocorrências de cada combinação processada;
- Verifica se a combinação já existe no banco de dados DynamoDB:
- Se a combinação já existir, atualiza a data de criação e o total de ocorrências no DynamoDB;
- Se a combinação não existir, grava a nova combinação no DynamoBD com os seguintes campos:
combination: string[] (partition Key) combinationId: uuid (sort Key) orderDate: 'yyyy-mm-dd' createDate: 'yyyy-mm-dd' occurrences: integer showInShop(default: false): boolean
- Recebe o histórico de ordens e novas ordens;
- Ter uma conta VTEX IO
- Ter instalado:
- Git
- Node.js;
- VTEX Toolbelt.
- Clone o projeto github para uma máquina local;
git clone https://github.com/emenni/dreamscape-final-project/
- Abra o terminal de comandos de sua preferência
- Dentro do terminal acesse a raiz da pasta do projeto baixado
- Faça o login na sua conta VTEX:
vtex login dreamscape
Obs.: uma página de login deve abrir no seu navegador padrão, entrar com os dados de login e senha da sua conta VTEX
- Acesse o seu workspace:
vtex use <workspace-name>
- Caso esteja criando um novo workspace, confirme a criação:
- Digite
y
e pressione a teclaEnter
Obs.: se tudo ocorreu certo, o endereço web do seu workspace será impresso no console do terminal.
- Instale os Apps DreamScape:
vtex install dreamscape.backendapi@0.x
vtex install dreamscape.dreamscape@0.x
- Acesse a página do seu workspace pelo seu navegador;
vtex browse
- Crie uma conta para acessar a loja;
- Faça o login na loja;
- Realize uma compra com vários produtos (esse processo é genérico, não precisa de um pagamento real;
- Acesse a aba
Admin > Promoções > Soluções Inteligentes
; - Todas as combinações possíveis devem aparecer.
- Ative uma combinação clicando no botão
Ativar
- Retorne para a Workspace da loja, acesse a página de um dos produtos que comprou, e verifique na parte inferior da tela se foram renderizadas as combinações.
- Clique no botão de carrinho para adicionar a combinação ao carrinho;
- Dentro do carrinho você pode remover itens da combinação.
Caso queira testar chamadas na API, você pode utilizar os nossos modelos salvos, que estão disponibilizados no POSTMAN.
Acesse o projeto no Postman: (Link)
- Crie uma conta POSTMAN, pode ser uma versão gratuita.
- Faça o fork do projeto;
- Substitua a chave de autenticação.
- Agora basta enviar as requisições seguindo os padrões existentes
Obs.: A exclusão total ou parcial de dados do banco de dados via chamada direta no endpoint da API não é possível.
Para excluir dados:
- É permitido excluir combinações diretamente pelo admin da loja (Produtos > Sugestões Inteligentes)
Para construir ou reconstruir a base de dados com o histórico de vendas, execute a ferramenta rebase:
- Acesse o Admin da Loja (Link)
- Siga para:
- Configurações da Conta > Meus Aplicativos
- Busque por:
- BackendApi app
- Click no botão "Salvar"
- Idealizadores e Realizadores
- VTEX
- Time da VTEX
- Lalá
- Luciano Santos
- Natália Molena
- GAMA ACADEMY
- Time da Gama
- Gabi
- Tio Bruce
- Tio Fred
- Yellow Belts
- VTEX
- Patrocinadores:
- ACCT
- Lebiscuit
- AWS
- Mentores
- Time de Mentores das Lives
- Time de Mentores dos Desafios
- Zorza
- Fernanda
- Bernardo
- Reginaldo Oliveira
- Ana Baptistão
- Palestrantes
- Alunos
Agradecemos também a toda a rede de colaboração que fez o Hiring Coders #3 acontecer e ser um sucesso. 🎉🎊🎇🥳🎆🎈🚀
🐝🐿🐘🐙🦅🦔
© DreamScape 2022