Skip to content

GhadiFrem/personal-finance-manager-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Personal Finance Manager – Java OOP

A console-based Personal Finance Manager built in Java, demonstrating strong Object-Oriented Programming principles, clean architecture, and design patterns.

Purpose This project was developed to practice and demonstrate:

  • Java OOP (inheritance, abstraction, polymorphism)
  • Exception handling
  • File I/O and persistence
  • Clean architecture and design patterns

Features

  • Add income and expenses
  • Validate user input with custom exceptions
  • Persistent storage using file I/O
  • Monthly financial reports
  • Category-based summaries
  • Console-based interactive menu

Architecture

  • Domain Layer: Transaction, Income, Expense
  • Service Layer: Business logic and calculations
  • Persistence Layer: Repository pattern with file storage
  • UI Layer: Console menu using Scanner

Design Patterns Used

  • Factory Pattern – Creating transactions from stored data
  • Repository Pattern – Decoupling storage from business logic
  • Strategy Pattern – Generating different types of reports

Technologies

  • Java
  • java.time API
  • File I/O (BufferedReader / BufferedWriter)
  • Git & GitHub

About

Console-based personal Finance Manager using Java OOP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages