/menu-api

Primary LanguageTypeScript

A simple menu api


Técnologias utilizadas:

  • Typescript
  • NodeJS
  • Express
  • MongoDB (Mongoose)
  • Jest
  • Zod

Jest foi utilizado para testes automatizados

Zod foi utilizado para validar os campos das requisições


Getting Started


Requirements


Crie um banco de dados em https://account.mongodb.com e pegue uma url de conexão, algo parecido com isso: mongodb+srv://user:password@user.faehj.mongodb.net/database?retryWrites=true&w=majority, e coloque essa url em DATABASE_URL no arquivo .env.local

Adicione a chave secreta em JWT_SECRET no arquivo .env.local


Install dependencies:

pnpm install

Seed database:

pnpm seed

Run tests:

pnpm test

Run dev server:

pnpm dev

Utilizando http://localhost:3000


Requisição para registrar conta


Requisição de Login para pegar o token de usuário


*Utilizar jwt token na requisição

Requisição para receber todas as categorias de produtos


*Utilizar jwt token na requisição

Requisição para receber todas os produtos


*Utilizar jwt token na requisição

Requisição para receber um produto específico


*Utilizar jwt token na requisição

Requisição para criar um produto

// Corpo da requisição
{
    name: "Product",
    price: 10,
    qty: 10,
    categories: ["1", "2", "3", "4"]
}

*Utilizar jwt token na requisição

Requisição para alterar um produto

// Corpo da requisição
{
    name: "Novo nome",
    price: "Novo preço",
    qty: "Nova quantidade",
    categories: ["Nova categoria"]
}

*Utilizar jwt token na requisição

Requisição para deleter um produto