A simple, menu-driven CLI application for tracking personal expenses, built with Core Java.
- User Authentication: Register and Login to secure your data.
- Expense Management: Add expenses with amount, category, date, and description.
- View Modes: View all expenses or filter by month.
- Reporting: Calculate total expenses.
- Persistence: Data is saved to
data/expenses.csvanddata/users.csv.
- Java Development Kit (JDK) 8 or higher.
- Linux environment (Terminal).
expense-tracker/
├── src/
│ ├── model/
│ │ ├── Expense.java
│ │ └── User.java
│ ├── service/
│ │ ├── ExpenseService.java
│ │ └── UserService.java
│ ├── util/
│ │ └── FileUtil.java
│ └── Main.java
├── data/
│ ├── expenses.csv
│ └── users.csv
└── README.md
-
Navigate to the project directory:
cd /path/to/expense-tracker -
Compile the source code:
mkdir -p bin javac -d bin src/model/*.java src/util/*.java src/service/*.java src/Main.java
-
Run the application:
java -cp bin Main
- Register: Create a new account with a username and password.
- Login: Use your credentials to access the system.
- Manage Expenses: Once logged in, use the menu to add or view expenses.
- Data is automatically saved to the
data/directory.
- Data is automatically saved to the