Skip to content

Track your expenses, manage budgets, and backup your financial data offline using Room Database. Built in Android with simplicity and privacy in mind.

Notifications You must be signed in to change notification settings

AstinOfficial/MoneyMaster-Local

Repository files navigation

Money Master - Expense Tracker Android App

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.

Features

📊 Budget Management

  • 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

🔄 Data Import & Export

  • 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

💰 Expense Tracking

  • 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

📈 History & Analytics

  • 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

💾 Local Data Management

  • 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

📸 Screenshots

Tech Stack

  • Language: Java
  • Database: Room (Android Jetpack)
  • Platform: Android
  • Architecture: Model-View-Controller (MVC) pattern
  • Threading: Background threading with Executor, Thread, and LiveData

Getting Started

Prerequisites

  • Android Studio (latest version recommended)
  • Android SDK (API level 21 or higher)

Installation & Setup

  1. Clone the repository

    https://github.com/AstinOfficial/MoneyMaster-Local.git
    cd MoneyMaster-Local
  2. Open in Android Studio

    • Launch Android Studio
    • Select "Open an existing Android Studio project"
    • Navigate to the cloned repository folder and select it
  3. Build the Project

    • Let Gradle sync and resolve all dependencies
    • Run the app on emulator or device

Configuration

  1. No Cloud Database Required

    • No network connection required
    • All data stays on-device
  2. Customize App Settings

    • Run the app on an emulator or device
    • Change categories, budget values, and default configurations in RoomHelper.java

Usage

Setting Up Categories

  1. Create expense categories (e.g., Food, Transportation, Entertainment)
  2. Set budget amounts for each category
  3. Monitor remaining balances

Recording Expenses

  1. Select a category
  2. Enter the expense amount
  3. Add optional item description
  4. Click the Pay Button to redirects to any supported payment app (e.g., GPay, PhonePe).

Viewing History

  1. Navigate to History section
  2. Browse by month/year
  3. View detailed breakdowns by day or category
  4. Edit or delete entries as needed

Managing Budgets

  1. Reset all budgets to original amounts
  2. Adjust individual category budgets
  3. Monitor spending against budgets

Importing & Exporting Data

📤 Exporting the Database

  1. Tap the three-dot menu (⋮) in the toolbar
  2. Select Share Database
  3. Choose how to share it — via email, Google Drive, or file manager
  4. A .db file will be generated and shared using Android intents

📥 Importing the Database

  1. Tap the three-dot menu (⋮) in the toolbar
  2. Select Import Database
  3. Choose the exported .db file from file storage
  4. 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

📌 Note for Developers

This app is designed for personal finance tracking. Always ensure your financial data is secure and backed up appropriately.

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/new-feature)
  3. Commit your changes (git commit -am 'Add new feature')
  4. Push to the branch (git push origin feature/new-feature)
  5. Create a Pull Request

🙋‍♂️ Author

Astin Biju
Feel free to connect on LinkedIn or message me for questions or collaboration.

About

Track your expenses, manage budgets, and backup your financial data offline using Room Database. Built in Android with simplicity and privacy in mind.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages