Uma API para gerenciar um catálogo de produtos, oferecendo funcionalidades de criação, visualização, atualização e exclusão produtos.
- Roteador: Recebe requisições HTTP e as encaminha para os controladores correspondentes com base na URL e no método HTTP.
- Controlador: Trata das requisições HTTP, processa e valida parâmetros de entrada, chama os serviços apropriados e prepara as respostas para o cliente.
- Serviço: Contém a lógica de negócios principal da aplicação e coordena as operações entre os repositórios.
- Repositório: Encapsula a lógica de acesso ao banco de dados e abstrai os detalhes específicos do banco de dados.
Antes de começar, certifique-se de ter os seguintes itens:
- Baixe ou clone o repositório
git clone https://github.com/JulioC090/crud-api.git- Baixe as dependências
npm install- Inicie o
MongoDB
npm run up- Configure
example.env
SERVER_PORT=5000
DB_HOST=0.0.0.0
DB_PORT=27017
DB_NAME="products"
DB_USER="root"
DB_PASS="toor"- Renomeie
example.envpara.env
mv example.env .env- Execute o projeto
npm run dev- Faça requisições para
http://localhost:{SERVER_PORT}/
- Listar produtos
- Adicionar produto
- Editar Produto
- Excluir Produto
Retorna uma lista de todos os produtos disponíveis no catálogo.
- URL:
/produtos - Método HTTP:
GET - Resposta:
products: Array<{
id: string;
name: string;
description: string;
price: number;
}>;Adiciona um novo produto ao catálogo.
- URL:
/produtos - Método HTTP:
POST - Parâmetros:
{
name: string,
description: string,
price: number
}- Resposta:
errors?: ZodErrorAtualiza as informações de um produto existente.
- URL:
/produtos/{id} - Método HTTP:
PUT - Parâmetros:
{
name: string,
description: string,
price: number
}- Resposta:
errors?: ZodErrorRemove um produto do catálogo.
- URL:
/produtos/{id} - Método HTTP:
DELETE - Resposta:
errors?: ZodError- NodeJS
- Typescript
- Fastify
- Zod
- MongoDB
- Docker
Este projeto é licenciado sob a licença MIT.

