Este projeto foi desenvolvido durante o Módulo 3 - Back-End do curso de Desenvolvimento Web da Trybe.
Nele, foi construída uma API utilizando a arquitetura MSC (model-service-controller). Esta API consiste em um sistema de gerenciamento de vendas no formato dropshipping, que permite criar, visualizar, atualizar e deletar produtos e vendas (operações CRUD). Algumas das rotas possuem validações de dados. O banco de dados utilizado foi o MySQL. Também foram implementados testes para as funções de cada camada, utilizando o Mocha.
Os arquivos desenvolvidos por mim estão na pasta src e tests. Os demais foram desenvolvidos pelo time da Trybe.
Método HTTP | Endpoint | Descrição |
---|---|---|
GET | /products | Deve listar todos os produtos |
GET | /products/:id | Deve listar o produto que corresponde à ID requisitada |
POST | /products | Deve cadastrar um novo produto, e retornar um objeto que contenha os dados do cadastro, juntamente com sua id |
PUT | /products/:id | Deve alterar o nome do produto de id correspondente, e retornar um objeto mostrando a alteração, e id do produto . |
DELETE | /products/:id | Deve ser capaz de deletar um produto com base na id requisitada na rota. |
GET | /sales | Deve listar todos as vendas |
GET | /sales/:id | Deve listar a venda que corresponde à ID requisitada |
POST | /sales | Deve cadastrar um nova venda, e retornar um objeto que contenha os dados do cadastro, juntamente com sua id |
Back-End Docker, docker-compose, SQL, Node.js, Mocha
- Clone este repositório em su máquina, e em seguida suba o container:
docker-compose up -d
- Serão inicializados os containers store_manager e store_manager_db
- Dentro do diretório do projeto, execute o conteiner:
docker exec -it store_manager bash
- As credencias de acesso ao banco de dados estão definidas no arquivo docker-compose.yml.
- Agora instale as dependências dentro do container:
npm install
- É necessário ter o
node
(versão 16 ou superior) instalado em sua máquina.
- Clone este repositório em su máquina, e em seguida instale as dependências:
npm install
- Faça isso dentro do conatiner, se estiver o utilizando.
npm run debug
- Faça isso fora do container, se estiver o utilizando.
npm run test:mocha