devaldaki3/BudgetBudy
A Flutter-based personal finance manager combining daily expense tracking with Khatabook-style party ledger for managing credit/debit transactions
BUDGETBUDY
Detects Spendings, Ensures Quality, Accelerates Money Management
Built with the tools and technologies:
Table of Contents
- Overview
- Features
- Tech Stack
- Getting Started
- Model & Data Layer
- Analytics
- Export Options
- License
- Author
- Screenshots
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_chartfor 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)
- Separate databases for spendings (
- Utilities & Libraries:
intlโ Date formatting and localizationfl_chartโ Beautiful charts and graphsrandom_colorโ Color utilities for UIurl_launcherโ Open external links
Getting Started
๐ฅ Option 1: Download APK (Recommended for Users)
For Android users who just want to use the app:
- Download the latest APK from the Releases page
- 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
- Install the APK by opening the downloaded file
- 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 BudgetBudy2. Install Requirements
Make sure Flutter is installed and configured:
flutter doctorThen install project dependencies:
flutter pub get3. Run the Application
flutter runSelect 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 --releaseThe 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.dartintospendings.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
- Creates and manages
Analytics
- Time-Based Analytics: Daily, weekly, monthly, yearly spending breakdowns
- Chart Visualizations: Using
fl_chartfor 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:
- Open an issue
- Start a discussion

