Skip to content

Desenvolvimento de uma API de vendas utilizando a arquitetura MSC

Notifications You must be signed in to change notification settings

TonyyCruz/store_manager

Repository files navigation

Projeto Store Manager

Desenvolvimento de uma API de vendas utilizando a arquitetura MSC (model-service-controller)



Diagrama DER (Diagrama de Entidade-Relacionamento)



📃 Sobre o Projeto

A API desenvolvida é um sistema de gerenciamento de vendas no formato dropshipping em que será possível criar, visualizar, deletar e atualizar produtos e vendas. A API é RESTful e a gestão de dados é feita com o MySQL.


Rotas utilizáveis

Ver rotas
  • POST /products para cadastrar produtos. Utilize um body nesse formato:
  {
    "name": "ProductName"
  }

  • POST /sales para cadastrar vendas. Utilize um body nesse formato:
  [
    {
      "productId": 1,
      "quantity":3
    },
  ]

  • GET /products ou /sales para receber todos os produtos ou vendas.

  • GET /products/:id ou /sales/:id para receber produtos ou vendas de acordo com o id.

  • GET /products/search?q=<busca> para buscar produto por palavra chave.

  • DELETE /products/:id ou /sales/:id para deletar produtos ou vendas de acordo com o id.

  • PUT /products/:id para atualizar o nome do produto. Utilize um body nesse formato:
  {
    "name": "ProductName"
  }

  • PUT /sales/:id para atualizar a venda. Utilize um body nesse formato:
  [
    {
      "productId": 1,
      "quantity":2
    },
  ]


🛠 Tecnologias e Bibliotecas utilizadas no desenvolvimento do projeto


🚀 Como executar o projeto

Pré-requisitos

Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Node.js.

É recomendado utilizar algum cliente HTTP, como Postman ou o Insomnia.

Além disto é bom ter um editor para trabalhar com o código como VSCode


Clone o repositorio

git clone git@github.com:TonyyCruz/store_manager.git

🐳 Rodando no Docker

Com Docker

Rode o serviço node com o comando

docker-compose up -d
  • Esse serviço irá inicializar dois containers chamados store_manager e store_manager_db, respectivamente.
    • A partir daqui você pode rodar o container via CLI ou abri-lo no VS Code.

Via CLI use o comando

docker exec -it store_manager bash
  • Ele te dará acesso ao terminal interativo do container store_manager(node) criado pelo compose, que está rodando em segundo plano.

Instale as dependências dentro do container com

npm install

⚠️Atenção: Caso opte por utilizar o Docker, TODOS os scripts disponíveis no package.json devem ser executados DENTRO do container, ou seja, no terminal que aparece após a execução do comando docker exec.


💻 Rodando Localmente

Instale as dependências com o comando

npm install
  • Para rodar o projeto desta forma, obrigatoriamente você deve ter o node instalado em seu computador.
    • Recomenda-se a versão ^16

⚠️Atenção: Não esqueça de renomear/configurar o arquivo .env.example


💡 Scripts prontos

Scripts
  • Criar o banco de dados e gerar as tabelas:
  npm run migration
  • Limpar e popular o banco de dados:
  npm run seed
  • Iniciar o servidor Node:
  npm start
  • Iniciar o servidor Node com nodemon:
  npm run dev
  • Executar os testes de unidade:
  npm run test:mocha


About

Desenvolvimento de uma API de vendas utilizando a arquitetura MSC

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published