Store Manager é uma API de gerenciamento de vendas em formato dropshipping, que permite a realização de operações CRUD (Create, Read, Update e Delete). A aplicação segue a arquitetura MSC.
Store Manager é uma API de sistema de gerenciamento de vendas no formato dropshipping, capaz de realizar operações de CRUD (Create, Read, Update e Delete) utilizando a arquitetura MSC. O uso do docker permitiu a criação de dois containers: um para rodar o código javascript fora do navegador com o node.js, e outro para disponibilizar o banco de dados mySQL para a aplicação.
O projeto foi escrito em javascript, com o framework express.js sendo utilizado para administrar as rotas, executar o tratamento das requisições HTTP e implementar os middlewares. A biblioteca joi foi responsável por realizar as validações dos dados enviados no corpo das requisições.
Os endpoints são capazes de realizar operações de CRUD tanto para vendas quanto para produtos. Para garantir a qualidade do código, foram escritos testes de unidade usando mocha, chai e sinon, alcançando uma taxa de cobertura de 100% da aplicação. O desenvolvimento foi realizado com base no método de desenvolvimento orientado a testes (TDD).
- Docker
- Node.js
- Javascript
- Express.js
- MySQL
- Mocha
- Chai
- Sinon
git clone [email protected]:h3zord/store-manager.git
cd store-manager
docker compose up -d
O container vai executar o node na porta 3000 e o banco de dados na porta 3306.
➜ http://localhost:3000/
- /products ➜ Cadastra um novo produto.
- /products ➜ Lista todos os produtos.
- /products/search ➜ Busca os produtos através de uma query.
- /products/:id ➜ Busca um produto pelo seu ID.
- /products/:id ➜ Atualiza um produto buscando pelo seu ID.
- /products/:id ➜ Deleta um produto buscando pelo seu ID.
- /sales ➜ Cadastra uma nova venda.
- /sales ➜ Lista todas as vendas.
- /sales/:id ➜ Busca uma venda pelo seu ID.
- /sales/:id ➜ Atualiza uma venda buscando pelo seu ID.
- /sales/:id ➜ Deleta uma venda buscando pelo seu ID.
docker exec -it store_manager sh
npm run test:coverage