Skip to content

A Flutter-based personal finance manager combining daily expense tracking with Khatabook-style party ledger for managing credit/debit transactions

License

Notifications You must be signed in to change notification settings

devaldaki3/BudgetBudy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

BUDGETBUDY

Detects Spendings, Ensures Quality, Accelerates Money Management

Download APK

last commit version dart license

Built with the tools and technologies:

Flutter Dart Provider SQLite Material Design


App Screenshot

Table of Contents

Overview

BudgetBudy is a personal finance and ledger management app built with Flutter. It combines:

  • a daily spending tracker for your own expenses, and
  • a Khatabook-style party ledger for tracking who you will give / who you will get money from.

It's designed to streamline personal finance management, reduce manual calculation errors, and provide real-time insights using local SQLite storage β€” all offline, no internet required.

Features

  • πŸ“Š Daily/Weekly/Monthly/Yearly Views

    Track your spending across multiple time ranges with tabbed navigation.

  • πŸ’° Category-Based Transactions

    Add expenses with title, amount, date, and category for better organization.

  • πŸ‘₯ Khatabook-Style Party Ledger

    Create parties (contacts) and track "gave" or "got" transactions per party.

  • πŸ“ˆ Automatic Balance Calculation

    See You will give and You will get totals automatically calculated.

  • 🎨 Modern UI Design

    Clean Material Design with custom fonts (OpenSans, Quicksand) and color-coded balances.

  • πŸ“Š Visual Analytics

    Charts and graphs using fl_chart for spending patterns and trends.

  • πŸ’Ύ Offline Storage

    All data stored locally using SQLite β€” no backend or internet connection needed.

  • πŸ”„ Real-Time Updates

    Provider state management ensures UI updates instantly when data changes.

Tech Stack

  • Framework/UI: Flutter, Material Design
  • Language: Dart
  • State Management: Provider
  • Local Database: SQLite (sqflite)
    • Separate databases for spendings (spendings.db) and party ledger (khatabook.db)
  • Utilities & Libraries:
    • intl – Date formatting and localization
    • fl_chart – Beautiful charts and graphs
    • random_color – Color utilities for UI
    • url_launcher – Open external links

Getting Started

πŸ“₯ Option 1: Download APK (Recommended for Users)

For Android users who just want to use the app:

  1. Download the latest APK from the Releases page
  2. Enable "Install from Unknown Sources" in your Android settings:
    • Go to Settings β†’ Security β†’ Unknown Sources (Enable)
    • Or Settings β†’ Apps β†’ Special Access β†’ Install Unknown Apps β†’ Select your browser β†’ Allow
  3. Install the APK by opening the downloaded file
  4. Open BudgetBudy and start tracking your finances! πŸŽ‰

Requirements:

  • Android 5.0 (Lollipop) or higher
  • ~20 MB storage space

πŸ› οΈ Option 2: Build from Source (For Developers)

For developers who want to modify or contribute:

1. Clone the Repository

git clone https://github.com/devaldaki3/BudgetBudy.git
cd BudgetBudy

2. Install Requirements

Make sure Flutter is installed and configured:

flutter doctor

Then install project dependencies:

flutter pub get

3. Run the Application

flutter run

Select your device/emulator when prompted.
The app will start with the Home screen (spending tabs). You can navigate to the Khatabook ledger from the drawer or dedicated navigation option.

4. Build APK (Optional)

To build your own release APK:

flutter build apk --release

The APK will be generated at: build/app/outputs/flutter-apk/app-release.apk

Model & Data Layer

Personal Spending (Transaction / Transactions)

  • Transaction Model:
    • id, title, amount, date, category
  • Transactions Provider:
    • Stores list of transactions in memory
    • Persists data via DBhelp/dbhelper.dart into spendings.db
    • Provides CRUD operations: addTransactions, deleteTransaction, fetchTransactions
    • Filters: daily, weekly, monthly, yearly, recent (last 7 days)
    • Aggregations for charts and totals

Party Ledger (Party, TransactionModel)

  • Party Model:
    • id, name, phone
  • TransactionModel:
    • id?, partyId, amount, type (gave/got), date, note
  • Database Helper (database/db_helper.dart):
    • Creates and manages khatabook.db
    • Tables:
      • parties (id, name, phone)
      • transactions (linked to parties via foreign key)
    • Provides functions to:
      • Insert/update/delete parties and transactions
      • Compute per-party balance and totals
      • Get transactions by party ID

Analytics

  • Time-Based Analytics: Daily, weekly, monthly, yearly spending breakdowns
  • Chart Visualizations: Using fl_chart for pie charts and bar graphs
  • Balance Summary:
    • Total spending across all transactions
    • "You will give" vs "You will get" totals for party ledger
  • Recent Activity: Last 7 days transaction view

🀝 Contributing

Contributions are welcome! Please check out our Contributing Guidelines for details on how to get started.

Ways to Contribute:

  • πŸ› Report bugs
  • πŸ’‘ Suggest new features
  • πŸ”§ Submit pull requests
  • πŸ“ Improve documentation
  • ⭐ Star this repository

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Developed with ❀️ by @devaldaki3

πŸ™ Support

If you find this project helpful:

  • ⭐ Star this repository to show your support
  • πŸ› Report issues on the Issues page
  • πŸ’¬ Share feedback and suggestions
  • πŸ”„ Fork and contribute to make it better

πŸ“ž Contact

Have questions or suggestions? Feel free to:

Screenshots

Home Screen - Daily Spending

Home Screen

Party List - Khatabook Ledger

Party List

⬆️ Back to Top

About

A Flutter-based personal finance manager combining daily expense tracking with Khatabook-style party ledger for managing credit/debit transactions

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published