Skip to content

a-mandaflores/ArreTech

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Indíce

  • Sobre
  • Tecnologias utilizadas
  • Instalação e configuração
  • Arquitetura
  • Rotas



🛒 API OMNI CHANNEL

Omni channel é um contexto utilizado para a definição de estratégias do varejo que permeiam diversos canais de interação com clientes, como ações online e offline.

A API omni channel tem como funcionalidade suprir a necessidade de aplicar regras de vendas distintas ou em catálogos de produtos específicos, atendendo os serviços de :

  • Adicionar um produto na lista da compra da cliente;
  • Remover um produto da lista da compra da cliente;
  • Consultar todos os produtos disponíveis;
  • Consultar a lista de compras da cliente;
  • Consultar todas as lojas;
  • Cadrastrar novo cliente;
  • Consultar todas as compras realizadas da cliente;
  • Finalizar compra;



👩‍💻 Tecnologias utilizadas

Ferramenta Descrição
javascript Linguagem de programação
nodejs Ambiente de execução do javascript
express Framework NodeJS
dotenv Dependência para proteger dados sensíveis do projeto
typeORM Framework de ORM (Object-Relational Mapping, em português, mapeamento objeto-relacional) para projetos.
nodemon Dependência que observa as atualizações realizadas nos documentos para rodar o servidor automaticamente
yarn Gerenciador de pacotes
MySQL Sistema de gerenciamento de banco de dados, que utiliza a linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language) como interface.
MySQL Workbench Interface gráfica para verificar se os dados foram persistidos
Insomnia / Postman Interface gráfica para realizar os testes

🛠 Instalação e configuração

Pré-requisitos:

É necessário instalar um IDE(Ambiente de desenvolvimento integrado) VS Code, o MySql versão 8.0, o NodeJS versão14.17.6 e Git versão 2.33.0 para a instalação do projeto.
(os links apresentados para download são válidos em 13/09/2021)


Clonar o repositório:
$ git clone https://github.com/a-mandaflores/ArreTech.git

Entrar no diretório:

$ cd ArreTech

Instalar as dependências:

$ yarn install

Criar, através de seu gerenciador do mysql, o seguinte banco de dados:

db_arretech

Iniciar projeto, atualizar o swagger e subir as migrations:

$ yarn start

✔ Acesso ao swagger:

Após a instalação e configuração, se tudo estiver correto, aparecerá uma mensagem conforme a seguinte imagem:

E então, será possivel acessar o Swagger através do link:

http://localhost:3000/doc


📂 Arquitetura

A estrutura foi organizada em camadas para ter a devida separação por tarefas e facilitar a compreensão das lógicas, e regras de negócios exigidas.
Apesar de aumentar a configuração inicial, essa arquitetura irá garantir facilidade de manutenção do código, escalabilidade, entre outras vantagens a médio e longo prazo.


📁 ArreTech
   |
   |- 📄 node_modules
   |
   |-  📁 src
   |     |- 📁 controllers
   |         |- 📄 orderController.js
   |         |- 📄 productCrontroller.js
   |         |- 📄 storeController.js|  
   |         |- 📄 userController.js
   |    
   |    |- 📁 data
   |         |- 📁 migrations
   |              |- 📄 1631534253127-tableProduct.js
   |              |- 📄 1631536530354-tableUser.js
   |              |- 📄 1631536822918-tableStore.js
   |              |- 📄 1631538116639-tableOrder.js
   |              |- 📄 1631538823893-tableOrderItem.js
   |         |- 📄 database.js
   |
   |    |- 📁 entities
   |         |- 📄 orderEntity.js
   |         |- 📄 orderItemEntity.js
   |         |- 📄 productEntity.js
   |         |- 📄 storeEntity.js
   |         |- 📄 userEntity.js
   |
   |    |- 📁 routes
   |         |- 📄 itemRouter.js
   |         |- 📄 orderRouter.js
   |         |- 📄 productRouter.js
   |         |- 📄 storeRouter.js
   |         |- 📄 userRouter.js
   | 
   |     |- 📄 app.js
   |     |- 📄 jwtauth.js
   |     |- 📄 swagger_output.json
   |     |- 📄 swagger.js
   |     
   |- 📄 .env
   |- 📄 .env.example
   |- 📄 .gitignore
   |- 📄 ormconfig.json
   |- 📄 package.json
   |- 📄 README.md
   |- 📄 yarn-error.log
   |- 📄 yarn.lock

🚧 Rotas

Rota para cadastrar novo cliente :

 POST  http://localhost:3000/user

Rota para logar cliente :

GET  http://localhost:3000/user/login

Rota para cliente visualizar seu histórico de pedidos :

GET  http://localhost:3000/user/orders/:userId

Rota para listar produtos :

GET  http://localhost:3000/product

Rota para listar lojas :

GET  http://localhost:3000/store

Rota para adicionar item a lista de pedido:

POST http://localhost:3000/item

Rota para remover item da lista de pedido:

DELETE http://localhost:3000/item/:itemId

Rota para criar pedido e adicionar os itens :

POST  http://localhost:3000/order

Rota para finalizar compra :

POST http://localhost:3000/order/checkout


Enfim, chegamos ao final do README.md e deixamos nossos agradecimentos a iniciativa do programa Luiza Code no incentivo a inserção de mais mulheres na tecnologia. E também agradecemos á toda equipe do Gama Academy pelo cuidado e carinho com a transmissão do conteúdo durante toda a aceleração.

criado por 💜 ArreTech

PARTICIPANTES GITHUB
Amanda Flores https://github.com/a-mandaflores
Andreia Magalhães https://github.com/andreamontenegromagalhaes
Carol Nappo https://github.com/aanacarolina
Juci Leal https://github.com/LealJP
Rafaela Ferreira https://github.com/rafaeladpferreira

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published