/FlutterHub

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

Primary LanguageDartMIT LicenseMIT

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

  • Basic, Personal Access Token and OAuth2 authentication
  • View trending repositories and users (github-trending-api)
  • 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)
  • The missing star history graph of github repos (stars-history)
  • Quickly browse the history of a file from any git repository (git-history)
  • 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
  • Color themes in light and dark modes (flex_color_scheme)
  • In-app language switching (en, ru, hy)
  • Whats New functionality
  • Invite friends functionality
  • Clone repository directly to app
  • Support iOS, Android, Web, and Windows

Technologies

  • Clean architecture (BLoC)
  • Dependency injection (GetIt)
  • 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
  • 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.