Skip to content

API para gerenciamento de vendas através de operações CRUD, utilizando arquitetura model-service-controller. Endpoints possuem validação de dados. Inclui testes.

Notifications You must be signed in to change notification settings

malusuhadolnik/Projeto-Store-Manager

Repository files navigation

Projeto Store Manager

Sobre

Este projeto foi desenvolvido durante o Módulo 3 - Back-End do curso de Desenvolvimento Web da Trybe.

Nele, foi construída uma API utilizando a arquitetura MSC (model-service-controller). Esta API consiste em um sistema de gerenciamento de vendas no formato dropshipping, que permite criar, visualizar, atualizar e deletar produtos e vendas (operações CRUD). Algumas das rotas possuem validações de dados. O banco de dados utilizado foi o MySQL. Também foram implementados testes para as funções de cada camada, utilizando o Mocha.

Os arquivos desenvolvidos por mim estão na pasta src e tests. Os demais foram desenvolvidos pelo time da Trybe.

Descrição dos endpoints:

Método HTTP Endpoint Descrição
GET /products Deve listar todos os produtos
GET /products/:id Deve listar o produto que corresponde à ID requisitada
POST /products Deve cadastrar um novo produto, e retornar um objeto que contenha os dados do cadastro, juntamente com sua id
PUT /products/:id Deve alterar o nome do produto de id correspondente, e retornar um objeto mostrando a alteração, e id do produto .
DELETE /products/:id Deve ser capaz de deletar um produto com base na id requisitada na rota.
GET /sales Deve listar todos as vendas
GET /sales/:id Deve listar a venda que corresponde à ID requisitada
POST /sales Deve cadastrar um nova venda, e retornar um objeto que contenha os dados do cadastro, juntamente com sua id

Tecnologias usadas

Back-End Docker, docker-compose, SQL, Node.js, Mocha

Instalando Dependências

Usando o Docker

  1. Clone este repositório em su máquina, e em seguida suba o container:
docker-compose up -d
  • Serão inicializados os containers store_manager e store_manager_db
  1. Dentro do diretório do projeto, execute o conteiner:
docker exec -it store_manager bash
  • As credencias de acesso ao banco de dados estão definidas no arquivo docker-compose.yml.
  1. Agora instale as dependências dentro do container:
npm install

Rodando localmente

  • É necessário ter o node (versão 16 ou superior) instalado em sua máquina.
  1. Clone este repositório em su máquina, e em seguida instale as dependências:
npm install

Para inicializar o servidor

  • Faça isso dentro do conatiner, se estiver o utilizando.
npm run debug

Para realizar os testes unitários

  • Faça isso fora do container, se estiver o utilizando.
npm run test:mocha

About

API para gerenciamento de vendas através de operações CRUD, utilizando arquitetura model-service-controller. Endpoints possuem validação de dados. Inclui testes.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published