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
- Download the APK file from the latest release
- Enable "Install from Unknown Sources" in your device settings
- Install the APK file
Windows
- Download the MSI installer from the latest release
- Run the installer and follow the setup wizard
- Launch Refund Tracker Pro from the Start Menu
Linux
- Download the AppImage file from the latest release
- Make it executable:
chmod +x RefundTrackerPro-x86_64.AppImage - Run the AppImage:
./RefundTrackerPro-x86_64.AppImage
iOS
- Download the iOS build files from the latest release
- Open in Xcode and build for your device
- 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
-
Clone the repository
git clone https://github.com/yourusername/refund-tracker-pro.git cd refund-tracker-pro -
Install dependencies
flutter pub get
-
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 platformFLUTTER_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
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - 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:
- Check the Issues page
- Create a new issue with detailed information
- 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
On this page
Languages
Dart86.4%C++6.9%CMake5.3%Swift0.7%HTML0.4%C0.2%Kotlin0.0%Objective-C0.0%
Contributors
MIT License
Created August 24, 2025
Updated December 8, 2025