A comprehensive multi-platform refund tracking application built with Flutter. Track your expenses, manage refunds, and stay organized across Android, iOS, Windows, and Linux.
- 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 will be added here
- 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
- Download the APK file from the latest release
- Enable "Install from Unknown Sources" in your device settings
- Install the APK file
- Download the MSI installer from the latest release
- Run the installer and follow the setup wizard
- Launch Refund Tracker Pro from the Start Menu
- Download the AppImage file from the latest release
- Make it executable:
chmod +x RefundTrackerPro-x86_64.AppImage - Run the AppImage:
./RefundTrackerPro-x86_64.AppImage
- Download the iOS build files from the latest release
- Open in Xcode and build for your device
- Install via Xcode or TestFlight
- Flutter SDK 3.32.8 or higher
- Dart SDK 3.8.1 or higher
- Android Studio / VS Code
- Git
-
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
# Android APK
flutter build apk --release
# Windows
flutter build windows --release
# Linux
flutter build linux --release
# iOS
flutter build ios --releaselib/
├── 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
The app uses the following environment variables (if needed):
FLUTTER_TARGET: Target platformFLUTTER_BUILD_MODE: Build mode (debug/release)
- SQLite database is automatically created in the app's local storage
- No external database setup required
- Data is stored locally on the device
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
- Push to main/master branch
- Pull requests
- Release creation
- Per-Item Tracking: Track individual expenses and refunds
- Pool Tracking: Manage shared expenses and refunds
- Local Storage: All data stored locally using SQLite
- Export Options: CSV and JSON export functionality
- Data Backup: Manual export for data backup
- Cha-ching Sound: Custom notification sound
- Badge Management: Automatic badge clearing on app launch
- Smart Alerts: Configurable notification settings
- 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
- Follow Dart/Flutter conventions
- Use meaningful variable and function names
- Add comments for complex logic
- Ensure all tests pass
This project is licensed under the MIT License - see the LICENSE file for details.
- Flutter team for the amazing framework
- All package authors for their contributions
- The open-source community
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
- 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