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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2c11d8a · Oct 24, 2022

History

13 Commits
Aug 22, 2022
Aug 16, 2022
Aug 22, 2022
Aug 22, 2022
Aug 22, 2022
Aug 17, 2022
Aug 9, 2022
Aug 9, 2022
Aug 9, 2022
Aug 9, 2022
Aug 9, 2022
Oct 24, 2022
Aug 16, 2022
Aug 9, 2022
Aug 9, 2022
Aug 9, 2022
Aug 9, 2022
Aug 9, 2022
Aug 9, 2022
Aug 9, 2022
Oct 24, 2022

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