A Java Swing desktop application for managing personal income, expenses, transfers, budgets, and basic financial reports using a MySQL database.
- User registration and login
- Add income, expense, and transfer transactions
- View and filter transaction history
- Edit existing transaction records
- Add monthly budgets for expense and transfer categories
- View and filter budget records
- View available balance summary
- Generate simple report visualizations using Java Swing panels
- MySQL-backed data storage
- Java
- Java Swing
- MySQL / MariaDB
- JDBC
- NetBeans Ant Project
personal-finance-tracker-java/
├── src/
│ ├── GUI/ # Swing UI screens
│ ├── classes/ # Application logic and database classes
│ └── images/ # UI images
├── database/
│ └── finance_tracker_schema.sql
├── lib/
│ └── mysql-connector-java-8.0.17.jar
├── nbproject/ # NetBeans project configuration
├── build.xml # Ant build file
├── manifest.mf
└── README.md
- Start MySQL or MariaDB.
- Open phpMyAdmin, MySQL Workbench, or the MySQL terminal.
- Run the SQL file:
source database/finance_tracker_schema.sql;Or manually import:
database/finance_tracker_schema.sql
The script creates the finance_tracker database with these tables:
usertransactionbudget
By default, the application connects using:
URL: jdbc:mysql://localhost:3306/finance_tracker
User: root
Password: empty
You can override these values at runtime:
java -Ddb.url="jdbc:mysql://localhost:3306/finance_tracker" \
-Ddb.user="root" \
-Ddb.password="your_password" \
-jar dist/Finance_Tracker.jar- Open NetBeans.
- Select File > Open Project.
- Choose this project folder.
- Make sure MySQL is running.
- Import the database schema from
database/finance_tracker_schema.sql. - Run the project.
From the project root:
ant clean jarThen run:
java -jar dist/Finance_Tracker.jar- The raw build output and generated files are excluded from version control.
- The SQL file contains only the clean database schema, not personal sample data.
- This is a desktop-based academic Java application and is intended for learning, portfolio, and demonstration purposes.