A comprehensive money tracking and budgeting application with Indian Rupee (βΉ) support, built with Java and JavaFX.
- Download: Get the latest
anton-money-tracker.jarfrom Releases - Install Java 17+: Download from Adoptium if needed
- Run: Double-click the JAR file or run
java -jar anton-money-tracker.jar
git clone https://github.com/[your-username]/Anton.git
cd Anton
mvn clean package
java -jar target/anton-money-tracker.jar- Period-based Budgeting: Set budgets for specific time periods with start and end dates
- Daily Budget Calculation: Automatic calculation of daily spending allowance
- Budget Redistribution: Smart recalculation of daily budgets based on spending patterns
- Multiple Budget Support: Track different budget periods and view historical data
- Easy Expense Entry: Quick and intuitive expense recording
- Category Organization: Organize expenses with customizable categories
- Transaction History: Complete history of all transactions with search and filtering
- Real-time Updates: Instant updates to budget calculations and progress
- Spending Analytics: Visual charts and graphs showing spending patterns
- Category Breakdown: Pie charts showing spending distribution by category
- Daily/Weekly/Monthly Views: Multiple time period analysis
- Budget Progress: Real-time progress tracking with visual indicators
- Spending Trends: Historical data analysis and trend identification
- JavaFX-based UI: Modern, responsive interface built with JavaFX
- Card-based Design: Clean, organized layout with card-based components
- Color-coded Progress: Visual indicators for budget health
- Responsive Layout: Adapts to different window sizes
- SQLite Database: Local storage with reliable SQLite database
- Data Persistence: All data stored locally and securely
- Backup Ready: Easy to backup and restore data files
- Default Categories: Pre-configured expense categories to get started quickly
- Java 17 or higher
- Maven 3.6 or higher
-
Clone or download the project
git clone <repository-url> cd anton-java
-
Build the project
mvn clean compile
-
Run the application
mvn javafx:run
Or alternatively:
mvn clean javafx:run
mvn clean package
java -cp target/anton-java-1.0.0-shaded.jar com.moneytracker.BuckwheatAppsrc/
βββ main/
β βββ java/
β β βββ com/moneytracker/
β β βββ BuckwheatApp.java # Main application class
β β βββ controller/ # UI Controllers
β β β βββ MainController.java
β β βββ model/ # Data Models
β β β βββ Budget.java
β β β βββ Transaction.java
β β β βββ Category.java
β β βββ service/ # Business Logic
β β β βββ BudgetService.java
β β β βββ TransactionService.java
β β β βββ CategoryService.java
β β βββ database/ # Data Access
β β βββ DatabaseManager.java
β βββ resources/
β βββ fxml/ # FXML UI Files
β β βββ main.fxml
β βββ css/ # Stylesheets
β β βββ application.css
β βββ images/ # Application Images
βββ test/ # Unit Tests (Future)
- Budget: Represents a budget period with total amount, spent amount, and date range
- Transaction: Represents individual transactions (expenses, income, budget changes)
- Category: Represents expense categories for organization
- BudgetService: Handles budget creation, updates, and calculations
- TransactionService: Manages all transaction operations and analytics
- CategoryService: Manages expense categories
- DatabaseManager: Handles SQLite database operations
Similar to the original Buckwheat app's budget system:
- Set total budget amount and period
- Automatic daily budget calculation
- Smart budget redistribution when spending changes
- Progress tracking and visual indicators
The app implements intelligent daily budget calculation:
- Initial daily budget = Total budget Γ· Total days
- Recalculation when needed = Remaining budget Γ· Remaining days
- Considers actual spending patterns and remaining time
Comprehensive analytics similar to Buckwheat:
- Budget progress with percentage and visual bars
- Spending by category with pie charts
- Daily, weekly, monthly spending analysis
- Biggest expenses and spending trends
- Java 17: Core programming language
- JavaFX 19: Modern UI framework
- SQLite: Local database storage
- Maven: Build and dependency management
- Jackson: JSON processing (for future features)
- Smart Budget Distribution: Like Buckwheat's intelligent daily budget recalculation
- Period-based Budgeting: Set budgets for trips, months, or custom periods
- Visual Progress Tracking: Color-coded progress bars and percentage indicators
- Category-based Organization: Organize and analyze spending by categories
- Real-time Updates: Immediate feedback on spending and budget status
- budgets: Budget periods with amounts and dates
- transactions: All financial transactions with types and categories
- categories: Expense categories with colors and descriptions
- Transactions belong to budgets and categories
- Categories are reusable across different budgets
- Foreign key constraints ensure data integrity
- Import/Export functionality
- Multiple currency support
- Advanced reporting and charts
- Recurring transaction support
- Budget templates
- Dark mode theme
- Mobile companion app
- Cloud sync capabilities
- Create/modify model classes in
model/package - Add business logic in appropriate service classes
- Update UI controllers and FXML files
- Add database schema changes in
DatabaseManager - Update tests and documentation
mvn test- Follow Java naming conventions
- Use meaningful variable and method names
- Add JavaDoc comments for public methods
- Keep methods focused and classes cohesive
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is open source. Feel free to use, modify, and distribute according to your needs.
- Inspired by the original Buckwheat app by Danil Zakhvatkin
- Built with modern Java and JavaFX technologies
- Designed with user experience and functionality in mind
Note: This is a desktop application built with JavaFX. Make sure you have Java 17+ and JavaFX runtime available on your system to run the application.