Nest Logo

A progressive Node.js framework for building efficient and scalable server-side applications.

NPM Version Package License NPM Downloads CircleCI Coverage Discord Backers on Open Collective Sponsors on Open Collective Support us

Description

Nest framework TypeScript starter repository.

Installation

$ npm install

Running the app

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

Test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

API Documentation

User

Cria um usuário

  POST /users/create-user

Body

Parâmetro Tipo Descrição Requerimento
name string Nome do usuário Obrigatório
email string E-mail de acesso Obrigatório
password string Senha de acesso Obrigatório
avatar string Url da imagem Opcional

Retorna os dados do usuário

  GET /users/find-user-by/

Header

Parâmetro Tipo Descrição Requerimento
Authorization string Bearer Token JWT Obrigatório

Atualiza os dados do usuário

  PATCH /users/update-user-by/

Header

Parâmetro Tipo Descrição Requerimento
Authorization string Bearer Token JWT Obrigatório

Body

Parâmetro Tipo Descrição Requerimento
name string Nome do usuário Opcional
email string E-mail de acesso Opcional
password string Senha de acesso Opcional
avatar string Url da imagem Opcional

Auth

Login do usuário para criar o token de acesso e o token de atualização

  POST /auth/login

Body

Parâmetro Tipo Descrição Requerimento
email string E-mail de acesso Obrigatório
password string Senha de acesso Obrigatório

Utiliza o token de atualização para atualizar um token expirado

  POST /auth/refresh

Body

Parâmetro Tipo Descrição Requerimento
refresh string Token de atualização Obrigatório

Wallet

Atualiza o valor da carteira do usuário

  PATCH /wallet/update/

Header

Parâmetro Tipo Descrição Requerimento
Authorization string Bearer Token JWT Obrigatório

Body

Parâmetro Tipo Descrição Requerimento
value number Valor atual da carteira Obrigatório

Category

Todas as rotas dessa categoria necessitam do header!

Header

Parâmetro Tipo Descrição Requerimento
Authorization string Bearer Token JWT Obrigatório

Cria uma categoria

  POST /categories/create-category

Body

Parâmetro Tipo Descrição Requerimento
name string Nome da categoria Obrigatório
type string Tipo da categoria Obrigatório

Atualiza os dados da categoria

  PATCH /categories/update-category-by/${id}

URL Param

Parâmetro Tipo Descrição Requerimento
id string uuid da categoria Obrigatório

Body

Parâmetro Tipo Descrição Requerimento
name string Nome da categoria Opcional
type string Tipo da categoria Opcional

Retorna todas as categorias do usuário

  GET /categories/get-all

Retorna 3 arrays, sendo eles:

allCategoriesHTTP: com todas as categorias.

incomeCategoriesHTTP: somente com as categorias de receitas.

expenseCategoriesHTTP: somente com as categorias de despesas.

Expense

Todas as rotas dessa categoria necessitam do header!

Header

Parâmetro Tipo Descrição Requerimento
Authorization string Bearer Token JWT Obrigatório

Cria uma despesa

  POST /expenses/create-expense

Body

Parâmetro Tipo Descrição Requerimento
category_uuid string UUID da categoria Obrigatório
description string Descrição da despesa Obrigatório
date string Data da despesa no formato "DD/MM/YYYY" Obrigatório
value number Valor da despesa Obrigatório
isPay boolean A despesa já foi paga? Obrigatório

Atualiza os dados de uma despesa

  PATCH /expenses/update-expense-by/${id}

URL Param

Parâmetro Tipo Descrição Requerimento
id string UUID da despesa Obrigatório

Body

Parâmetro Tipo Descrição Requerimento
category_uuid string UUID da categoria Opcional
description string Descrição da despesa Opcional
date string Data da despesa no formato "DD/MM/YYYY" Opcional
value number Valor da despesa Opcional
isPay boolean A despesa já foi paga? Opcional

Retorna os dados de uma despesa

  GET /expenses/find-expense-by/${id}

URL Param

Parâmetro Tipo Descrição Requerimento
id string UUID da despesa Obrigatório

Retorna todas as despesas do usuário de um determinado mês

  GET /expenses/get-all?month=$&year=$

URL Query

Parâmetro Tipo Descrição Requerimento
month string Número referênte ao mês que deseja filtrar, "8" Agosto Obrigatório
year string Ano que deseja filtrar, "2023" Obrigatório

Deleta uma despesa

  DELETE /expenses/delete-expense-by/${id}

URL Param

Parâmetro Tipo Descrição Requerimento
id string UUID da despesa Obrigatório

Income

Todas as rotas dessa categoria necessitam do header!

Header

Parâmetro Tipo Descrição Requerimento
Authorization string Bearer Token JWT Obrigatório

Cria uma receita

  POST /incomes/create-income

Body

