Leia em Português | Read in English
Store Manager é um projeto desenvolvido durante o módulo de backend no curso da Trybe. O objetivo é criar uma API RESTful de um sistema de gerenciamento de vendas no formato dropshipping, em que é possível criar, visualizar, deletar e atualizar produtos e vendas, usando MySQL. Além disso, também foi colocado em prática o uso de testes unitários para as camadas model, service e controller.
Os códigos desenvolvidos por mim podem ser encontrados nas pastas src
e tests
.
- Docker
- Express
- Node
- MySQL
- Chai
- Sinon
- Jest
- Frisby
🐋 Rodando no Docker vs Localmente
- Clone o repositório com o comando
git@github.com:daviazev/store-manager.git
- Entre na pasta com o comando
cd store-manager
Tendo o Docker e o Docker Compose instalados, rode usando o comando
docker-compose up -d
- Esse serviço irá inicializar um container chamado
store_manager
e outro chamadostore_manager_db
. - A partir daqui você pode rodar o container via CLI ou abri-lo no VS Code.
Use o comando
docker exec -it store_manager bash
- Ele te dará acesso ao terminal interativo do container criado pelo compose, que está rodando em segundo plano.
Instale as dependências [Caso existam] com
npm install
Execute a aplicação comnpm start
ounpm run debug
- Clone o repositório com o comando
git@github.com:daviazev/store-manager.git
- Entre na pasta com o comando
cd store-manager
- Instale as dependências [Caso existam] com
npm install
-
Para rodar o projeto desta forma, obrigatoriamente você deve ter o node instalado em seu computador.
-
O avaliador espera que a versão do node utilizada seja a 16.
-
A versão do
Node.js
eNPM
a ser utilizada é"node": ">=16.0.0"
e"npm": ">=7.0.0"
, como descrito a chaveengines
no arquivopackage.json
. Idealmente deve-se utilizar o Node.js naversão 16.14
, a versão na que esse projeto foi testado.
⚒️ Testes
O projeto usa as ferramentas Jest e o Frisby para fazer os testes de API.
Este projeto já vem configurado e com suas dependências.
Para poder executar os testes que eu fiz, inicie sua aplicação com npm run debug
, em seguida, basta executar o comando npm run test:mocha
e todos os testes serão executados.
Store Manager is a project developed during the backend module of the Trybe course. The goal is to create a RESTful API for a dropshipping sales management system, where it is possible to create, view, delete, and update products and sales using MySQL. Additionally, unit testing was also implemented for the model, service, and controller layers.
The code developed by me can be found in the src
and tests
folders.
- Docker
- Express
- Node
- MySQL
- Chai
- Sinon
- Jest
- Frisby
🐋 Running on Docker vs Locally
- Clone the repository using the command
git@github.com:daviazev/store-manager.git
- Navigate to the folder using the command
cd store-manager
With Docker and Docker Compose installed, run it using the command
docker-compose up -d
- This service will start a container named
store_manager
and another namedstore_manager_db
. - From here, you can run the container via CLI or open it in VS Code.
Use the command
docker exec -it store_manager bash
- It will give you access to the interactive terminal of the container created by the compose, which is running in the background.
Install the dependencies [if any] using
npm install
Run the application usingnpm start
ornpm run debug
- Clone the repository using the command
git@github.com:daviazev/store-manager.git
- Navigate to the folder using the command
cd store-manager
- Install the dependencies [if any] using
npm install
-
To run the project this way, you must have Node installed on your computer.
-
The evaluator expects the Node version used to be 16.
-
The
Node.js
andNPM
versions to be used are"node": ">=16.0.0"
and"npm": ">=7.0.0"
, as described in theengines
key in thepackage.json
file. Ideally, you should use Node.js version16.14
, the version in which this project was tested.
⚒️ Tests
The project uses Jest and Frisby to perform API tests.
This project is already configured and comes with its dependencies.
To run the tests I wrote, start your application with npm run debug
, then simply run the command npm run test:mocha
and all tests will be executed.