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.
- Mocha-chai
- Sinon
- Express
- NodeJs
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
Com Docker
- Execute o serviço
node
com o comandodocker-compose up -d
, para inicializar o containerstore_manager
e outro chamadostore_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
.
Tabelas
O banco possui três tabelas:
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