Parâmetro Tipo Descrição Requerimento
category_uuid string UUID da categoria Obrigatório
description string Descrição da receita Obrigatório
date string Data da receita no formato "DD/MM/YYYY" Obrigatório
value number Valor da receita Obrigatório
isReceived boolean A receita já foi recebida? Obrigatório

Atualiza os dados de uma receita

  PATCH /incomes/update-income-by/${id}

URL Param

Parâmetro Tipo Descrição Requerimento
id string UUID da receita Obrigatório

Body

Parâmetro Tipo Descrição Requerimento
category_uuid string UUID da categoria Opcional
description string Descrição da receita Opcional
date string Data da receita no formato "DD/MM/YYYY" Opcional
value number Valor da receita Opcional
isReceived boolean A receita já foi recebida? Opcional

Retorna os dados de uma receita

  GET /incomes/find-income-by/${id}

URL Param

Parâmetro Tipo Descrição Requerimento
id string UUID da receita Obrigatório

Retorna todas as receitas do usuário de um determinado mês

  GET /incomes/get-all?month=$&year=$

URL Query

Parâmetro Tipo Descrição Requerimento
month string Número referênte ao mês que deseja filtrar, "8" Agosto Obrigatório
year string Ano que deseja filtrar, "2023" Obrigatório

Deleta uma receita

  DELETE /incomes/delete-income-by/${id}

URL Param

Parâmetro Tipo Descrição Requerimento
id string UUID da receita Obrigatório

Planning

Todas as rotas dessa categoria necessitam do header!

Header

Parâmetro Tipo Descrição Requerimento
Authorization string Bearer Token JWT Obrigatório

Cria um planejamento

  POST /plannings/create-planning

Body

Parâmetro Tipo Descrição Requerimento
month string Número referênte ao mês Obrigatório
goal number Meta do planejamento Obrigatório
planningsByCategory array Exemplo do corpo do objeto abaixo Obrigatório

Body to planningsByCategory

Parâmetro Tipo Descrição Requerimento
goal number Meta do planejamento para categoria Obrigatório
category_uuid string UUID da categoria Obrigatório

Retorna os dados de um planejamento

  GET /plannings/find-planning-by/${id}

URL Param

Parâmetro Tipo Descrição Requerimento
id string UUID do planejamento Obrigatório

Deleta um planejamento

  DELETE /plannings/delete-planning-by/${id}

URL Param

Parâmetro Tipo Descrição Requerimento
id string UUID do planejamento Obrigatório

PlanningByCategory

Todas as rotas dessa categoria necessitam do header!

Header

Parâmetro Tipo Descrição Requerimento
Authorization string Bearer Token JWT Obrigatório

Atualiza um planejamento por categoria

URL Param

Parâmetro Tipo Descrição Requerimento
id string UUID do planejamento por categoria Obrigatório

Body

Parâmetro Tipo Descrição Requerimento
goal number Meta de planejamento para essa categoria Obrigatório
category_uuid string UUID da categoria Obrigatório

Deleta um planejamento por categoria

  DELETE /plannings/delete-planning-by-category-by/${id}

URL Param

Parâmetro Tipo Descrição Requerimento
id string UUID do planejamento por categoria Obrigatório

Objective

Todas as rotas dessa categoria necessitam do header!

Header

Parâmetro Tipo Descrição Requerimento
Authorization string Bearer Token JWT Obrigatório

Cria um objetivo

  POST /objectives/create-objective

Body

Parâmetro Tipo Descrição Requerimento
date string Data para alcançar o objetivo no formato "DD/MM/YYYY" Obrigatório
goal number Meta desejada Obrigatório
initialValue number Quantos já tem guardado para essa meta? Obrigatório
description string Descrição do seu objetivo Obrigatório
suggestion object Exemplo do corpo do objeto abaixo Obrigatório

Body to suggestion

Parâmetro Tipo Descrição Requerimento
name string "Curto", ou "Medio", ou "Longo" Obrigatório
amountParcels number Quantidade de parcelas Obrigatório
valueOfParcels string Valor das parcelas Obrigatório

Retorna as 3 sugestões de reserva para o objetivo

  POST /objectives/build-suggestions

Body

Parâmetro Tipo Descrição Requerimento
date string Data para alcançar o objetivo no formato "DD/MM/YYYY" Obrigatório
goal number Meta desejada Obrigatório
initialValue number Quantos já tem guardado para essa meta? Obrigatório

Retorna um objetivo

  GET /objectives/find-objective-by/${id}

URL Param

Parâmetro Tipo Descrição Requerimento
id string UUID do objetivo Obrigatório

Retorna todos os objetivos do usuário

  GET /objectives/get-all

Deleta um objetivo

  Delete /objectives/delete-objective-by/${id}

URL Param

Parâmetro Tipo Descrição Requerimento
id string UUID do objetivo Obrigatório

Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.

Stay in touch

License

Nest is MIT licensed.