FlutterHub icon indicating copy to clipboard operation
FlutterHub copied to clipboard

Cross-platform GitHub client in Flutter and BLoC clean architecture.

FlutterHub

FlutterHub logo

Cross-platform GitHub client in Flutter and BLoC clean architecture.

SwiftHub - Swift version is available

Try Web version

Get Started

To get started, you need to

  1. Install dependencies
flutter pub get
  1. Run
flutter run

App Features

  • [x] Basic, Personal Access Token and OAuth2 authentication
  • [x] View trending repositories and users (github-trending-api)
  • [x] Advanced searching and sorting repositories and users, filter by language
  • [ ] View repository and user details, events, issues, commits, pull requests, contributors, etc...
  • [ ] View issue and pull request messages
  • [ ] Tool for counting lines of code from github repositories (codetabs) (charts_flutter)
  • [x] The missing star history graph of github repos (stars-history)
  • [ ] Quickly browse the history of a file from any git repository (git-history)
  • [x] Tool for visualizing GitHub profiles (profile-summary-for-github)
  • [ ] View a 3D model of your GitHub contribution grap (skyline)
  • [ ] Source file viewer and syntax highlighting
  • [x] Color themes in light and dark modes (flex_color_scheme)
  • [x] In-app language switching (en, ru, hy)
  • [ ] Whats New functionality
  • [ ] Invite friends functionality
  • [ ] Clone repository directly to app
  • [x] Support iOS, Android, Web, and Windows

Technologies

  • [x] Clean architecture (BLoC)
  • [x] Dependency injection (GetIt)
  • [x] REST API v3 (for unauthenticated or basic authentication) (Chopper, Freezed)
  • [ ] GraphQL API v4 (for OAuth2 authentication) (graphql_flutter)
  • [ ] Mixpanel and Firebase analytics events
  • [ ] Crash reporting
  • [x] Logging
  • [ ] Google ads implementation, can be enabled/disabled from settings
  • [ ] Add tests

VSCode extensions that I use

  • Flutter - Flutter support and debugger for Visual Studio Code.
  • Flutter Intl - Flutter localization binding from .arb files with official Intl library
  • bloc - Support for the bloc library and provides tools for effectively creating blocs for both Flutter and AngularDart apps.
  • Flutter Feature Scaffolding - Add new feature easily with well structured directories (Clean Architecture pattern)
  • Awesome Flutter Snippets - Awesome Flutter Snippets is a collection snippets and shortcuts for commonly used Flutter functions and classes
  • FlutterPubOpen - Opens pub.dev package and API for your pubspec.yaml dependencies
  • Error Lens - Improve highlighting of errors, warnings and other language diagnostics.
  • GitLens — Git supercharged - Supercharge Git within VS Code — Visualize code authorship at a glance via Git blame annotations and CodeLens and so much more
  • indent-rainbow - Makes indentation easier to read
  • Path Intellisense - Visual Studio Code plugin that autocompletes filenames
  • Material Icon Theme - Material Design Icons for Visual Studio Code
  • vscode-icons - Icons for Visual Studio Code
  • GitHub Copilot - Your AI pair programmer

License

MIT License. See LICENSE.