Skip to content

malcolm-cephas/Expense_track

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

💰 Expense Tracker (JavaFX + SQLite)

Java JavaFX SQLite Maven

A simple desktop application for managing daily expenses.
Built using Java, JavaFX, SQLite, and JFreeChart, this app helps you track where your money goes and visualize spending patterns with charts.


✨ Features

📝 Manage Expenses

  • Add new expenses
  • Edit existing expenses
  • Delete expenses easily

🗂️ Categories

  • Use default categories
  • Create your own custom categories

📊 Visual Charts

  • Pie charts to see spending distribution
  • Bar charts to compare expenses
  • Powered by JFreeChart

📅 Monthly Analysis

  • Track expenses by month
  • View category-wise spending
  • Monitor daily spending trends

💾 Local Storage

All data is stored locally using SQLite.

Database location:

~/.expense-tracker/expenses.db

📤 Export Data

  • Export monthly expenses as CSV files
  • Useful for Excel or further analysis

🎨 Simple UI

  • Built with JavaFX
  • Clean and responsive interface

🛠️ Technology Stack

Technology Purpose
Java 17 Programming language
JavaFX 21 User interface
SQLite Local database
JFreeChart Chart visualization
Maven Build tool

🚀 Getting Started

Requirements

Make sure you have installed:

  • Java JDK 17 or higher
  • Maven

Option 1 — Run Using Windows Script

  1. Open the expense-tracker folder.
  2. Locate the file:
run.bat
  1. If needed, update the paths in run.bat for:
  • Java JDK
  • JavaFX SDK

Example paths used in the script:

C:\Program Files\Eclipse Adoptium\...
C:\javafx-sdk-21.0.9\...
  1. Double-click run.bat to start the application.

Option 2 — Build and Run from Source

Clone the repository

git clone https://github.com/malcolm-cephas/expense-tracker.git
cd expense-tracker

Build the project

mvn clean install

Run the application

mvn javafx:run

📁 Project Structure

expense-tracker
│
├── src
│   ├── main
│   │   ├── java        # Java source code
│   │   └── resources   # FXML files, CSS, images
│   │
│   └── test            # Unit tests
│
├── target              # Compiled files
├── expenses.db         # SQLite database (auto generated)
├── run.bat             # Script to run the application
├── pom.xml             # Maven configuration
└── README.md           # Documentation

🤝 Contributing

Contributions are welcome!

  1. Fork the repository
  2. Create a new branch
git checkout -b feature/new-feature
  1. Commit your changes
git commit -m "Added new feature"
  1. Push the branch
git push origin feature/new-feature
  1. Open a Pull Request

📄 License

This project is licensed under the MIT License.

About

Java based GUI interface expense tracker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors