- 📋 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 start
Documentaçã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/departaments
Para 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/:id
Produtos 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": 1
Para listar todos os produtos faça uma requisição do tipo GET na rota:
http://localhost:3000/products
Para 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/:id
Para 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 |
---|