A comprehensive budget and expense tracking Android application built with Java and Room Database. This app helps users manage their finances locally by tracking expenses across different categories with real-time budget monitoring and detailed spending history — all stored offline-first using Room.
- Category-based budgeting: Create and manage expense categories with individual budgets
- Real-time balance tracking: Monitor remaining budget balances for each category
- Budget reset functionality: Reset all category budgets to their original amounts
- Balance adjustments: Automatic budget balance updates when expenses are recorded
- Export database: Easily back up your data by exporting the Room database as a
.db
file - Import database: Restore or merge data from an exported database into your current app
- Conflict-safe merging: Automatically handles duplicate entries and avoids ID collisions
- No root required: Works on any Android device with file access permission
- Quick payment processing: Record expenses against specific categories
- Pay Button: The Pay button redirects to any supported payment app (e.g., GPay, CRED, PhonePe).
- Automatic balance deduction: Budget balances update automatically when payments are made
- Payment validation: Prevents invalid transactions and provides error feedback
- Multi-currency support: Handle decimal amounts with precision
- Monthly expense reports: View spending organized by month and year
- Daily spending breakdown: Detailed view of expenses by specific dates
- Category-wise analysis: Track spending patterns across different categories
- Total spending calculations: Automatic calculation of daily, monthly, and category totals
- Historical data management: Edit, update, or delete past expense entries
- Offline support: Works fully offline using Room database
- Data persistence: All data is stored on the device with SQLite/Room
- Live update: Cloud-based data storage ensures data safety
- Thread-safe operation: All DB queries run on background threads
- Language: Java
- Database: Room (Android Jetpack)
- Platform: Android
- Architecture: Model-View-Controller (MVC) pattern
- Threading: Background threading with Executor, Thread, and LiveData
- Android Studio (latest version recommended)
- Android SDK (API level 21 or higher)
-
Clone the repository
https://github.com/AstinOfficial/MoneyMaster-Local.git cd MoneyMaster-Local
-
Open in Android Studio
- Launch Android Studio
- Select "Open an existing Android Studio project"
- Navigate to the cloned repository folder and select it
-
Build the Project
- Let Gradle sync and resolve all dependencies
- Run the app on emulator or device
-
No Cloud Database Required
- No network connection required
- All data stays on-device
-
Customize App Settings
- Run the app on an emulator or device
- Change categories, budget values, and default configurations in RoomHelper.java
- Create expense categories (e.g., Food, Transportation, Entertainment)
- Set budget amounts for each category
- Monitor remaining balances
- Select a category
- Enter the expense amount
- Add optional item description
- Click the Pay Button to redirects to any supported payment app (e.g., GPay, PhonePe).
- Navigate to History section
- Browse by month/year
- View detailed breakdowns by day or category
- Edit or delete entries as needed
- Reset all budgets to original amounts
- Adjust individual category budgets
- Monitor spending against budgets
- Tap the three-dot menu (⋮) in the toolbar
- Select Share Database
- Choose how to share it — via email, Google Drive, or file manager
- A
.db
file will be generated and shared using Android intents
- Tap the three-dot menu (⋮) in the toolbar
- Select Import Database
- Choose the exported
.db
file from file storage - App will merge data safely with the existing data:
- Duplicates are checked using ID and content
- If a duplicate with different content exists, it is re-inserted with a new ID
- Imported data appears immediately in your history and categories
This app is designed for personal finance tracking. Always ensure your financial data is secure and backed up appropriately.
- Fork the repository
- Create a feature branch (
git checkout -b feature/new-feature
) - Commit your changes (
git commit -am 'Add new feature'
) - Push to the branch (
git push origin feature/new-feature
) - Create a Pull Request
Astin Biju
Feel free to connect on LinkedIn or message me for questions or collaboration.