- 📋 Sobre
- 🕹 Tecnologias
- 🧑🏽💻 Iniciando o projeto
- 🧑🏽💻 Exemplos de requisições
- 👨🏽🔧 Contribuições
- 📝 Licença
- 🦸 Contatos
Este projeto é uma RESP API de um e-commerce fictício, realizado durante o Gama Experience #37, o objetivo é aplicar os conhecimentos da arquitetura REST dentro de uma API. Utilizamos os métodos de listagem de produtos, busca por um produto especifico, postagem de um novo produto, atualização de produto, listagem de departamento e listagem associando cada departamento aos seus produtos.
-
Docker
https://www.docker.com/products/docker-desktop
-
Docker-compose
https://docs.docker.com/compose/
-
npm
npm install npm -g
-
sequelize-cli
npm install sequelize-cli -g
-
eslint
https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint -
prettier
https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode
# Abra um terminal e copie este repositório com o comando
$ git clone https://github.com/WelissonLuca/ecommerce-api.git
# ou use a opção de download.
# Entre na pasta com
$ cd ecommerce-api
# Instale as dependências
$ npm install ou yarn
# Inicie o docker-compose, para subir o container com mysql
$ docker-compose up -d # flag -d faz com que o container rode em segundo plano
# Verifique se o container esta rodando
$ docker ps
# Caso não esteja rode o comando para iniciar ele
$ docker-compose start
# Crie o banco de dados e as tabelas utilizando os comandos
$ npx sequelize db:create # Criação do banco
$ npx sequelize db:migrate # Criação das tabelas
# Conexão com o banco de dados:
# altere o nome do arquivo .env.example para .env
# dentro dele passe suas credencias para conexão
# Caso va usar o docker não precisa alterar as credencias
# Popule o banco de dados usando o aquivo "seed.js":
$ npx sequelize db:seed:all
# Rode a aplicação
$ npm startDocumentação da API
http://localhost:3000/api-docs/Departamentos requisições
Para criar um departamento faça uma requisição do tipo POST na rota:http://localhost:3000/departaments
Envie pela requisição os dados:
"name": "Departament name"Para listar todos os departamentos faça uma requisição do tipo GET na rota:
http://localhost:3000/departamentsPara listar todos os produtos cadastrados em um departamento especifico faça uma requisição do GET passando o id do departamento desejado para a rota:
http://localhost:3000/departaments/:idProdutos Requisições
Para criar um produto faça uma requisição do tipo POST na rota:http://localhost:3000/products
Envie pela requisição os dados:
"name": "product name",
"description": "product description",
"price": "1000",
"is_available": "sim",
"amount": 4,
"departament": 1Para listar todos os produtos faça uma requisição do tipo GET na rota:
http://localhost:3000/productsPara listar um produto especifico faça uma requisição do tipo GET passando o id do produto desejado para a rota:
http://localhost:3000/product/:idPara atualizar um produto faça uma requisição do tipo PUT na rota:
http://localhost:3000/products
Envie pela requisição os dados:
"name": "product name",
"description": "product description",
"price": "1000",
"is_available": "sim",
"amount": 4,
"departament": 1- Faça um Fork do projeto
- Crie uma Branch para sua Feature (
git checkout -b feature/FeatureIncrivel) - Adicione suas mudanças (
git add .) - Comite suas mudanças (
git commit -m 'Adicionando uma Feature incrível!) - Faça o Push da Branch (
git push origin feature/FeatureIncrivel) - Abra uma Pull Request
Distribuído sob a licença MIT. Veja LICENSE para mais informações.
@inglyd |
@WelissonLuca |
|---|
