O objetivo do projeto final do Luiza < Code > é desenvolver um serviço HTTP que resolve a funcionalidade de Omni Channel do cliente.
Requisitos | Instalação e configuração | Rodando o projeto | Endpoints | Banco de dados | Testes | Colaboradoras
API contendo os seguintes endpoints:
- Listar produtos
- Listar lojas físicas
- Cadastrar cliente
- Adicionar um produto na lista de compra da cliente;
- Remover um produto da lista de compra da cliente;
- Finalizar compra
- Consultar todas as compras realizadas da cliente;
Antes de começar, verifique se você atendeu aos seguintes requisitos:
- Você instalou a versão mais recente do
npm, node e postgres
Para a instalação, siga estas etapas:
- Faça um clone do repositório:
git clone https://github.com/saalua/luizacode-omnichannel.git
- Na pasta do projeto, abra o terminal e execute o comando abaixo para instalar as dependências:
npm install
- Crie um arquivo chamado
.env
na raiz do projeto com as variáveis abaixo e o preenche com as informações de autenticação do seu banco de dados, como no exemplo:
DB=postgres
USER=postgres
PASS=senha
HOST=localhost
PGPORT=5432
JWTSecret=palavra-secreta
Para usar, siga estas etapas:
- Na pasta da aplicação, abra o terminal e digite. O servidor irá iniciar na porta 3000, caso queira trocar a porta, altere no arquivo app.js
npm start
- Par abrir a documentação Swagger, digite no navegador:
localhost:3000/docs
Endpoints acessíveis sem autenticação:
- Retornar todas as lojas
- Retornar todos os produtos e produtos por id
- Retornar todos os produtos
- Criar um novo cliente
- Fazer login
Endpoints com autenticação:
- Retornar todos os pedidos de um cliente
- Criar um novo pedido
- Retornar um único pedido de um cliente
- Adicionar e remover produtos
- Finalizar a compra
- Retirar a compra
Diagrama do banco de dados:
Os testes automatizados da aplicação foram desenvolvidos com o framework Cypress e os testes podem ser encontrados no repositório abaixo:
Julia Dutra |
Layane Lino |
Letícia Cesion |
Luana Santos |
Nathália Veneziano |
Walquiria Lima |
Tainá Medeiros |