Skip to content

Allain-afk/ExpenseTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’° Offline Expense Tracker

A beautiful, feature-rich Flutter application for tracking expenses offline with personalized notifications and comprehensive analytics.

Flutter Dart Android

✨ Features

🎯 Core Features

  • Offline Expense Tracking - Track expenses without internet connection
  • Income & Expense Management - Categorized transaction management
  • Multi-Currency Support - Support for 10+ currencies (PHP, USD, EUR, etc.)
  • Beautiful Charts & Analytics - Visual representation of spending patterns
  • Home Widgets - Quick access to balance and recent transactions

πŸ”” Smart Notifications (v1.2.0)

  • Personalized Low Balance Alerts - Custom notifications with user's name
  • Customizable Threshold - Set your own low balance warning amount
  • Custom Messages - Personalize notification messages with placeholders
  • Smart Notification Logic - Prevents spam with intelligent triggering

🎨 User Experience

  • Animated Splash Screen - Beautiful app launch experience
  • Material Design 3 - Modern, clean interface
  • Dark/Light Theme Support - Adapts to system preferences
  • Intuitive Navigation - Easy-to-use bottom navigation

βš™οΈ Advanced Features

  • First-Time Setup - Guided user onboarding
  • Version History - Clickable version information with detailed changelog
  • Data Management - Export/import and reset functionality
  • Settings Customization - Comprehensive app configuration

πŸš€ Getting Started

Prerequisites

  • Flutter SDK (>=3.7.2)
  • Dart SDK
  • Android Studio / VS Code
  • Android device or emulator

Installation

  1. Clone the repository

    git clone https://github.com/Allain-afk/ExpenseTracker.git
    cd ExpenseTracker
  2. Install dependencies

    flutter pub get
  3. Run the app

    flutter run

Building for Release

# Build APK
flutter build apk --release

# Build App Bundle (for Play Store)
flutter build appbundle --release

πŸ“¦ Dependencies

Core Dependencies

  • flutter - UI framework
  • provider - State management
  • sqflite - Local database
  • shared_preferences - Local storage
  • intl - Internationalization

UI & Animation

  • fl_chart - Beautiful charts
  • animated_splash_screen - Splash screen animations
  • flutter_native_splash - Native splash screen

Notifications & Widgets

  • flutter_local_notifications - Local notifications
  • permission_handler - Permission management
  • home_widget - Home screen widgets

Utilities

  • path_provider - File system paths
  • path - Path manipulation

πŸ—οΈ Project Structure

lib/
β”œβ”€β”€ main.dart                 # App entry point
β”œβ”€β”€ models/                   # Data models
β”‚   β”œβ”€β”€ settings.dart
β”‚   └── transaction.dart
β”œβ”€β”€ providers/                # State management
β”‚   β”œβ”€β”€ settings_provider.dart
β”‚   └── transaction_provider.dart
β”œβ”€β”€ screens/                  # UI screens
β”‚   β”œβ”€β”€ splash_screen.dart
β”‚   β”œβ”€β”€ user_setup_screen.dart
β”‚   β”œβ”€β”€ main_navigation_screen.dart
β”‚   β”œβ”€β”€ home_screen.dart
β”‚   β”œβ”€β”€ add_transaction_screen.dart
β”‚   β”œβ”€β”€ transactions_screen.dart
β”‚   └── settings_screen.dart
β”œβ”€β”€ services/                 # Business logic
β”‚   β”œβ”€β”€ notification_service.dart
β”‚   └── widget_service.dart
β”œβ”€β”€ database/                 # Database layer
β”‚   └── database_helper.dart
β”œβ”€β”€ utils/                    # Utilities
└── widgets/                  # Reusable widgets

πŸ“‹ Version History

v1.3.0 (Latest) 🌟

  • Multi-Wallet & Modern UI Enhancements
  • Introduced Multi-Wallet System with dedicated balances per card
  • Overhauled Dashboard into a glassmorphic Multi-Wallet Carousel
  • Redesigned Bottom Navigation Bar into a sleek floating dock
  • Migrated generic UI lists to iOS-style Inset Grouped layout

v1.2.0 πŸ†•

  • New user UI/UX functionalities
  • Added notification system for low budget threshold
  • Personalized notifications with user name
  • Customizable notification settings
  • First-time user setup flow

v1.0.3

  • App Animation Feature (Splash Screen)
  • Beautiful animated splash screen
  • Smooth transitions and loading animations

v1.0.2

  • UI and UX Improvements
  • Enhanced user interface design
  • Better user experience
  • Performance optimizations

v1.0.1

  • App Icon Update
  • New and improved app icon
  • Better visual identity

v1.0.0 (Deprecated)

  • Basic Features for Expense Tracking
  • Core expense tracking functionality
  • Transaction management
  • Basic reporting features

πŸ› οΈ Development

Setting up Development Environment

  1. Install Flutter

  2. Configure IDE

    • Install Flutter and Dart plugins for your IDE
    • Configure code formatting and linting
  3. Run in Debug Mode

    flutter run --debug

Code Style

  • Follow Dart style guide
  • Use flutter format for consistent formatting
  • Run flutter analyze for static analysis

Testing

# Run unit tests
flutter test

# Run integration tests
flutter drive --target=test_driver/app.dart

🀝 Contributing

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

πŸ“„ License

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

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

Allain Ralph Legaspi

πŸ™ Acknowledgments

  • Flutter team for the amazing framework
  • Material Design for the design system
  • All contributors and testers

Made with ❀️ using Flutter

About

A mobile expense tracker for Android.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages