Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lucasmoraist/balancea-api
API de controle de orçamento familiar desenvolvida em Java com Spring Boot. A aplicação permite o cadastro de receitas e despesas, categorização de gastos e geração de relatórios financeiros mensais.
https://github.com/lucasmoraist/balancea-api
api-rest budget-management docker docker-compose github-actions junit jwt-authentication mock postgresql spring spring-security swagger
Last synced: 13 days ago
JSON representation
API de controle de orçamento familiar desenvolvida em Java com Spring Boot. A aplicação permite o cadastro de receitas e despesas, categorização de gastos e geração de relatórios financeiros mensais.
- Host: GitHub
- URL: https://github.com/lucasmoraist/balancea-api
- Owner: lucasmoraist
- License: mit
- Created: 2024-10-10T02:21:01.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-10-27T14:39:31.000Z (18 days ago)
- Last Synced: 2024-10-27T16:42:14.543Z (18 days ago)
- Topics: api-rest, budget-management, docker, docker-compose, github-actions, junit, jwt-authentication, mock, postgresql, spring, spring-security, swagger
- Language: Java
- Homepage:
- Size: 128 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Balancea - Backend
![Spring](https://img.shields.io/badge/spring-%236DB33F.svg?style=for-the-badge&logo=spring&logoColor=white)
![Apache Maven](https://img.shields.io/badge/Apache%20Maven-C71A36?style=for-the-badge&logo=Apache%20Maven&logoColor=white)
![Postgres](https://img.shields.io/badge/postgres-%23316192.svg?style=for-the-badge&logo=postgresql&logoColor=white)
![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge&logo=docker&logoColor=white)## Descrição
Balancea é uma aplicação de controle de orçamento familiar que permite aos usuários cadastrarem suas receitas e despesas mensais, com categorização das despesas e geração de relatórios financeiros detalhados. A aplicação é ideal para aqueles que desejam ter uma visão clara sobre suas finanças, auxiliando no controle e planejamento de gastos.## Funcionalidades
1. Cadastro de Receitas
- Valor: Valor da receita.
- Descrição: Descrição da receita.
- Data: Data em que a receita foi recebida.
````json
{
"valor": 1000,
"descricao": "Salário",
"data": "03/10/2024"
}
````
2. Cadastro de Despesas
- Valor: Valor da despesa.
- Descrição: Descrição da despesa.
- Categoria: Categoria da despesa (Ex.: Alimentação, Transporte).
- Data: Data em que a despesa foi realizada.
````json
{
"valor": 200,
"descricao": "Jantar",
"categoria": "ALIMENTACAO",
"data": "03/10/2024"
}````
3. Listagem de Receitas/Despesas
- Exibe uma listagem completa das receitas e despesas cadastradas, podendo listar por:
- Ano e Mês
- Paginação
- Query
- Por ID
4. Relatório Mensal
- Gera um relatório detalhado com:
- Total de receitas.
- Total de despesas.
- Saldo total.
- Total de despesas por categoria.
````json
{
"totalIncome": 1000.0,
"totalExpense": 500.0,
"totalBalance": 500.0,
"totalExpenseByCategory": [
{
"category": "ALIMENTACAO",
"total": 200.0
},
{
"category": "TRANSPORTE",
"total": 300.0
}
]
}
````
5. Autenticação e Autorização
- Autenticação JWT para proteger as rotas e assegurar que apenas usuários autenticados possam acessar os dados financeiros.
6. Documentação
- Utilização do Swagger para documentação da API.
- Acesse a documentação na sua máquina local via `http://localhost:8080/`## Instruções de Instalação
### Pré-requisitos
- Java 17 ou superior
- IDE (Eclipse, IntelliJ, VSCode)
- Maven 3.2.5 ou superior
- Docker
### Etapas
1. Clone o repositório na sua máquina:
```bash
git clone https://github.com/lucasmoraist/balancea-api.git
```
2. Acesse o diretório do projeto:
```bash
cd balancea-api
```
3. Crie um arquivo `.env` no diretório raiz do projeto e adicione as seguintes variáveis:
```
POSTGRES_USER=seu_usuario
POSTGRES_DB=seu_banco
POSTGRES_PASSWORD=sua_senha
POSTGRES_PORT=5432
JWT_SECRET=sua_chave_jwt
```
4. Execute o Docker Compose para iniciar o banco de dados e a aplicação:
```bash
docker-compose up -d
```
5. Acesse a aplicação na sua máquina local via `http://localhost:8080`## Instruções de Uso
- Com o projeto em execução, utilize uma ferramenta como Postman ou Insomnia para testar a API.
- Acesse o Swagger para visualizar e testar os endpoints disponíveis.