Skip to content

API de gerenciamento de vendas contendo endpoints para criar, exibir, atualizar e excluir produtos e vendas, utilizando o modelo de arquitetura MSC

Notifications You must be signed in to change notification settings

Jacqueline-Silva/store-manager

Repository files navigation

Projeto Store Manager

🚀 Projeto desenvolvido em 07/2022 - Bloco 23/Trybe

App Screenshot

🎯 Objetivo

Desenvolver uma API de gerenciamento de vendas contendo endpoints para criar, exibir, atualizar e excluir produtos e vendas, utilizando o modelo de arquitetura MSC (model-service-controller) juntamente com o padrão REST, assim criando uma API RESTful.

🧠 Habilidades desenvolvidas

  • Acessar o banco de dados do MySQL através do Docker
  • Utilizar o Express para o desenvolvimento da API
  • Gerenciar as vendas e produtos com um CRUD (Create, Read, Update e Delete)
  • Tratar erros com o express-recue
  • Validar dados recebidos através do Joi
  • Monitorar mudanças nos arquivos com o Nodemon
  • Criar testes para cada camada MSC utilizando Mocha, Chai e Sinon

🛠️ Ferramentas utilizadas

  • MySQL
  • Docker
  • Express
  • Express-rescue
  • Joi
  • Nodemon
  • Mocha, Chai e Sinon

Todos os projetos da Trybe utilizam Linters, Git e Github

📌 Endpoints da API

Rotas de produtos Descrição - Rotas de vendas Descrição
GET /products Lista todas os produtos - GET /sales Lista todas as vendas
GET /products/:id Lista um produto específico - GET /sales/:id Lista uma venda específica
GET /products/search Exibe o produto pesquisado - POST /sales Cadastra uma nova venda
POST /products Cadastra um novo produto - PUT /sales/:id Altera os dados de uma venda
PUT /products/:id Altera os dados de um produto - DELETE /sales/:id Deleta uma venda específica
DELETE /products/:id Deleta um produto específico

💻 Rodando localmente

Clone o projeto e entre no diretório

  git clone git@github.com:Jacqueline-Silva/store-manager.git && cd store-manager

Instale as dependências

  npm install

Crie seu arquivo .env e adicione as variáveis de ambiente necessárias

MYSQL_HOST

MYSQL_USER

MYSQL_PASSWORD

PORT

Suba o container docker

  docker-compose up -d db

Crie o banco de dados e o popule

  npm run migration && npm run seed

Inicie o servidor

  npm run start

Para verificar os endpoints utilizados use a ferramenta desejada, por exemplo o Insomnia (como no vídeo)

Para visualizar o banco de dados faça a conexão do MySQL com a porta 3306

🔍 Observações

Os arquivos docker-compose, seed.sql, migration.sql e connectUtils foram disponibilizados pela Trybe para realização deste projeto

📫 Contatos

Linkedin Portfolio GitHub WhatsApp Microsoft

About

API de gerenciamento de vendas contendo endpoints para criar, exibir, atualizar e excluir produtos e vendas, utilizando o modelo de arquitetura MSC

Topics

Resources

Stars

Watchers

Forks