Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

📌 ExpenseTracker

O ExpenseTracker é um sistema de gerenciamento de despesas desenvolvido em Java, baseado no projeto proposto pelo Roadmap.sh

📖 Sobre o Projeto

O ExpenseTracker é uma aplicação executada via linha de comando (CLI) que permitirá ao usuário gerenciar suas despesas de forma simples e eficiente.

A aplicação possibilita:

  • Cadastro de despesas com descrição e valor
  • Atualização de despesas
  • Remoção de despesas
  • Listagem completa das despesas
  • Resumo total das despesas
  • Resumo mensal das despesas

Os dados são persistidos em arquivo local (JSON), garantindo armazenamento simples e funcional.


🏗️ Arquitetura

O projeto segue o padrão de arquitetura em camadas, organizado da seguinte forma:

📦 expensetracker
 ┣ 📂 controller
 ┣ 📂 service
 ┣ 📂 repository
 ┣ 📂 model
 ┗ Main.java

  • Controller → Responsável por interpretar os argumentos da linha de comando.
  • Service → Contém as regras de negócio e validações.
  • Repository → Responsável pela persistência dos dados em arquivo.
  • Model → Representação da entidade Expense.

⚙️ Funcionalidades

 ✅ RF01 - Adicionar despesa
  Permite cadastrar uma despesa com descrição e valor.

 ✅ RF02 - Atualizar despesa
  Permite modificar descrição e/ou valor através do ID.

 ✅ RF03 - Remover despesa
  Remove uma despesa através do ID informado.

 ✅ RF04 - Listar despesas
  Exibe todas as despesas cadastradas.

 ✅ RF05 - Resumo total
  Exibe o valor total gasto.

 ✅ RF06 - Resumo mensal
  Exibe o total de despesas de um mês específico do ano corrente.


📜 Regras de Negócio

  • A descrição é obrigatória.
  • O valor deve ser maior que zero.
  • O ID é único e gerado automaticamente.
  • Não é permitido atualizar ou excluir despesas inexistentes.
  • O mês informado no resumo deve estar entre 1 e 12.

🚀 Funcionalidades Extras (Opcional)

✨ Categorias de despesas e filtro por categoria
✨ Definição de orçamento mensal com alerta ao ultrapassar limite
✨ Exportação das despesas para arquivo CSV


💻 Exemplos de Uso

$ expense-tracker add --description "Lunch" --amount 20
# Expense added successfully (ID: 1)

$ expense-tracker add --description "Dinner" --amount 10
# Expense added successfully (ID: 2)

$ expense-tracker list
# ID  Date       Description  Amount
# 1   2024-08-06  Lunch        $20
# 2   2024-08-06  Dinner       $10

$ expense-tracker summary
# Total expenses: $30

$ expense-tracker delete --id 2
# Expense deleted successfully

$ expense-tracker summary
# Total expenses: $20

$ expense-tracker summary --month 8
# Total expenses for August: $20

🛠️ Tecnologias Utilizadas

Java CLI Arquitetura em Camadas File Persistence


▶️ Como Executar

  1. Clone o repositório:
git clone https://github.com/seu-usuario/ExpenseTracker.git
  1. Acesse o diretório do projeto.

  2. Compile o projeto:

javac Main.java
  1. Execute via terminal:
java Main add --description "Lunch" --amount 20

Projeto em desenvolvimento
Fevereiro de 2026

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages