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.
- Ensure you have Java 8 or later installed on your system. π
- The
javac
andjava
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. π
-
Login or Create an Account: Enter your username and password, or register a new account if you donβt have one yet. π
-
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. π
-
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. πποΈ
- Add Transaction: Add a new transaction to the database. You can enter:
src/
- Source code directorycom/
expenseTracker/
- Java source filesbackend/
- Database connectors, data storers and data flow utilsfrontend/
- GUI frames, panels and other components, graphical utilsmain/
- Main methodtest/
- 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. π
This project is licensed under the MIT License. See the LICENCE file for details. π
For questions, feedback, or support:
- Author: Kacper GΓ³rski
- LinkedIn: Kacper GΓ³rski
- Instagram: @kxcper.gorski
- X: @Kerciuu
- GitHub: Kerciu
- Support: Email kacper.gorski.contact@gmail.com
For issues, please open a GitHub Issue. π