Skip to content

Criação de uma API RESTfull, com Node.js e Express, utilizando a arquitetura MSC, onde é possível criar, visualizar, deletar e atualizar produtos e vendas (CRUD), utilizando o banco de dados MySQL para a gestão de dados.

Notifications You must be signed in to change notification settings

Ytellon/projeto-store-manager

Repository files navigation

Store Manager

Sobre o projeto:

Neste projeto desenvolvi uma API RESTful, com Node.js e Express, utilizando a arquitetura MSC (model-service-controller), onde é possível criar, visualizar, deletar e atualizar produtos e vendas (CRUD), utilizando o banco de dados MySQL para a gestão de dados. Além disso, com o auxílio das ferramentas Mocha, Chai e Sinon, desenvolvi testes unitários a fim de verificar as funcionalidades da API.


Ferramentas Utilizadas:

  • Mocha-chai
  • Sinon
  • Express
  • NodeJs

🚀 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


Orientações para a Execução:

Com Docker
  • Execute o serviço node com o comando docker-compose up -d, para inicializar o container store_manager e outro chamado store_manager_db.
  • Rode o comando docker exec -it store_manager bash para acessar o terminal interativo do container.
  • Instale as dependências com npm install .
Localmente
  • Necessário o node instalado.
  • Instale as dependências com npm install.

Outras informações:

Tabelas

O banco possui três tabelas:

  • A tabela products, com os atributos id e name;
  • A tabela sales, com os atributos id e date;
  • A tabela sales_products, com os atributos sale_id, product_id e quantity;
  • O script de criação do banco de dados pode ser visto aqui;
  • O script que popula o banco de dados pode ser visto aqui;
Scripts prontos
  • Para criar o banco de dados e gerar as tabelas:
  npm run migration
  • Para limpar e popular o banco de dados:
  npm run seed
  • Para iniciar o servidor Node:
  npm start
  • Para iniciar o servidor Node com nodemon:
  npm run debug
  • Para executar os testes de unidade:
  npm run test:mocha
  • Para executar o linter:
  npm run lint

About

Criação de uma API RESTfull, com Node.js e Express, utilizando a arquitetura MSC, onde é possível criar, visualizar, deletar e atualizar produtos e vendas (CRUD), utilizando o banco de dados MySQL para a gestão de dados.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published