GitHub Update Checker is a powerful cross-platform application that helps you track and receive notifications about updates to your favorite GitHub repositories. Never miss a new release again!
- Repository Tracking: Follow your favorite repositories and get notified when they release new versions
- Smart Version Detection: Automatic semantic versioning comparison to identify meaningful updates
- Custom Notifications: Configure when and how you want to be notified about updates
- Flexible Search: Find repositories using flexible search - no need for exact owner/repo format
- Background Monitoring: Monitor repositories even when the app is closed (Android & iOS)
- Battery-Aware: Automatically adjust check frequency based on battery status
- Quiet Hours: Set custom quiet hours to avoid notifications during specific times
- Rich Repository Details: View comprehensive information about repositories and releases
- Download Management: Download release assets directly from the app
- Changelog Viewer: Read changelogs to understand what changed in each release
- Cross-Platform: Works on Android, iOS, Windows, macOS, Linux, and Web
![]() |
![]() |
![]() |
- Flutter 3.7 or higher
- Dart 3.0 or higher
- Android SDK (for Android development)
- Xcode (for iOS development)
- Git
-
Clone the repository
git clone https://github.com/username/github-update-checker.git cd github-update-checker -
Install dependencies
flutter pub get
-
Run the app
flutter run
The app works without authentication, but GitHub API has rate limits (60 requests per hour) for unauthenticated requests. By adding your GitHub personal access token, you can:
- Increase rate limits to 5,000 requests per hour
- Access your private repositories
- Get more accurate repository information
- Log in to your GitHub account and go to Settings
- Scroll down to the "Developer settings" section on the left sidebar
- Click on "Personal access tokens" → "Tokens (classic)"
- Click on "Generate new token" → "Generate new token (classic)"
- Give your token a descriptive name (e.g., "GitHub Update Checker")
- Select the following scopes:
repo(to access repository information)read:user(to access user information)
- Click "Generate token"
- Copy the generated token (you won't be able to see it again!)
- In the app, go to Settings → GitHub Authentication and paste your token
Important: Keep your personal access token secure. Never share it or store it in public repositories.
- Go to Settings → Notifications
- Configure check intervals, quiet hours, and sound preferences
- Enable/disable battery optimization as needed
Each repository can have custom notification settings:
- Long press on a repository in your Following list
- Select "Notification Settings"
- Configure repository-specific notification preferences
The app uses a background service to check for updates even when the app is closed:
- Android: Foreground service with notification
- iOS: Background fetch with limitations (checks approximately every 15 minutes when possible)
To ensure the background service works properly on Android:
- Go to your device settings
- Navigate to Apps → GitHub Update Checker
- Select "Battery"
- Choose "No restrictions" or "Unrestricted"
- Architecture: Modular service-based architecture with dependency injection
- State Management: Combination of Provider and ValueNotifier for efficient state updates
- Storage: Secure local storage with SharedPreferences and encryption
- Networking: Optimized GitHub API communication with caching and rate limit handling
- Background Processing: Platform-specific background execution with proper lifecycle management
- Notifications: Rich, actionable notifications with proper categorization
lib/
├── components/ # UI components
├── extensions/ # Extension methods
├── models/ # Data models
├── screens/ # App screens
├── services/ # Core services
│ ├── auth_service.dart
│ ├── background_service.dart
│ ├── github_service.dart
│ ├── notification_service.dart
│ ├── storage_service.dart
│ └── version_service.dart
├── utils/ # Utility functions
└── main.dart # App entry point
This project is licensed under the MIT License - see the LICENSE file for details.
GitHub Update Checker was created to solve the common problem of keeping track of updates across multiple repositories. As a developer who follows dozens of libraries and frameworks, I found it challenging to stay up-to-date with the latest releases without manually checking each repository.
This app was built with several key principles in mind:
- Efficient battery and data usage
- Cross-platform consistency
- User-friendly interface
- Privacy and security
I hope you find it as useful as I do!
Contributions are welcome! If you'd like to contribute, please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Made with ❤️ using Flutter



