You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Overview : Welcome to the Financial Transaction Tracker repository! I'm thrilled to present this CLI application built using Java. Through user friendly screens users can effortlessly manage their finances, from adding deposits to making payments (debits) and viewing transaction ledgers.
Key Features:
Efficiency: Simplifies financial tracking with easy-to-use screens.
Functionality: Allows users to add deposits, make payments (debits), and view transaction ledgers.
Data Integrity: All transactions are securely stored in a CSV file named transactions.csv, ensuring easy access and maintaining data integrity.
Folder Structure:
Homescreen : This is where the main class is and the start of the application
Error handling for homescreen :
Exit homescreen :
~~~~ Interesting piece of code ~~~~
Efficient Input Handling:
One of the intriguing aspects of this code is the method getUserInput, where I've implemented a streamlined approach to handle user input for both deposits and payments. Instead of having separate functions for deposit and payment inputs, I've consolidated them into one function. This not only reduces redundancy but also adheres to the DRY (Don't Repeat Yourself) principle, making the code more maintainable and clean.
Dynamic Double Value:
Another interesting feature is the dynamic handling of double values based on the transaction type. Rather than having separate logic to determine whether the value should be positive or negative, I've incorporated this functionality within the same method. By checking the transaction type (deposit or not), the code appropriately adjusts the sign of the price value. This approach enhances code readability and simplifies the implementation process.
Integration with File Operations:
Furthermore, this method seamlessly integrates with file operations, as it adds the transaction object to an ArrayList and writes the transaction details to a CSV file. This consolidation of functionality within a single method enhances code cohesion and facilitates easier maintenance in the future.
Deposit output / error-handling :
Output:
Error handling :
Payment output / error-handling :
Output:
Error handling :
Ledger Homescreen / error handling :
Output :
Error handling :
Ledger deposit outputs :
Ledger payment outputs :
Reports Homescreen:
Reports output with option 1 :
Reports output with option 2 :
Reports output with option 3 :
Reports output with option 4 :
Reports output with option 5 :
Reports output with option 6 custom output 1 :
Reports output with option 6 custom output 2 :
Reports output with option 6 custom output 3 :
CSV transactions output :
About
Financial Transaction Tracker CLI app in Java. Manage deposits, payments, and ledgers easily. Securely stored transactions in CSV. Efficient input handling & dynamic value adjustments for clean code. Error handling & various report options included.