Skip to main content

ProwessApps

Learn · Practice · Excel

Java implementation

Personal Expense Tracker in Java

Build a console application that records income and expenses, organizes transactions by category, calculates the current balance, and displays a financial summary.

Setup instructions

This project uses plain Java without any complex build tools.

1. Ensure you have Java (JDK 17 or newer) installed.
2. Extract the downloaded ZIP file.
3. Open your terminal and navigate to the extracted `src` directory.
4. Compile all the Java files by running: `javac *.java`
5. Start the application by running: `java Main`

*Note: The application stores data in the `data/transactions.csv` file.*

Project files

    Solution explanation

    All project files are located together in the `src` folder for simplicity:

    - `Main.java`: The entry point that runs the program.
    - `Transaction.java`, `TransactionType.java`, `FinancialSummary.java`: The core data models representing transactions.
    - `ExpenseTracker.java`: The core business logic for calculating summaries.
    - `TransactionRepository.java`, `CsvTransactionRepository.java`: Handles reading and writing data to the CSV file.
    - `ConsoleInput.java`, `ReportPrinter.java`: Classes dedicated to handling keyboard input and nicely formatting the output.