Skip to content
This repository has been archived by the owner on Mar 25, 2024. It is now read-only.
/ pizza-crud-api Public archive

Projeto criado como um exercício para desenvolver uma API com funcionalidade CRUD (Create, Read, Update, Delete) e implementando um frontend para consumir a API desenvolvida.

License

Notifications You must be signed in to change notification settings

rhenandias/pizza-crud-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pizza CRUD API

Projeto criado como um exercício para colocar em prática conhecimentos adquiridos até então, desenvolvendo uma API com funcionalidade CRUD (Create, Read, Update, Delete) e implementando um frontend para consumir a API desenvolvida.

Confira o projeto em execução: Pizza Crud API

Características

Uma API construída com característcas CRUD, que permite a realização de quatro operações básicas de interface com o banco de dados: criar um novo registro (C, create), a de ler registros existentes (R, read), a de atualizar um registro (U, update) e por fim exluir um registro existente (D, delete).

Com base nisso, a ideia do projeto foi construir uma API para registros de sabores de pizzas, onde é possível inserir novas pizzas no banco de dados, com informações de ingredientes e preço, bem como editar ou excluir registros existentes. 🍕

  • A API foi construiída em NodeJS e hospedada no Heroku.
  • O frontend foi construído com React e hospedado na plataforma do Google Firebase (dominio web.app)
  • O banco de dados utilizado é o banco não-relacional MongoDB.

Roadmap

  • Inserir novas pizzas no banco de dados
  • Ler e exibir pizzas existentes no banco de dados
  • Editar informações sobre pizzas existentes
  • Apagar pizzas do banco de dados
  • Validar dados enviados no cadastro e edição (tamanho máximo, caractéres invalidos, preço inválido, etc)
  • Estruturar página de informações no frontend
  • Implementar filtros (filtrar por preço, nome, data de criação, etc)

Documentação da API

Além do frontend construído em React, a API desenvolvida é acessível através de chamadas via protocolo http/https, utilizando o método que preferir (Curl, Postman, Insomnia, etc) através do endereço https://pizza-crud-api.herokuapp.com/api

Endereço Base: https://pizza-crud-api.herokuapp.com/api

Códigos de Retorno

Código Descrição
200 "OK", a requisição foi bem sucedida
201 "Created", nova pizza inserida no banco de dados com sucesso
400 "Bad Request", ocorreu algum erro com os parâmetros passados
500 "Internal Error", ocorreu algum erro do servidor no momento de processamento da requisição

Inserir pizza no banco de dados

Parâmetro Descrição
Método POST
Rota /pizzas
Body JSON
Parâmetros {
    "title": "Sabor da Pizza",
    "ingredients": ["Ingrediente 1", "Ingrediente 2", ... ],
    "price": 99.99
}

Listar pizzas existentes

Parâmetro Descrição
Método GET
Rota /pizzas
Retorno JSON contendo todas as entradas existentes no banco de dados

Exibir uma pizza individualmente

Parâmetro Descrição
Método GET
Rota /pizzas/id
Onde id é o ID individual da pizza a ser exibida
Retorno JSON contendo os dados da pizza requisitada

Atualizar dados de uma pizza existente

Parâmetro Descrição
Método PUT
Rota /pizzas/id
Onde id é o ID individual da pizza a ser editada
Body JSON
Parâmetros {
    "title": "Sabor da Pizza",
    "ingredients": ["Ingrediente 1", "Ingrediente 2", ... ],
    "price": 99.99
}

Podem ser passados apenas os atributos que se deseja editar
Retorno JSON contendo os dados da pizza com os novos dados editados

Remover uma pizza do banco de dados

Parâmetro Descrição
Método DELETE
Rota /pizzas/id
Onde id é o ID individual da pizza a ser editada
Retorno JSON contendo a mensagem de sucesso ou falha na execução da chamada

Licença

Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.


Fique a vontade para contribuir ;)

About

Projeto criado como um exercício para desenvolver uma API com funcionalidade CRUD (Create, Read, Update, Delete) e implementando um frontend para consumir a API desenvolvida.

Topics

Resources

License

Stars

Watchers

Forks