Skip to content

BillBucket is a lightweight, privacy-first Flutter app that helps users stay on top of their recurring bills. It provides a clean UI, weekly budget recommendations, upcoming bill reminders (UI only), offline storage with Hive, and fast bill management. Built with Material 3 and Provider architecture for performance and maintainability.

Notifications You must be signed in to change notification settings

Parth-Patel01/BillBucket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

38 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Bill Bucket Banner

πŸ’° Bill Bucket

A beautiful, intuitive Flutter app to manage your recurring bills and plan your finances with ease.

Flutter Dart License Version Platform

Features β€’ Screenshots β€’ Installation β€’ Usage β€’ Tech Stack β€’ Architecture β€’ Contributing


πŸ“– About

Bill Bucket is a modern, offline-first mobile application designed to help you effortlessly manage your recurring bills. Whether you're tracking weekly subscriptions, monthly utilities, or yearly insurance payments, Bill Bucket provides a clean, intuitive interface to keep your finances organized.

With smart calculations for monthly costs and recommended weekly transfers, you'll always know how much to set aside for your bills account. The app features beautiful custom theming, smooth animations, and a robust data persistence layer that works completely offline.

✨ Features

🎯 Core Functionality

  • πŸ“ Bill Management: Add, edit, and delete recurring bills with ease
  • πŸ“… Smart Due Dates: Track next due dates with automatic calculations based on frequency
  • πŸ’° Financial Insights:
    • Calculate total monthly cost across all bills
    • Get recommended weekly transfer amounts
    • View upcoming bills in the next 14 days
  • βœ… Payment Tracking: Mark bills as paid and automatically calculate next due date
  • πŸ”„ Undo Support: Easily undo payments or restore deleted bills

🎨 User Experience

  • πŸŒ“ Theme Support: Beautiful light and dark themes with system preference detection
  • 🎭 Custom Branding: Elegant typography using Baloo2 and Nunito fonts
  • πŸ“± Responsive Design: Optimized for all screen sizes
  • ⚑ Smooth Animations: Polished interactions with haptic feedback
  • πŸ” Smart Filtering: Filter bills by frequency or view overdue items
  • πŸ“Š Visual Indicators: Color-coded overdue bills and intuitive icons

πŸ’Ύ Data Management

  • πŸ”’ Offline-First: All data stored locally using Hive
  • πŸ’ͺ Persistent Storage: Your bills are saved securely on your device
  • πŸš€ Fast Performance: Instant load times with efficient data structures
  • πŸ”„ State Management: Clean architecture with Provider pattern

πŸ“Έ Screenshots

πŸš€ Installation

Prerequisites

  • Flutter SDK: 3.9.2 or higher
  • Dart SDK: 3.9.2 or higher
  • Android Studio / VS Code with Flutter extensions
  • Android SDK (for Android development)
  • Xcode (for iOS development, macOS only)

Setup Instructions

  1. Clone the repository

    git clone https://github.com/Parth-Patel01/BillBucket.git
    cd BillBucket
  2. Install dependencies

    flutter pub get
  3. Generate Hive adapters (if needed)

    flutter pub run build_runner build --delete-conflicting-outputs
  4. Run the app

    flutter run

Building for Production

Android:

flutter build apk --release
# or for App Bundle
flutter build appbundle --release

iOS:

flutter build ios --release

πŸ’» Usage

Adding a Bill

  1. Tap the + floating action button on the dashboard
  2. Enter the bill name (e.g., "Netflix Subscription")
  3. Enter the amount
  4. Select the frequency (Weekly, Fortnightly, Monthly, or Yearly)
  5. Choose the next due date
  6. Tap Add bill

Managing Bills

  • View Details: Tap any bill to see full information
  • Mark as Paid: Open a bill and tap "Mark as paid today" to update the next due date
  • Edit: Tap the edit button to modify bill details
  • Delete: Swipe left on a bill or use the delete button in the detail screen
  • Filter: Use the filter chips to view bills by frequency or overdue items

Dashboard Features

  • Monthly Cost: See your total monthly bill expenses at a glance
  • Weekly Transfer: Get a recommended weekly transfer amount to cover all bills
  • Upcoming Bills: View bills due in the next 14 days
  • Filter & Sort: Easily find bills by frequency or sort by due date

πŸ›  Tech Stack

Core Technologies

  • Flutter - Cross-platform UI framework
  • Dart - Programming language

State Management

Data Persistence

  • Hive - Fast, lightweight NoSQL database
  • Hive Flutter - Flutter integration for Hive

Utilities

Development Tools

πŸ— Architecture

Bill Bucket follows a clean, maintainable architecture pattern:

lib/
β”œβ”€β”€ main.dart                 # App entry point
β”œβ”€β”€ models/                   # Data models
β”‚   β”œβ”€β”€ bill.dart            # Bill entity
β”‚   └── app_settings.dart    # App settings
β”œβ”€β”€ providers/                # State management
β”‚   β”œβ”€β”€ bill_provider.dart   # Bill business logic
β”‚   └── settings_provider.dart # Settings management
β”œβ”€β”€ screens/                  # UI screens
β”‚   β”œβ”€β”€ dashboard_screen.dart
β”‚   β”œβ”€β”€ add_edit_bill_screen.dart
β”‚   β”œβ”€β”€ bill_detail_screen.dart
β”‚   └── settings_screen.dart
β”œβ”€β”€ widgets/                  # Reusable widgets
β”‚   └── animated_press.dart
β”œβ”€β”€ utils/                    # Utilities
β”‚   β”œβ”€β”€ bill_icons.dart      # Icon mapping
β”‚   └── formatters.dart     # Formatting helpers
└── theme/                    # Theming
    └── app_theme.dart       # Theme configuration

Key Design Patterns

  • Provider Pattern: Centralized state management
  • Repository Pattern: Data access abstraction (via Hive)
  • Immutable Models: Bill objects are immutable for safety
  • Separation of Concerns: Clear boundaries between UI, logic, and data

🎨 Customization

Themes

The app supports three theme modes:

  • System: Follows device theme preference
  • Light: Custom light theme with brand colors
  • Dark: Elegant dark theme

Theme preferences are persisted locally and sync across app restarts.

Brand Colors

  • Primary Navy: #0B3C5D
  • Accent Blue: #2D8CFF
  • Light Background: #D7ECFF

Typography

  • Headings: Baloo2 (Bold, SemiBold)
  • Body Text: Nunito (Regular, SemiBold, Bold)

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. Here's how you can help:

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

Guidelines

  • Follow the existing code style
  • Add comments for complex logic
  • Update documentation as needed
  • Test your changes thoroughly

πŸ“ License

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

πŸ‘€ Author

Parth Patel

πŸ™ Acknowledgments

  • Flutter team for the amazing framework
  • Hive developers for the excellent persistence solution
  • All contributors and users of this project

πŸ“Š Project Status

GitHub stars GitHub forks GitHub issues GitHub pull requests

πŸ“„ Privacy Policy

https://parth-patel01.github.io/BillBucket/privacy-policy


Made with ❀️ using Flutter

⭐ Star this repo if you find it helpful!

About

BillBucket is a lightweight, privacy-first Flutter app that helps users stay on top of their recurring bills. It provides a clean UI, weekly budget recommendations, upcoming bill reminders (UI only), offline storage with Hive, and fast bill management. Built with Material 3 and Provider architecture for performance and maintainability.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages