Teste Técnico para Desenvolvedor Full-Stack DFCOM
Para rodar o sistema completo você vai precisar ter a seguinte .env:
DATABASE_HOST='database-url-from-mongo'
Primeiro instale as dependencias do projeto:
npm install
# ou
yarn
# ou
pnpm i
# ou
bun i
Segundo, rode o projeto com:
npm run start
# ou
yarn start
# ou
pnpm start
# ou
bun start
Este projeto é uma API simples que serve para gerenciar produtos. Abaixo estão as rotas disponíveis e um exemplo do modelo de produto.
{
"name": "teste",
"description": "description teste",
"price": "10 reais",
"category": "teste",
"stock": "10"
}
-
Rota:
GET /products
-
Descrição: Retorna uma lista de todos os produtos.
-
Exemplo de Requisição:
curl -X GET http://localhost:3333/products
-
Rota:
POST /products
-
Descrição: Cria um novo produto.
-
Exemplo de Requisição:
curl -X POST http://localhost:3333/products \ -H 'Content-Type: application/json' \ -d '{ "name": "novo produto", "description": "descrição do novo produto", "price": "20 reais", "category": "nova categoria", "stock": "15" }'
-
Rota:
PATCH /products/:id
-
Descrição: Atualiza as informações de um produto existente.
-
Exemplo de Requisição:
curl -X PATCH http://localhost:3333/products/1 \ -H 'Content-Type: application/json' \ -d '{ "name": "produto atualizado", "description": "descrição atualizada", "price": "25 reais", "category": "categoria atualizada", "stock": "20" }'
-
Rota:
GET /products/:id
-
Descrição: Retorna os detalhes de um produto específico pelo seu ID.
-
Exemplo de Requisição:
curl -X GET http://localhost:3333/products/1
-
Rota:
DELETE /products/:id
-
Descrição: Deleta um produto pelo seu ID.
-
Exemplo de Requisição:
curl -X DELETE http://localhost:3333/products/1
Para executar os testes, rode:
npm test
# ou
yarn test
# ou
pnpm test
# ou
bun test
Desenvolvido por John
Portfolio