Skip to content

Projeto para o desafio Pub Future de finanças pessoais

Notifications You must be signed in to change notification settings

DevJHenrique/desafiopubfuture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Desafio Pub Future

Projeto de finanças pessoais desenvolvido para o desafio Pub Future

Ferramentas utilizadas:
  • Java 17+
  • PostgreSQL 12+
  • Spring Boot 2.6.2+
  • Maven 3.8.4+
  • Docker
  • Docker Compose 3.6+

Requisitos do desafio:

Receitas

  • Cadastrar receitas
  • Editar receitas
  • Remover receitas
  • Listar receitas
    • Filtro por período (dataInicial – dataFinal)
    • Filtro por tipo de receita
  • Listar total de receitas

Despesas

  • Cadastrar despesas
  • Editar despesas
  • Remover despesas
  • Listar despesas
    • Filtro por período (dataInicial – dataFinal)
    • Filtro por tipo de despesa
  • Listar total de despesas

Contas

  • Cadastrar conta
  • Editar conta
  • Remover conta
  • Listar contas
  • Transferir saldo entre contas
  • Listar saldo total

Endpoints

Contas

GET /contas/getall Lista todas as contas salvas.

POST /contas/new Cria uma nova conta com os dados do corpo da requisição.

Body:

{
    "saldo": 1000,
    "instituicaoFinanceira": "INTER",
    "tipoConta": "CONTA_CORRENTE"
}

POST /contas/update/{id} Atualiza os dados da conta {id} com os dados do corpo da requisição.

Body:

{
    "saldo": 800,
    "instituicaoFinanceira": "NUBANK",
    "tipoConta": "CONTA_CORRENTE"
}

DELETE /contas/delete/{id} Deleta a conta {id}.

PUT /contas/transferir/{idOrigem}/{idDestino}/{valor} transfere {valor} entre duas contas {idOrigem} e {idDestino}.

  • idOrigem a conta de onde irá sair o dinheiro.
  • idDestino a conta para onde irá o dinheiro.
  • valor o valor da transferencia.

GET /contas/total Retorna o saldo total.

Receitas

GET /receitas/getall Lista todas as receitas salvas.

GET /receitas/total Retorna o total de receitas.

GET /receitas/findByPeriod/{dataInicio}/{dataFim} Listas as receitas que estão entre o período {dataInicio} e {dataFim}.

  • dataInicio a data inicial do período da busca.
  • dataFim a data final do período da busca.

GET /receitas/type={tipoReceita} Listas as receitas que são do {tipoReceita}.

  • tipoReceita O tipo da receita (salário, presente, prêmio, outros).

POST /receitas/new Cria uma nova receita com os dados do corpo da requisição.

Body:

{
	"valor": 1000.00,
	"dataRecebimento": "16/01/2022",
	"dataRecebimentoEsperado": "20/01/2022",
	"descricao":"Aluguel",
	"contaId": 1,
	"tipoReceita": "OUTROS"
}

POST /receitas/update/{id} Atualiza os dados da receita {id} com os dados do corpo da requisição.

Body:

{
	"valor": 1000.00,
	"dataRecebimento": "15/01/2022",
	"dataRecebimentoEsperado": "20/01/2022",
	"descricao":"Aluguel",
	"contaId": 2,
	"tipoReceita": "OUTROS"
}

DELETE /receitas/delete/{id} Deleta a receita {id}.

Despesas

GET /despesas/getall Lista todas as despesas salvas.

GET /despesas/total Retorna o total de despesas.

GET /despesas/findByPeriod/{dataInicio}/{dataFim} Listas as despesas que estão entre o período {dataInicio} e {dataFim}.

  • dataInicio a data inicial do período da busca.
  • dataFim a data final do período da busca.

GET /despesas/type={tipoDespesa} Listas as despesas que são do {tipoDespesa}.

  • tipoDespesa O tipo da receita (alimentação, educação, lazer, moradia, roupa, saúde, transporte, outros).

POST /despesas/new Cria uma nova despesa com os dados do corpo da requisição.

Body:

{
	"valor": 21.49,
	"dataPagemento": "16/01/2022",
	"dataPagementoEsperado": "20/01/2022",
	"contaId": 1,
	"tipoDespesa": "alimentação"
}

POST /despesas/update/{id} Atualiza os dados da despesa {id} com os dados do corpo da requisição.

Body:

{
	"valor": 22.49,
	"dataPagemento": "16/01/2022",
	"dataPagementoEsperado": "16/01/2022",
	"contaId": 1,
	"tipoDespesa": "alimentação"
}

DELETE /despesas/delete/{id} Deleta a despesa {id}.

About

Projeto para o desafio Pub Future de finanças pessoais

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages