Um projeto Full-Stack desenvolvido para o processo seletivo da Shopper. No Front-End, foi desenvolvido um site de E-comercie em React baseado do site oficial da Shopper, no qual é apresentada uma lista de produtos que podem ser adicionados ao carrinho. Ao finalizar o pedido, os dados da compra são enviados ao Back-End. No Back-End, foi desenvolvida uma API em NodeJS que verifica os dados e os armazena em um banco de dados MySQL. O Docker foi usado para rodar o Front, Back e o Banco de dados em contêineres.
- ✅ O sistema deve ter um formulário de cadastro de pedidos
- ✅ O usuário deve entrar com Nome do Cliente, Data de Entrega e uma lista de compras
- ✅ A lista de compras é composta por um ou mais produtos e a quantidade solicitada para cada um deles.
- ✅ O usuário pode alterar a quantidade de itens já cadastrados ou excluir um item que ele não queira mais.
- ✅ A cada alteração na lista de compras o sistema deve calcular o valor total do pedido.
- ✅ Todas essas informações devem ser salvas em um banco de dados que você vai modelar.
- ✅ Cada pedido salvo deve debitar a quantidade do produto correspondente de seu estoque.
- ✅ O sistema deve alertar o usuário caso a quantidade solicitada não esteja disponível no estoque.
- ✅ O sistema também deve ter uma função para mostrar o estoque atual exibindo: Nome do produto e a quantidade em estoque.
Para rodar o projeto, é preciso ter apenas Docker e o node (caso queira rodar os testes) instalados em sua máquina, pois todos os outros recursos necessários são instalados automaticamente nos contêiners quando eles são inciados.
git clone https://github.com/AdeirMoreira/case-Shopper-FullStack.git
cd case-Shopper-FullStack/back-end
docker compose up
Após cerca de 1 minuto e meio ou quando aparecer a mensagem node-Shopper | Server is running in http://localhost:3003
no terminal, os contêineres do App React, da API Node, e do Banco de dados MySQL estarão inicializados.
O App-React rodará na porta 3000 e estará disponivel no endereço http://localhost:3000/.
🟢 API-Node
A API Node, por sua vez, rodará na porta 3003 e seu endereço base é http://localhost:3003/.
Para rodar os testes de integração na API, é preciso iniciar um container um banco de dados de teste.
❗⚠ Abra um novo terminal e navegue até case-Shopper-FullStack/back-end
❗⚠ Um novo contêiner com um banco de dados de testes será preparado, por isso, os testes aguardarão 25 segundos até que esse contêiner esteja pornto.
1️⃣ Rodar os testes
npm run test
Adeir Moreira |