Skip to content

πŸ“Š A personal finance management app in Java πŸ’Έ to learn database integration πŸ“™

License

Notifications You must be signed in to change notification settings

Kerciu/expense-tracker-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’Έ Expense Tracker App

πŸ“œ Description

A Java desktop application designed for managing and tracking expenses and income. The application uses Swing for the user interface, MySQL for database management, Jbcrypt for password encryption, iText for PDF generation, and Apache POI for creating Excel files.

πŸ“ Notes

  • Ensure you have Java 8 or later installed on your system. 🌟
  • The javac and java commands require a properly configured Java Development Kit (JDK). πŸ› οΈ
  • If you encounter any issues with missing dependencies, make sure all required libraries are included in the lib directory. πŸ”

πŸ› οΈ Usage

  1. Login or Create an Account: Enter your username and password, or register a new account if you don’t have one yet. πŸ”

  2. Access the Main Frame of the Application: The app displays:

    • Your Name: The currently logged-in user's name and a welcoming label. πŸ‘‹
    • Buttons: Various buttons for managing transactions. πŸ”²
    • Current Balance: Your total balance. πŸ’΅
    • Money Flow: Aggregated amounts for expenses and income. πŸ“ˆπŸ“‰
    • Logout Button: To switch accounts. πŸ”„
  3. Transaction Management:

    • Add Transaction: Add a new transaction to the database. You can enter:
      • Amount: The amount of money to deposit or withdraw. πŸ’°
      • Type: Checkbox to specify if the transaction is an expense or income. πŸ’ΈπŸ’΅
      • Category: Combo box for selecting the transaction category, updated based on the type selected. 🏷️
      • Date: The transaction date, with an option to use today’s date. πŸ“…
      • Description: An optional description for the transaction. ✍️
    • Browse Transaction History: View your transaction history through organized cards. You can:
      • Edit Card: Modify any attributes of the transaction. πŸ“
      • Delete Card: Remove the transaction from history and database. πŸ—‘οΈ
    • Generate Report: Create and save a report in one of the following formats:
      • Save in CSV, PDF, XLSX, or TXT formats. πŸ“ŠπŸ—‚οΈ

πŸ“ Project Structure

  • src/ - Source code directory
    • com/
      • expenseTracker/ - Java source files
        • backend/ - Database connectors, data storers and data flow utils
        • frontend/ - GUI frames, panels and other components, graphical utils
        • main/ - Main method
        • test/ - Unit tests and test resources
    • resources/assets/images - Image and icon assets
  • lib/ - External libraries including:
    • MySQL - For database management. πŸ—„οΈ
    • Jbcrypt - For password encryption. πŸ”
    • iText - For PDF generation. πŸ“„
    • Apache POI - For Excel file creation. πŸ“ˆ

πŸ“™ Database Schema

Database Schema

πŸ–ΌοΈ Screenshots

Login frame Register frame Main frame Add transaction frame Browse transaction frame Generate report frame

πŸ“œ License

This project is licensed under the MIT License. See the LICENCE file for details. πŸ“

πŸ“¬ Contact

For questions, feedback, or support:

For issues, please open a GitHub Issue. πŸš€

Releases

No releases published

Packages

No packages published

Languages