A small JavaFX desktop tool: add expenses (date, category, amount, note),
see them in a sortable table, delete entries, and watch a running total
update live. Data is saved to expenses.csv next to the jar, so it
persists between runs - no database required for a tool this size.
This is the template for the "Standard" tier of the Java desktop tool gig (multi-screen JavaFX app with save/load) - swap the domain (expenses -> inventory, clients, bookings, whatever the client needs tracked) and the same structure holds.
java-desktop-utility/
├── pom.xml
└── src/main/java/com/tjchaplain/expensetracker/
├── Main.java # JavaFX UI + application entry point
├── Expense.java # data model
└── ExpenseStore.java # CSV load/save
mvn javafx:run
(Requires JavaFX on the classpath - the pom.xml already pulls in
javafx-controls via Maven, so mvn javafx:run handles it automatically.)
For the Premium tier (packaged as a runnable executable), use
jpackage (bundled with the JDK) or the javafx-maven-plugin's
jlink/jpackage goals to produce a native .exe/.app a client can
double-click with no Java or Maven installed.