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.
- Add new expenses
- Edit existing expenses
- Delete expenses easily
- Use default categories
- Create your own custom categories
- Pie charts to see spending distribution
- Bar charts to compare expenses
- Powered by JFreeChart
- Track expenses by month
- View category-wise spending
- Monitor daily spending trends
All data is stored locally using SQLite.
Database location:
~/.expense-tracker/expenses.db
- Export monthly expenses as CSV files
- Useful for Excel or further analysis
- Built with JavaFX
- Clean and responsive interface
| Technology | Purpose |
|---|---|
| Java 17 | Programming language |
| JavaFX 21 | User interface |
| SQLite | Local database |
| JFreeChart | Chart visualization |
| Maven | Build tool |
Make sure you have installed:
- Java JDK 17 or higher
- Maven
- Open the
expense-trackerfolder. - Locate the file:
run.bat
- If needed, update the paths in
run.batfor:
- Java JDK
- JavaFX SDK
Example paths used in the script:
C:\Program Files\Eclipse Adoptium\...
C:\javafx-sdk-21.0.9\...
- Double-click run.bat to start the application.
git clone https://github.com/malcolm-cephas/expense-tracker.git
cd expense-trackermvn clean installmvn javafx:runexpense-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
Contributions are welcome!
- Fork the repository
- Create a new branch
git checkout -b feature/new-feature- Commit your changes
git commit -m "Added new feature"- Push the branch
git push origin feature/new-feature- Open a Pull Request
This project is licensed under the MIT License.