A comprehensive financial management system designed to help users track expenses, manage accounts, set budgets, and gain insights into their spending habits.
- Secure registration and login system
- Create and manage multiple accounts (checking, savings, credit cards, etc.)
- Track balances across all accounts
- Create custom expense and income categories
- Organize transactions by category for better insights
- Modify or delete categories as needed
- Set monthly budgets for different spending categories
- Log income and expense transactions
- Categorize transactions for better organization
- Add notes and details to transactions
- Frontend: Java Swing for desktop UI
- Backend: Java with JDBC
- Database: MySQL
- Architecture: DAO pattern for data access
- Transaction support for data integrity
- Input validation to prevent data errors
- Proper error handling
- High-contrast UI for better accessibility
- Referential integrity across all database operations
- Java JDK 8 or higher
- MySQL 8.0 or higher
- Eclipse IDE (recommended)
- Clone this repository
- Import the project into Eclipse
- Set up the MySQL database using the SQL scripts provided
- Configure the database connection in
DatabaseConnection.java - Run the application from
LoginFrame.java
The application requires a MySQL database with the following tables:
- users (user_id, username, email, password)
- accounts (account_id, user_id, account_name, initial_amount)
- categories (category_id, user_id, category_name)
- records (record_id, category_id, account_id, amount, notes, date, time)
- budgets (budget_id, user_id, category_id, amount, start_date, end_date)
- Data visualization with charts and graphs
- Export functionality for reports (PDF, Excel)
- Mobile application with cloud synchronization
- Multi-currency support
- Recurring transaction setup






