Este projeto é uma aplicação para o cadastro e gerenciamento de pedidos de uma hamburgueria. A API permite criar, listar, atualizar, deletar e alterar o status de pedidos. Desenvolvido utilizando Node.js e Express, este projeto é parte de um desafio do CodeClub.
- Node.js: Ambiente de execução JavaScript
- Express: Framework para desenvolvimento de APIs RESTful
- Clone o repositório:
git clone https://github.com/barbaraishioka/orders-crud-api.git
cd orders-crud-api/
- Instale as dependências:
npm install
- Inicie o servidor de desenvolvimento:
npm run dev
O servidor estará disponível em http://localhost:3000.
- GET /orders
- Retorna uma lista de todos os pedidos.
- GET /orders/
- Parâmetros:
id
(ID do pedido) - Retorna os dados de um pedido específico.
- POST /orders
- Corpo da requisição:
{
"order": "X- Salada, 2 batatas grandes, 1 coca-cola",
"clientName": "José",
"price": 44.5
}
- Cria um novo pedido com os dados fornecidos.
- PUT /orders/
- Parâmetros:
id
(ID do pedido) - Corpo da requisição
{
"order": "X- Salada, 2 batatas grandes, 1 coca-cola",
"clientName": "José",
"price": 44.5
}
- Atualiza os dados de um pedido específico.
- PATCH /orders/
- Parâmetros:
id
(ID do pedido) - Corpo da requisição
{
"status": "Pronto"
}
- Atualiza o status de um pedido específico para "Pronto".
- DELETE /orders/
- Parâmetros:
id
(ID do pedido) - Deleta um pedido específico.
-
Verificação de ID: Middleware utilizado em todas as rotas que recebem o parâmetro
id
. Ele verifica se oid
passado existe. Se não existir, retorna um erro; caso contrário, permite a requisição continuar normalmente. -
Log de requisições: Middleware chamado em todas as requisições, exibindo no console o método da requisição (GET, POST, PUT, DELETE, etc.) e a URL da requisição.
-
Validar campos obrigatórios: Middleware chamado nas rotas POST e PUT, para validar se os campos obrigatórios
order
,clientName
eprice
foram preenchidos e seprice
é do tipo number. Se for inválido, retorna um erro; caso contrário, permite a requisição continuar normalmente.
-
index.js
: Arquivo principal da aplicação onde as rotas e middlewares são definidos. -
package.json
: Arquivo de configuração do projeto, contendo informações sobre dependências e scripts. -
package-lock.json
: Arquivo de bloqueio de versões das dependências. -
.gitignore
: Arquivo que lista os arquivos e diretórios que devem ser ignorados pelo Git. -
README.md
: Arquivo README.md do projeto. -
info/
: Pasta onde detalhei meus aprendizados.-
desafio.md
: Arquivo detalhando o desafio do projeto. -
passo-a-passo.txt
: Arquivo com o passo a passo para configuração e execução do projeto.
-
- Inicializar projeto:
npm init -y
- Instalar dependências:
npm install express uuid
- Executar servidor em modo de desenvolvimento:
npm run dev
Bárbara Ishioka
Este projeto está licenciado sob a licença ISC.
- Use o Thunder Client para facilitar os testes da API.