Esse projeto foi realizado para exercitar o que foi aprendido no Bloco 23 do Módulo de Back End do curso da Trybe, no qual foi sobre a Arquitetura de Software MSC - (Model-Service-Controller)
, testes das camadas do MSC
e também sobre a Arquitetura REST
.
Nesse projeto foi desenvolvida, através do Node.js
e Express
, uma API RESTful
utilizando a arquitetura de software MSC
.
A API é um sistema de gerenciamento de vendas no formato dropshipping em que é possível fazer um CRUD (Create, Read, Update, Delete)
, ou seja, criar, visualizar, deletar e atualizar produtos e vendas.
Para a gestão de dados, foi utilizado o sistema MySQL.
Para verificar a funcionalidade da API foram desenvolvidos testes com as ferramentas Mocha
, Chai
e Sinon
.
- Node.js
- Express
- MySQL
- Mocha, Chai e Sinon
Clone o projeto e acesse a pasta do mesmo.
$ git clone git@github.com:Lucas-Almeida-SD/Trybe-Projeto_25-Store_Manager.git
$ cd Trybe-Projeto_25-Store_Manager
Para iniciá-lo, siga os passos abaixo:
Com Docker
# Criar container
$ docker-compose up -d
# Abrir terminal interativo do container
$ docker container exec -it store_manager bash
# Instalar as dependências
$ npm install
# Criar o banco de dados
$ npm run migration
# Popular o banco de dados
$ npm run seed
# Iniciar o projeto
$ npm start
Para executar os testes, utilize o terminal interativo do container e insira o comando abaixo:
$ npm run test:mocha
Sem Docker
# Instalar as dependências
$ npm install
# Criar o banco de dados
$ npm run migration
# Popular o banco de dados
$ npm run seed
# Iniciar o projeto
$ npm start
Para executar os testes, utilize o terminal e insira o comando abaixo:
$ npm run test:mocha
Acesse a documentação da API no link localhost:3000/docs.