Skip to content

A desktop application for personal finance management featuring role-based authentication, data visualization, and file persistence.

Notifications You must be signed in to change notification settings

hidanvlad/JavaFX-Expense-Tracker

Repository files navigation

JavaFX Expense Tracker 💰

A robust desktop application developed in Java using the JavaFX framework. This tool allows users to track personal expenses while providing a separate Admin interface for data management and oversight.

Java JavaFX

📋 Features

👤 User Mode

  • Add Expenses: Simple interface to log expenses with Description, Amount, and Category.
  • Visual Analytics: Automatic generation of a Pie Chart to visualize spending habits by category (Food, Transport, Housing, etc.).
  • Data Persistence: All data is saved locally to expenses.txt, ensuring records are kept between sessions.

🛡️ Admin Mode

  • Secure Access: Protected by a PIN verification system.
  • Dashboard Control: View a tabular list of all records in the database.
  • Management: Ability to delete specific records directly from the database table.

🛠️ Technical Implementation

  • Language: Java (JDK 17+)
  • UI Framework: JavaFX (Stage, Scene, Node hierarchy)
  • Styling: Custom styles.css for a modern, flat UI look.
  • Architecture:
    • Launcher.java: Entry point to handle JavaFX module loading.
    • ExpenseRepository.java: Handles File I/O operations (Reading/Writing to text file).
    • Main.java: Manages scene switching and UI logic.
  • Data Structure: Uses ArrayList for runtime management and file parsing for persistence.

🚀 How to Run

  1. Clone the repository:
    git clone [https://github.com/hidanvlad/JavaFX-Expense-Tracker.git](https://github.com/hidanvlad/JavaFX-Expense-Tracker.git)
  2. Open in IntelliJ IDEA:
    • Select Open and choose the project folder.
    • Allow IntelliJ to load the Maven/Gradle configuration if present, or set up the SDK.
  3. Run:
    • Navigate to src/Launcher.java.
    • Right-click -> Run 'Launcher.main()'.

📝 License

This project is open source and available for educational purposes.

About

A desktop application for personal finance management featuring role-based authentication, data visualization, and file persistence.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published