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
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.
- 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)
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ó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 |
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 } |
Parâmetro | Descrição |
---|---|
Método | GET |
Rota | /pizzas |
Retorno | JSON contendo todas as entradas existentes no banco de dados |
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 |
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 |
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 |
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Fique a vontade para contribuir ;)