Skip to content

twentyfive21/accounting-ledger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Capstone 1 - Accounting Ledger Application


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

Homescreen : This is where the main class is and the start of the application

homescreenCode

Error handling for homescreen :

homescreen error

Exit homescreen :

exit homscreen

~~~~ 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.

interesting


Deposit output / error-handling :

Output: deposit

Error handling : deposit error

Payment output / error-handling :

Output: payment

Error handling : payment error

Ledger Homescreen / error handling :

Output : ledger home with output

Error handling :error ledger

Ledger deposit outputs : ledger deposits

Ledger payment outputs :ledger payments


Reports Homescreen:

Reports output with option 1 : reports homscreen with output

Reports output with option 2 : report option2

Reports output with option 3 : reports 3

Reports output with option 4 : reports 4

Reports output with option 5 : reports 5

Reports output with option 6 custom output 1 :custom 1

Reports output with option 6 custom output 2 : custom 2

Reports output with option 6 custom output 3 : custom 3


CSV transactions output : csv

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages