Serviço HTTP resolvendo a funcionalidade de Omni Channel para um e-commerce
Tabela de conteúdos
Esse projeto tem como objetivo o desenvolvimento de um serviço HTTP que resolve a funcionalidade de um Omni Channel do Cliente, ou seja, adicionar ou remover produtos do carrinho de compras, bem como consultar a lista dos produtos disponíveis e seu histórico de compras.
O projeto foi criado usando as tecnologias:
- [JavaScript]
- [Node.Js]
- [PostgreSQL]
- [Swagger]
- Cada cliente deve ter um e-mail cadastrado;
- O cliente pode adicionar ou remover produtos de seu carrinho e finalizar a compra;
- O cliente só poderá comprar UM produto por tipo;
- Ao final da compra o status se altera de carrinho para realizada e uma loja é associada ao pedido;
- A loja onde a compra foi retirada deve atualizar o status de realizada para retirada;
- O cliente pode consultar todos os produtos e lojas disponíveis, o carrinho atualizado e o histórico de pedidos;
- Somente o adminstrador tem acesso à lista de clientes.
A seguir estão as instruções para a instalação, configuração e uso da API do projeto.
- Clonar o repositório
git clone https://github.com/ANNEBORTOLI/luizaCode-projetoFinal.git
- Instalando os pacotes
npm install
- Rodar migrations
npm run migrate
-OU-
npx sequelize db:migrate
- Rodar seeders
npm run seed
-OU-
npx sequelize db:seed:all
- Executar o Swagger
npm run swagger
-OU-
node src/swagger.js
- Executar a API localmente
npm run dev
-
Criar um arquivo na raiz do projeto, chamado [.env].
-
Copiar o conteúdo do arquivo [.env.example] e setar com as configurações do seu banco de dados e a URL da aplicação.
- Em caso de conflito de porta, alterar em [ 📂 luizaCode-projetoFinal\bin\www ] na linha 15:
var port = normalizePort(process.env.PORT || '3000') //3000 para uma de sua escolha
O usuário tem acesso aos seguintes endpoints:
- Cadastro
- Login
- carrinho
- Produtos
- Lojas
Todos podem acessar a lista de produtos e lojas:
Apenas o adminstrador tem acesso aos endpoints:
- Retirada de produtos
- Lista de clientes
📌 Para fazer uso das rotas administrativas basta logar com o usuário já inserido no Banco de Dados.
{ email: admin@email.com, senha: 12345 }
No navegador, digitar localhost:3000/docs. Se necessário, trocar 3000 pela porta configurada.