Skip to content

assassinaj602/budget-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’° budget_app β€” Personal Finance & Budget Tracker

Screenshots

Home / main screen Logo

Flutter Dart Platforms License

A polished, production-ready Flutter app for tracking expenses, managing budgets, and visualizing your finances.

Features β€’ Architecture β€’ Getting Started β€’ Tech Stack β€’ Screenshots β€’ Contributing


πŸ“± Overview

budget_app is a comprehensive personal finance manager built with Flutter and modern best practices. It helps you record transactions, analyze spending, create budgets, and export professional reports β€” all with a clean, responsive UI and offline-first storage.

🎯 Highlights

  • Clean Architecture (domain/data/presentation separation)
  • Riverpod-based state management (reactive, testable)
  • Local storage (Hive/SQLite) for fast offline access
  • Modern Material 3 UI with theming and dark mode
  • Analytics dashboards and charts (FL Chart / Syncfusion)
  • Biometric authentication and local notifications
  • Export to PDF/CSV, advanced filters, and search

✨ Features

πŸ’Έ Transactions

  • Add/edit/delete income and expenses
  • Custom categories with color and icons
  • Notes and optional receipt images
  • Recurring transactions (daily/weekly/monthly/yearly)
  • Unified quick-add modal from anywhere (FAB, nav, dashboard)
  • Searchable category Autocomplete for faster selection
  • Inline bottom sheet date picker for rapid date changes
  • Two-decimal amount enforcement & keyboard optimizations

πŸ“Š Analytics & Insights

  • Income vs Expense overview (monthly)
  • Category breakdown with top spenders
  • Recent activity and trends
  • Multiple chart types and time ranges
  • Memoized monthly & category totals (performance)
  • Animated transaction list entries (smooth state feedback)

🎯 Budgets

  • Per-category or overall budgets
  • Real-time progress indicators
  • Alerts at thresholds (e.g., 80%)

πŸ” Security & Utilities

  • Biometric auth (Face ID / Touch ID / fingerprint)
  • Local notifications and reminders
  • PDF reports with charts, CSV export
  • Multi-currency support
  • Encrypted Hive box for transactions (secure local storage)
  • PIN lock with timeout & improved back navigation handling

πŸ—οΈ Architecture

This app follows Clean Architecture principles to keep code scalable and testable.

lib/
β”œβ”€β”€ core/                   # Core utilities and base classes
β”‚   β”œβ”€β”€ error/              # Error handling
β”‚   └── usecase/            # Base use case abstractions
β”œβ”€β”€ data/                   # Data layer (models, repositories impl)
β”‚   β”œβ”€β”€ models/
β”‚   └── repositories/
β”œβ”€β”€ domain/                 # Business logic (entities, repos, usecases)
β”‚   β”œβ”€β”€ entities/
β”‚   β”œβ”€β”€ repositories/
β”‚   └── usecases/
β”œβ”€β”€ presentation/           # UI layer (providers, screens)
β”‚   β”œβ”€β”€ providers/
β”‚   └── ...
β”œβ”€β”€ services/               # Device/services (DB, notifications, PDF)
└── utils/                  # Themes and helpers

Related docs in repo:

  • IMPLEMENTATION_SUMMARY.md
  • RECENT_UPDATES.md
  • RECENT_UI_IMPROVEMENTS.md
  • LATEST_FIXES_OCT15.md
  • MONTHLY_SELECTION_ENHANCEMENT_OCT16.md

πŸš€ Getting Started

Prerequisites

  • Flutter SDK 3.0+
  • Dart 3.0+

Setup

flutter pub get
flutter pub run build_runner build --delete-conflicting-outputs

Run

flutter run

Platform notes

  • Web: flutter run -d chrome

  • Desktop: Enable platform (Windows/Linux/macOS) in Flutter config

  • Flutter 3 β€’ Dart 3

  • Riverpod 2.4+ for state management

  • Charts: fl_chart, syncfusion_flutter_charts

  • Auth/Notifications: local_auth, flutter_local_notifications, timezone

  • Exports: pdf, printing, csv

  • UI/UX: google_fonts, lottie, shimmer, animations See pubspec.yaml for full dependency list.


πŸ–ΌοΈ Screenshots

Add screenshots under docs/screenshots/ and reference them here:

docs/
└── screenshots/
	β”œβ”€β”€ dashboard.png
	β”œβ”€β”€ analytics.png
	└── add_transaction.png

πŸ§ͺ Testing

flutter test

Planned / In Progress Enhancements

  • Incremental aggregates stored in AppState for O(1) reads
  • Pagination + LazyBox adoption for large data sets
  • Attachments image compression & path storage
  • Material 3 surface container theme refinements
  • Advanced recurrence: skip-once & auto-catch-up logic
  • Quiet hours for notification scheduling
  • Provider, integration & golden tests expansion
  • Minimal logging abstraction (replacing raw prints)

πŸ“š Documentation

This README.md is the canonical documentation for the app. All prior markdown notes and logs have been consolidated here so the codebase can stay tidy. If you remove other .md files from the repository, you will still have everything you need (features, setup, roadmap) in this document.

For deeper changelogs or release notes, consider tracking them in GitHub Releases going forward.


�️ Roadmap

  • Cloud sync
  • Investment tracking
  • ML-based spending insights
  • Web dashboard

Track ongoing updates in the repo's markdown logs listed above.

Recent Implementations

  • Category Autocomplete
  • Inline CalendarDatePicker sheet
  • SliverList conversion with keep-alive
  • Transaction item fade/slide animations
  • Hive AES encryption (secure key via flutter_secure_storage)
  • Memoized derived totals providers
  • Quick-add tooltip on Transactions tab
  • PopScope migration for lock screen

🀝 Contributing

Contributions are welcome! Please open an issue to discuss changes. Follow conventional commits where possible (e.g., feat:, fix:, chore:).


οΏ½ License

This project is licensed under the MIT License. See LICENSE for details.


Made with ❀️ using Flutter

About

A polished, production ready Flutter app for tracking expenses, managing budgets, and visualizing your finances

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors