GitHunt
AM

aminegames125/refund_tracker_pro

A cross‑platform Flutter app for tracking purchase refunds, due dates, and statuses across mobile, web, and desktop in one place.

Refund Tracker Pro

A comprehensive multi-platform refund tracking application built with Flutter. Track your expenses, manage refunds, and stay organized across Android, iOS, Windows, and Linux.

πŸš€ Features

  • Multi-Platform Support: Works on Android, iOS, Windows, and Linux
  • Local Data Storage: Secure SQLite database with local storage
  • Smart Notifications: Cha-ching sound notifications with badge management
  • Export Functionality: Export data in CSV and JSON formats
  • Responsive Design: Beautiful UI that adapts to different screen sizes
  • Offline First: Works completely offline with local data storage
  • Modern UI: Material Design with custom theming

πŸ“± Screenshots

Screenshots will be added here

πŸ› οΈ Technology Stack

  • Framework: Flutter 3.24.5
  • Language: Dart
  • Database: SQLite (sqflite)
  • State Management: Provider
  • Notifications: Awesome Notifications
  • Background Tasks: Workmanager
  • Platform Support: Android, iOS, Windows, Linux

πŸ“¦ Installation

Android

  1. Download the APK file from the latest release
  2. Enable "Install from Unknown Sources" in your device settings
  3. Install the APK file

Windows

  1. Download the MSI installer from the latest release
  2. Run the installer and follow the setup wizard
  3. Launch Refund Tracker Pro from the Start Menu

Linux

  1. Download the AppImage file from the latest release
  2. Make it executable: chmod +x RefundTrackerPro-x86_64.AppImage
  3. Run the AppImage: ./RefundTrackerPro-x86_64.AppImage

iOS

  1. Download the iOS build files from the latest release
  2. Open in Xcode and build for your device
  3. Install via Xcode or TestFlight

πŸ—οΈ Development Setup

Prerequisites

  • Flutter SDK 3.32.8 or higher
  • Dart SDK 3.8.1 or higher
  • Android Studio / VS Code
  • Git

Getting Started

  1. Clone the repository

    git clone https://github.com/yourusername/refund-tracker-pro.git
    cd refund-tracker-pro
  2. Install dependencies

    flutter pub get
  3. Run the app

    # For Android
    flutter run -d android
    
    # For Windows
    flutter run -d windows
    
    # For Linux
    flutter run -d linux
    
    # For iOS (requires macOS)
    flutter run -d ios

Building for Release

# Android APK
flutter build apk --release

# Windows
flutter build windows --release

# Linux
flutter build linux --release

# iOS
flutter build ios --release

πŸ“ Project Structure

lib/
β”œβ”€β”€ main.dart                 # App entry point
β”œβ”€β”€ models/                   # Data models
β”‚   └── tracking_models.dart
β”œβ”€β”€ providers/                # State management
β”‚   └── app_provider.dart
β”œβ”€β”€ screens/                  # UI screens
β”‚   β”œβ”€β”€ welcome_screen.dart
β”‚   β”œβ”€β”€ main_screen.dart
β”‚   β”œβ”€β”€ settings_screen.dart
β”‚   └── ...
β”œβ”€β”€ services/                 # Business logic
β”‚   β”œβ”€β”€ database_service.dart
β”‚   β”œβ”€β”€ notification_service.dart
β”‚   └── app_info_service.dart
β”œβ”€β”€ utils/                    # Utilities
β”‚   β”œβ”€β”€ theme_colors.dart
β”‚   └── app_constants.dart
└── widgets/                  # Reusable widgets
    β”œβ”€β”€ mode_specific_dashboard.dart
    └── pool_dashboard.dart

πŸ”§ Configuration

Environment Setup

The app uses the following environment variables (if needed):

  • FLUTTER_TARGET: Target platform
  • FLUTTER_BUILD_MODE: Build mode (debug/release)

Database Configuration

  • SQLite database is automatically created in the app's local storage
  • No external database setup required
  • Data is stored locally on the device

πŸš€ CI/CD Pipeline

This project uses GitHub Actions for automated builds and releases:

  • Build Jobs: Separate jobs for Android, Windows, Linux, and iOS
  • Artifact Upload: Build artifacts are uploaded for each platform
  • Release Creation: Automatic release creation with all platform builds
  • Quality Checks: Code analysis and testing

Workflow Triggers

  • Push to main/master branch
  • Pull requests
  • Release creation

πŸ“‹ Features in Detail

Tracking Modes

  • Per-Item Tracking: Track individual expenses and refunds
  • Pool Tracking: Manage shared expenses and refunds

Data Management

  • Local Storage: All data stored locally using SQLite
  • Export Options: CSV and JSON export functionality
  • Data Backup: Manual export for data backup

Notifications

  • Cha-ching Sound: Custom notification sound
  • Badge Management: Automatic badge clearing on app launch
  • Smart Alerts: Configurable notification settings

🀝 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

Code Style

  • Follow Dart/Flutter conventions
  • Use meaningful variable and function names
  • Add comments for complex logic
  • Ensure all tests pass

πŸ“„ License

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

πŸ™ Acknowledgments

  • Flutter team for the amazing framework
  • All package authors for their contributions
  • The open-source community

πŸ“ž Support

If you encounter any issues or have questions:

  1. Check the Issues page
  2. Create a new issue with detailed information
  3. Include your platform, Flutter version, and error logs

πŸ”„ Version History

  • v1.0.0: Initial release with multi-platform support
    • Basic refund tracking functionality
    • Multi-platform builds (Android, Windows, Linux, iOS)
    • Local data storage
    • Notification system

Made with ❀️ by Amino148

aminegames125/refund_tracker_pro | GitHunt