As a squad, our mission is to collaboratively design and implement a Personal Finance Tracker—a console-based application focused on tracking income and expenses. The focus is on:
- Proper use of Object-Oriented Programming (OOP) concepts
- Adherence to SOLID design principles
- Consistent and clean use of Git Flow throughout development
| add transaction | month report |
|---|---|
![]() | ![]() |
- entity/: Contains models like
Transaction,Category, and any Enum's. - transaction/: Manages all transaction-related operations In Memory, Persistent.
- monthreport/: Handles reporting logic based on transaction dates.
- util/: Includes file handling, date formatting, and other helpers.
- test/: Contains test/check functions for validating business logic.
- console/: Contains all console related operation.
- Add new transactions (income or expense)
- View a list of all transactions
- Edit existing transactions
- Delete transactions
- Generate monthly summaries and balance reports, based on transaction dates
- Persistent Storage: Transactions can be saved to a text file using serialization, allowing users to retain their data across sessions.
- Automated Testing: A custom GitHub Action automatically runs internal check functions on each pull request. Test results appear directly on the pull request page, helping maintain code quality and consistency.

