CarGuo/gsy_github_app_flutter

Flutter 超完整的开源项目,功能丰富,适合学习和日常使用。GSYGithubApp 系列的优势:我们目前已经拥有 Flutter、Weex、ReactNative、Kotlin View、Kotlin Jetpack Compose ,Compose MultiPlatform,Harmony ArkUI 七个版本,功能齐全,项目框架内技术涉及面广,完成度高,持续维护,配套文章,适合全面学习,对比参考。

8
Hotness score
63
Reliability score
15,467
Stars
almost 8 years
Age
0
Published reviews
0
Questions

Scores

Hotness and reliability

The two headline scores, measured daily, with 30, 90, and 180 day views.

Hotness score

Jul 19, 2026

Current8

Previous9

Weekly average

100500
Full metrics details

Derived only from GitHub GraphQL starredAt events after daily star totals are reconciled.

180 observed daily rows. Missing days are not fabricated.

Hotness formula

40% Hot today + 40% Hot this week + 20% Breakout.

  • 40% Hot today: 1
  • 40% Hot this week: 33
  • 20% Breakout: 36
  • Stars gained: 1d: 0
  • Stars gained: 7d: 5
  • Stars gained: 14d: 6
  • Stars gained: 30d: 9
  • Stars gained: 90d: 26

Per-day formula: 0.40 × Hot today + 0.40 × Hot week + 0.20 × Breakout.

  • Same-day multiplier = stars 1d ÷ max(1, stars 7d ÷ 7)
  • Weekly multiplier = stars 7d ÷ max(1, stars 30d ÷ 30 × 7)
  • Fortnight multiplier = stars 14d ÷ max(1, stars 90d ÷ 90 × 14)
  • Hot today = clamp(70 × log-scale(stars 1d, 1000) + 30 × breakout-scale(same-day, 4))
  • Hot week = clamp(75 × log-scale(stars 7d, 5000) + 25 × breakout-scale(weekly, 3))
  • Breakout = clamp(35 × breakout-scale(same-day, 4) + 40 × breakout-scale(weekly, 3) + 25 × breakout-scale(fortnight, 2.5))
DateStarsStars 1dStars 7dStars 14dStars 30dStars 90dSame-day multiplierWeekly multiplierFortnight multiplierHot todayHot weekBreakoutStored score

Reliability score

Jul 19, 2026

Current63

Previous62

Weekly average

100500
Full metrics details

Derived from the displayed continuity, closure, shipping, liveness, and support-burden components.

180 observed daily rows. Missing days are not fabricated.

Reliability formula

30% Continuity + 30% Closure + 20% Shipping + 10% Liveness + 10% Support burden.

  • 30% Continuity: 30
  • 30% Closure: 100
  • 20% Shipping: 22
  • 10% Liveness: 100
  • 10% Support burden: 99

Per-day formula: 0.30 × Continuity + 0.30 × Closure + 0.20 × Shipping + 0.10 × Liveness + 0.10 × Support burden.

  • Continuity = 35% active ratio 90d + 20% active ratio 30d + 15% PR efficiency 90d + 10% PR efficiency 30d + 10% liveness + 10% observed-history coverage
  • Closure = 55% PR merge efficiency 90d + 45% issue close efficiency 90d
  • Shipping = 100 × (20% × release ratio 30d + 30% × release ratio 90d + 50% × release ratio 180d); ratios are releases ÷ 2, 6, and 12, capped at 1
  • Support burden = 100 − 2 × open issues per 1,000 stars
  • Liveness = 100 × exp(−pushed days ago ÷ 120)

Stars, issues, pull requests, and releases are daily observations. Pushed-days and license are repository snapshot-derived inputs and are not independent historical GitHub events.

DateIssues openedIssues closedPRs openedPRs mergedReleasesStarsOpen issuesPushed days agoContinuityClosureShippingLivenessSupport burdenLicenseObserved daysMissing daysNeeds healingStored score

Reliability breakdown

What drives the reliability score

Component scores measured daily from GitHub activity (2026-05-02).

Continuity30% of headline30

Activity on 1 of 90 tracked days in the last 90 and 1 of 30 in the last 30.

Closure30% of headline100

Merged 0 of 0 PRs opened and closed 0 of 0 issues opened over the last 90 tracked days — PR flow carries 55% of this component, issue flow 45%.

Shipping20% of headline22

4 releases in the last 180 days, 1 in the last 90 and 1 in the last 30 — a steady cadence scores highest.

Liveness10% of headline100

Last push 6 days ago — freshness decays as pushes age (roughly halves every 83 days without a push).

Support burden10% of headline99

Open-issue load isn't tracked for this repo yet.

Adoption confidence91

Modeled — how confidently teams are adopting this repo. Stargazers

Maintenance quality70

Modeled from PR/issue responsiveness and upkeep signals. Activity pulse

Risk score11

Modeled — lower is better; adoption and continuity risk. Repository

Stays active (30d)50%

Modeled chance the repo stays active over 30 days. Activity pulse

Stays active (90d)62%

Modeled chance the repo stays active over 90 days. Activity pulse

Release rhythm (180d)42

Regularity of releases over the last 180 days. Releases

Maintainer bus risk (90d)54%

Modeled — lower is better; concentration of commits in few maintainers. Contributors graph

Topics

Explore related topics

Jump into the topic listings this repository belongs to.

Measured history

Project metrics

Weekly GitHub totals with 30, 90, and 180 day views.

Weekly star gains

Jul 19, 2026

Current4

Previous1

Weekly star gains

13-22-57
Full metrics details

GitHub GraphQL current stargazer cohort, reconstructed from starredAt events and totalCount retrieved in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.

180 observed daily rows. Missing days are not fabricated.

DateValue

Cumulative stars

Jul 19, 2026

Current15,467

Previous15,463

Cumulative total

15,4677,7340
Full metrics details

Running total of the GitHub GraphQL stargazer count over time (not weekly deltas), reconstructed from starredAt events and totalCount in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.

180 observed daily rows. Missing days are not fabricated.

DateValue

Issues opened

Jun 14, 2026

Current0

Previous0

Weekly total

110
Full metrics details

GitHub API observation. Historical values render only when the source provides a real observation for that day.

144 observed daily rows. Missing days are not fabricated.

DateValue

Issues closed

Jun 14, 2026

Current0

Previous0

Weekly total

110
Full metrics details

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

144 observed daily rows. Missing days are not fabricated.

DateValue

Pull requests opened

Jun 14, 2026

Current0

Previous0

Weekly total

110
Full metrics details

GitHub API observation. Historical values render only when the source provides a real observation for that day.

144 observed daily rows. Missing days are not fabricated.

DateValue

Pull requests closed

Jun 14, 2026

Current0

Previous0

Weekly total

110
Full metrics details

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

144 observed daily rows. Missing days are not fabricated.

DateValue

Pull requests merged

Jun 14, 2026

Current0

Previous0

Weekly total

110
Full metrics details

GitHub API observation. Historical values render only when the source provides a real observation for that day.

144 observed daily rows. Missing days are not fabricated.

DateValue

Releases

Jul 19, 2026

Current0

Previous1

Weekly total

210
Full metrics details

GitHub release published_at events bucketed by UTC day; drafts are excluded.

180 observed daily rows. Missing days are not fabricated.

DateValue

Project Overview

GSYGithubAppFlutter is a complete, feature-rich GitHub client built in Dart using Flutter. It is the Flutter entry in the GSYGithubApp series, which CarGuo maintains across seven platforms: Flutter, Weex, ReactNative, Kotlin View, Kotlin Jetpack Compose, Compose MultiPlatform, and Harmony ArkUI.

The project serves two distinct purposes: it is a working GitHub app you can actually use, and it is a structured learning resource for Dart and Flutter developers who want to study a non-trivial, production-grade mobile codebase. Companion articles linked from the repository are written to be read alongside the code, not just cloned and run.

Active maintenance and 15,000+ stars place this project in the small category of Flutter reference apps that have not gone stale. The primary language for documentation and inline comments is Chinese — if you cannot read Chinese, plan to rely on the code structure and architecture rather than inline explanations.

Key Challenges Addressed

Cross-platform decision-making. Choosing between Flutter, React Native, Kotlin Compose, and ArkUI for a new mobile project is expensive if you prototype each option separately. The GSYGithubApp series solves this by implementing the same GitHub client across all seven frameworks, letting you compare architecture, syntax, and ergonomics directly without building separate proofs of concept.

GitHub OAuth on mobile. Authenticating against GitHub from a Flutter app requires registering an OAuth app, handling redirect URLs via deep links, securely storing tokens, and recovering sessions across app restarts. This repo implements the complete flow so you have a working reference to study.

Paginated API integration. The GitHub API paginates nearly every list endpoint. Implementing correct infinite scroll — detecting end-of-list, managing loading state, deduplicating on re-fetch — is where Flutter beginner apps typically break down. GSYGithubAppFlutter gets this right across its many list screens.

Code rendering on mobile. Displaying file contents with syntax highlighting inside a navigable file tree requires more plumbing than it first appears. The repo demonstrates a complete path from tree listing to highlighted file view.

Getting Started

git clone https://github.com/CarGuo/gsy_github_app_flutter.git
cd gsy_github_app_flutter
flutter pub get
flutter run

Before running, register a GitHub OAuth app at the GitHub developer settings page and fill in your client ID and secret in the app's config file. Skip this and the OAuth callback will redirect to a dead endpoint — authentication will silently fail without showing an error.

Sharp edges to handle first:

  • Run flutter channel stable && flutter upgrade before anything else. The project targets the stable channel; running beta or master produces analyzer errors that block the build.
  • Do not run flutter pub upgrade immediately after cloning. Some dependencies are version-pinned for compatibility. Run flutter pub get first.
  • The GitHub API rate limit for unauthenticated requests is 60 per hour. Without OAuth credentials configured, you will hit empty screens quickly. Set credentials before exploring the app.

Features and Use Cases

Full GitHub client experience. The app covers browsing trending repos, viewing your own repositories and starred projects, exploring user profiles, reading issues and pull requests, and receiving notifications. For everyday GitHub browsing on mobile, it handles the common workflows without requiring a browser.

File tree and code viewer. Navigate a repository's directory structure and open source files with syntax highlighting. Most Flutter GitHub client examples skip this feature, which makes GSYGithubAppFlutter more complete as a reference implementation.

Markdown rendering. README files, issue bodies, and PR descriptions render as formatted markdown. This makes the app genuinely usable as a daily client rather than just a demonstration.

Theme and localization. Dark mode and light mode switch at runtime. The app ships with Chinese and English translations, making the localization implementation a clean pattern to study and extend for your own projects.

Cross-platform comparison. If your team is evaluating Flutter versus React Native or Kotlin Compose, reading the equivalent GSYGithubApp implementations side by side shows you how the same feature is expressed in each framework. That direct comparison is difficult to replicate any other way.

Ecosystem and Dependencies

GSYGithubAppFlutter draws on the standard Flutter pub.dev ecosystem:

  • Networking: dio handles HTTP requests with interceptors, retry logic, and typed responses.
  • State management: The project has moved through Redux and Provider patterns across its version history. Check pubspec.yaml in the current branch to confirm which approach is active before reading the state layer.
  • Markdown rendering: flutter_markdown renders README and comment content.
  • Syntax highlighting: flutter_highlight drives the code file viewer.
  • Local storage: shared_preferences persists OAuth tokens between sessions.

The companion implementations in the GSYGithubApp series — covering ReactNative, Kotlin Jetpack Compose, Compose MultiPlatform, and Harmony ArkUI — are the most relevant ecosystem pieces for cross-framework comparison. All are maintained by the same author under the same GitHub organization, so feature parity is intentional rather than coincidental.

Architectural Overview

The app organizes into three main layers:

Data layer. A service layer wraps Dio HTTP calls and maps GitHub API JSON responses to typed Dart model objects. Each major API domain — repos, users, issues, notifications — has its own service class, keeping network logic separate from UI code.

State management. Application-level state, including authentication status, the current user, and theme preference, is managed centrally. Screen-level state for pagination, loading, and error conditions lives in the relevant widget or controller. Check pubspec.yaml to identify which state management library is active before reading the state layer.

Widget layer. Pages compose from smaller reusable widgets. Common patterns — paginated list screens, profile headers, loading and error states — are extracted into shared components, keeping individual page implementations short and readable.

Navigation. Named routes handle in-app navigation. The GitHub OAuth redirect re-enters the app via deep link, completing the auth flow without losing the user's navigation state.

The architecture is conventional Flutter — solid and understandable, but not using the newest patterns. Current Flutter projects lean toward Riverpod or Bloc for state management, so treat the state layer here as a historical reference point rather than a template for new work.

Pros and Cons

Pros

  • Complete working app, not a toy — covers real API integration, pagination, OAuth, file rendering, and localization end-to-end.
  • Part of a multi-platform series. If your team is evaluating Flutter versus React Native or Jetpack Compose, the GSYGithubApp series gives you the same codebase in each framework, which is more useful than separate proof-of-concept builds.
  • Actively maintained with 15,000+ stars. The project has not gone stale.
  • Companion articles explain design decisions in context, not just in isolation from the code.
  • Dart and Flutter architecture patterns are legible even without reading Chinese — the code structure teaches by example.

Cons

  • Documentation and comments are primarily in Chinese. Without reading Chinese, you work from code alone.
  • State management patterns are dated relative to current Flutter conventions. Riverpod and Bloc have largely replaced Redux-style approaches in new projects.
  • Wide feature scope makes initial orientation slow. There is no guided architecture walkthrough — you map the structure yourself.
  • Dependency pinning means flutter pub upgrade can break things unpredictably. Dependency management requires deliberate attention.
  • The app is a reference implementation, not a hardened production client. Offline support and background notification handling are absent or minimal.

Comparison and Alternatives

Measured 90-day trends for this project and its alternatives.

GitHub stars

Weekly star gains

28-10-48
Full metrics details

GitHub GraphQL current stargazer cohort, reconstructed from starredAt events and totalCount retrieved in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.

Gsy_github_app_flutter

GitHub GraphQL current stargazer cohort, reconstructed from starredAt events and totalCount retrieved in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.

180 observed daily rows. Missing days are not fabricated.

DateValue
Flutter Gallery

GitHub GraphQL current stargazer cohort, reconstructed from starredAt events and totalCount retrieved in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.

180 observed daily rows. Missing days are not fabricated.

DateValue
FlutterExampleApps

GitHub GraphQL current stargazer cohort, reconstructed from starredAt events and totalCount retrieved in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.

180 observed daily rows. Missing days are not fabricated.

DateValue
Best-Flutter-UI-Templates

GitHub GraphQL current stargazer cohort, reconstructed from starredAt events and totalCount retrieved in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.

180 observed daily rows. Missing days are not fabricated.

DateValue

Issues opened

Weekly total

110
Full metrics details

GitHub API observation. Historical values render only when the source provides a real observation for that day.

Gsy_github_app_flutter

GitHub API observation. Historical values render only when the source provides a real observation for that day.

144 observed daily rows. Missing days are not fabricated.

DateValue
Flutter Gallery

GitHub API observation. Historical values render only when the source provides a real observation for that day.

135 observed daily rows. Missing days are not fabricated.

DateValue
FlutterExampleApps

GitHub API observation. Historical values render only when the source provides a real observation for that day.

148 observed daily rows. Missing days are not fabricated.

DateValue
Best-Flutter-UI-Templates

GitHub API observation. Historical values render only when the source provides a real observation for that day.

131 observed daily rows. Missing days are not fabricated.

DateValue

Issues closed

Weekly total

110
Full metrics details

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

Gsy_github_app_flutter

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

144 observed daily rows. Missing days are not fabricated.

DateValue
Flutter Gallery

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

135 observed daily rows. Missing days are not fabricated.

DateValue
FlutterExampleApps

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

148 observed daily rows. Missing days are not fabricated.

DateValue
Best-Flutter-UI-Templates

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

131 observed daily rows. Missing days are not fabricated.

DateValue

Pull requests opened

Weekly total

110
Full metrics details

GitHub API observation. Historical values render only when the source provides a real observation for that day.

Gsy_github_app_flutter

GitHub API observation. Historical values render only when the source provides a real observation for that day.

144 observed daily rows. Missing days are not fabricated.

DateValue
Flutter Gallery

GitHub API observation. Historical values render only when the source provides a real observation for that day.

135 observed daily rows. Missing days are not fabricated.

DateValue
FlutterExampleApps

GitHub API observation. Historical values render only when the source provides a real observation for that day.

148 observed daily rows. Missing days are not fabricated.

DateValue
Best-Flutter-UI-Templates

GitHub API observation. Historical values render only when the source provides a real observation for that day.

131 observed daily rows. Missing days are not fabricated.

DateValue

Pull requests closed

Weekly total

110
Full metrics details

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

Gsy_github_app_flutter

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

144 observed daily rows. Missing days are not fabricated.

DateValue
Flutter Gallery

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

135 observed daily rows. Missing days are not fabricated.

DateValue
FlutterExampleApps

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

148 observed daily rows. Missing days are not fabricated.

DateValue
Best-Flutter-UI-Templates

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

131 observed daily rows. Missing days are not fabricated.

DateValue

Pull requests merged

Weekly total

110
Full metrics details

GitHub API observation. Historical values render only when the source provides a real observation for that day.

Gsy_github_app_flutter

GitHub API observation. Historical values render only when the source provides a real observation for that day.

144 observed daily rows. Missing days are not fabricated.

DateValue
Flutter Gallery

GitHub API observation. Historical values render only when the source provides a real observation for that day.

135 observed daily rows. Missing days are not fabricated.

DateValue
FlutterExampleApps

GitHub API observation. Historical values render only when the source provides a real observation for that day.

148 observed daily rows. Missing days are not fabricated.

DateValue
Best-Flutter-UI-Templates

GitHub API observation. Historical values render only when the source provides a real observation for that day.

131 observed daily rows. Missing days are not fabricated.

DateValue

Open/closed pull request ratio

Weekly average

100500
Full metrics details

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

Gsy_github_app_flutter

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

180 observed daily rows. Missing days are not fabricated.

DateValue
Flutter Gallery

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

180 observed daily rows. Missing days are not fabricated.

DateValue
FlutterExampleApps

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

180 observed daily rows. Missing days are not fabricated.

DateValue
Best-Flutter-UI-Templates

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

180 observed daily rows. Missing days are not fabricated.

DateValue

Open/closed issues ratio

Weekly average

100500
Full metrics details

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

Gsy_github_app_flutter

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

180 observed daily rows. Missing days are not fabricated.

DateValue
Flutter Gallery

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

180 observed daily rows. Missing days are not fabricated.

DateValue
FlutterExampleApps

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

180 observed daily rows. Missing days are not fabricated.

DateValue
Best-Flutter-UI-Templates

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

180 observed daily rows. Missing days are not fabricated.

DateValue

Releases

Weekly total

110
Full metrics details

GitHub release published_at events bucketed by UTC day; drafts are excluded.

Gsy_github_app_flutter

GitHub release published_at events bucketed by UTC day; drafts are excluded.

180 observed daily rows. Missing days are not fabricated.

DateValue
Flutter Gallery

GitHub release published_at events bucketed by UTC day; drafts are excluded.

180 observed daily rows. Missing days are not fabricated.

DateValue
FlutterExampleApps

GitHub release published_at events bucketed by UTC day; drafts are excluded.

180 observed daily rows. Missing days are not fabricated.

DateValue
Best-Flutter-UI-Templates

GitHub release published_at events bucketed by UTC day; drafts are excluded.

180 observed daily rows. Missing days are not fabricated.

DateValue

Hotness score

Weekly average

100500
Full metrics details

Derived only from GitHub GraphQL starredAt events after daily star totals are reconciled.

Gsy_github_app_flutter

Derived only from GitHub GraphQL starredAt events after daily star totals are reconciled.

180 observed daily rows. Missing days are not fabricated.

Per-day formula: 0.40 × Hot today + 0.40 × Hot week + 0.20 × Breakout.

  • Same-day multiplier = stars 1d ÷ max(1, stars 7d ÷ 7)
  • Weekly multiplier = stars 7d ÷ max(1, stars 30d ÷ 30 × 7)
  • Fortnight multiplier = stars 14d ÷ max(1, stars 90d ÷ 90 × 14)
  • Hot today = clamp(70 × log-scale(stars 1d, 1000) + 30 × breakout-scale(same-day, 4))
  • Hot week = clamp(75 × log-scale(stars 7d, 5000) + 25 × breakout-scale(weekly, 3))
  • Breakout = clamp(35 × breakout-scale(same-day, 4) + 40 × breakout-scale(weekly, 3) + 25 × breakout-scale(fortnight, 2.5))
DateStarsStars 1dStars 7dStars 14dStars 30dStars 90dSame-day multiplierWeekly multiplierFortnight multiplierHot todayHot weekBreakoutStored score
Flutter Gallery

Derived only from GitHub GraphQL starredAt events after daily star totals are reconciled.

180 observed daily rows. Missing days are not fabricated.

Per-day formula: 0.40 × Hot today + 0.40 × Hot week + 0.20 × Breakout.

  • Same-day multiplier = stars 1d ÷ max(1, stars 7d ÷ 7)
  • Weekly multiplier = stars 7d ÷ max(1, stars 30d ÷ 30 × 7)
  • Fortnight multiplier = stars 14d ÷ max(1, stars 90d ÷ 90 × 14)
  • Hot today = clamp(70 × log-scale(stars 1d, 1000) + 30 × breakout-scale(same-day, 4))
  • Hot week = clamp(75 × log-scale(stars 7d, 5000) + 25 × breakout-scale(weekly, 3))
  • Breakout = clamp(35 × breakout-scale(same-day, 4) + 40 × breakout-scale(weekly, 3) + 25 × breakout-scale(fortnight, 2.5))
DateStarsStars 1dStars 7dStars 14dStars 30dStars 90dSame-day multiplierWeekly multiplierFortnight multiplierHot todayHot weekBreakoutStored score
FlutterExampleApps

Derived only from GitHub GraphQL starredAt events after daily star totals are reconciled.

180 observed daily rows. Missing days are not fabricated.

Per-day formula: 0.40 × Hot today + 0.40 × Hot week + 0.20 × Breakout.

  • Same-day multiplier = stars 1d ÷ max(1, stars 7d ÷ 7)
  • Weekly multiplier = stars 7d ÷ max(1, stars 30d ÷ 30 × 7)
  • Fortnight multiplier = stars 14d ÷ max(1, stars 90d ÷ 90 × 14)
  • Hot today = clamp(70 × log-scale(stars 1d, 1000) + 30 × breakout-scale(same-day, 4))
  • Hot week = clamp(75 × log-scale(stars 7d, 5000) + 25 × breakout-scale(weekly, 3))
  • Breakout = clamp(35 × breakout-scale(same-day, 4) + 40 × breakout-scale(weekly, 3) + 25 × breakout-scale(fortnight, 2.5))
DateStarsStars 1dStars 7dStars 14dStars 30dStars 90dSame-day multiplierWeekly multiplierFortnight multiplierHot todayHot weekBreakoutStored score
Best-Flutter-UI-Templates

Derived only from GitHub GraphQL starredAt events after daily star totals are reconciled.

180 observed daily rows. Missing days are not fabricated.

Per-day formula: 0.40 × Hot today + 0.40 × Hot week + 0.20 × Breakout.

  • Same-day multiplier = stars 1d ÷ max(1, stars 7d ÷ 7)
  • Weekly multiplier = stars 7d ÷ max(1, stars 30d ÷ 30 × 7)
  • Fortnight multiplier = stars 14d ÷ max(1, stars 90d ÷ 90 × 14)
  • Hot today = clamp(70 × log-scale(stars 1d, 1000) + 30 × breakout-scale(same-day, 4))
  • Hot week = clamp(75 × log-scale(stars 7d, 5000) + 25 × breakout-scale(weekly, 3))
  • Breakout = clamp(35 × breakout-scale(same-day, 4) + 40 × breakout-scale(weekly, 3) + 25 × breakout-scale(fortnight, 2.5))
DateStarsStars 1dStars 7dStars 14dStars 30dStars 90dSame-day multiplierWeekly multiplierFortnight multiplierHot todayHot weekBreakoutStored score

Reliability score

Weekly average

100500
Full metrics details

Derived from the displayed continuity, closure, shipping, liveness, and support-burden components.

Gsy_github_app_flutter

Derived from the displayed continuity, closure, shipping, liveness, and support-burden components.

180 observed daily rows. Missing days are not fabricated.

Per-day formula: 0.30 × Continuity + 0.30 × Closure + 0.20 × Shipping + 0.10 × Liveness + 0.10 × Support burden.

  • Continuity = 35% active ratio 90d + 20% active ratio 30d + 15% PR efficiency 90d + 10% PR efficiency 30d + 10% liveness + 10% observed-history coverage
  • Closure = 55% PR merge efficiency 90d + 45% issue close efficiency 90d
  • Shipping = 100 × (20% × release ratio 30d + 30% × release ratio 90d + 50% × release ratio 180d); ratios are releases ÷ 2, 6, and 12, capped at 1
  • Support burden = 100 − 2 × open issues per 1,000 stars
  • Liveness = 100 × exp(−pushed days ago ÷ 120)

Stars, issues, pull requests, and releases are daily observations. Pushed-days and license are repository snapshot-derived inputs and are not independent historical GitHub events.

DateIssues openedIssues closedPRs openedPRs mergedReleasesStarsOpen issuesPushed days agoContinuityClosureShippingLivenessSupport burdenLicenseObserved daysMissing daysNeeds healingStored score
Flutter Gallery

Derived from the displayed continuity, closure, shipping, liveness, and support-burden components.

180 observed daily rows. Missing days are not fabricated.

Per-day formula: 0.30 × Continuity + 0.30 × Closure + 0.20 × Shipping + 0.10 × Liveness + 0.10 × Support burden.

  • Continuity = 35% active ratio 90d + 20% active ratio 30d + 15% PR efficiency 90d + 10% PR efficiency 30d + 10% liveness + 10% observed-history coverage
  • Closure = 55% PR merge efficiency 90d + 45% issue close efficiency 90d
  • Shipping = 100 × (20% × release ratio 30d + 30% × release ratio 90d + 50% × release ratio 180d); ratios are releases ÷ 2, 6, and 12, capped at 1
  • Support burden = 100 − 2 × open issues per 1,000 stars
  • Liveness = 100 × exp(−pushed days ago ÷ 120)

Stars, issues, pull requests, and releases are daily observations. Pushed-days and license are repository snapshot-derived inputs and are not independent historical GitHub events.

DateIssues openedIssues closedPRs openedPRs mergedReleasesStarsOpen issuesPushed days agoContinuityClosureShippingLivenessSupport burdenLicenseObserved daysMissing daysNeeds healingStored score
FlutterExampleApps

Derived from the displayed continuity, closure, shipping, liveness, and support-burden components.

180 observed daily rows. Missing days are not fabricated.

Per-day formula: 0.30 × Continuity + 0.30 × Closure + 0.20 × Shipping + 0.10 × Liveness + 0.10 × Support burden.

  • Continuity = 35% active ratio 90d + 20% active ratio 30d + 15% PR efficiency 90d + 10% PR efficiency 30d + 10% liveness + 10% observed-history coverage
  • Closure = 55% PR merge efficiency 90d + 45% issue close efficiency 90d
  • Shipping = 100 × (20% × release ratio 30d + 30% × release ratio 90d + 50% × release ratio 180d); ratios are releases ÷ 2, 6, and 12, capped at 1
  • Support burden = 100 − 2 × open issues per 1,000 stars
  • Liveness = 100 × exp(−pushed days ago ÷ 120)

Stars, issues, pull requests, and releases are daily observations. Pushed-days and license are repository snapshot-derived inputs and are not independent historical GitHub events.

DateIssues openedIssues closedPRs openedPRs mergedReleasesStarsOpen issuesPushed days agoContinuityClosureShippingLivenessSupport burdenLicenseObserved daysMissing daysNeeds healingStored score
Best-Flutter-UI-Templates

Derived from the displayed continuity, closure, shipping, liveness, and support-burden components.

180 observed daily rows. Missing days are not fabricated.

Per-day formula: 0.30 × Continuity + 0.30 × Closure + 0.20 × Shipping + 0.10 × Liveness + 0.10 × Support burden.

  • Continuity = 35% active ratio 90d + 20% active ratio 30d + 15% PR efficiency 90d + 10% PR efficiency 30d + 10% liveness + 10% observed-history coverage
  • Closure = 55% PR merge efficiency 90d + 45% issue close efficiency 90d
  • Shipping = 100 × (20% × release ratio 30d + 30% × release ratio 90d + 50% × release ratio 180d); ratios are releases ÷ 2, 6, and 12, capped at 1
  • Support burden = 100 − 2 × open issues per 1,000 stars
  • Liveness = 100 × exp(−pushed days ago ÷ 120)

Stars, issues, pull requests, and releases are daily observations. Pushed-days and license are repository snapshot-derived inputs and are not independent historical GitHub events.

DateIssues openedIssues closedPRs openedPRs mergedReleasesStarsOpen issuesPushed days agoContinuityClosureShippingLivenessSupport burdenLicenseObserved daysMissing daysNeeds healingStored score

Several other projects serve overlapping use cases as Flutter learning apps or GitHub client references:

Project Repo Hotness (~6mo) PRs merged (~6mo) Star growth (~6mo)
Gsy_github_app_flutter https://github.com/CarGuo/gsy_github_app_flutter 51.14 1 349
Flutter Gallery https://github.com/flutter/gallery 1.28 0 133
FlutterExampleApps https://github.com/iampawan/FlutterExampleApps 3.05 0 552
Best-Flutter-UI-Templates https://github.com/mitesh77/Best-Flutter-UI-Templates 4.91 0 4688
inKino https://github.com/roughike/inKino metrics pending 0 metrics pending

Flutter Gallery is the best overall alternative. Maintained directly by the Flutter team, it reflects current widget and navigation patterns and covers the broadest range of Flutter's component library. The maintenance signal is stronger than any third-party reference app in this group.

Conclusion

If you are an intermediate Flutter developer who wants to study a real multi-screen app with GitHub API integration, OAuth authentication, and pagination patterns, GSYGithubAppFlutter is one of the most complete public references available — visit the official repository and start by reading the service layer before individual page implementations.

Do not run flutter pub upgrade immediately after cloning — dependency version conflicts will break the build and send you chasing unrelated errors. Run flutter pub get first, confirm the app launches with your OAuth credentials configured, then explore one feature area at a time.

Join the conversation

Reviews · Questions · Posts

Share what you know about gsy_github_app_flutter — write a review from your real experience, ask an implementation question, or publish a post about how you use it.

Share your experience

Write or update your review

Explain what worked, what broke down, and what another team should know before adopting gsy_github_app_flutter.

Write your review now — it saves locally and publishes automatically after you sign in.

Rating
Positive attributes
Negative attributes

Project Q&A

Questions and answers

Browse implementation threads tied directly to CarGuo/gsy_github_app_flutter. Each question links through to the full answer page.

Q&A No threads yet

Be the first to ask how teams run gsy_github_app_flutter in production. Every question you post becomes a durable, searchable answer page other developers can find.

Ask the first question

Related posts

Posts tagged with the same topics

These posts come from the same topic surface as this repo, so readers can move from project evaluation into practical writeups and migration notes without leaving context.

Posts No topic-linked posts yet

Share how your team uses gsy_github_app_flutter — a migration note, an architecture writeup, or a comparison. Your post reaches everyone browsing these same topics.

Write the first post
Get a weekly email with the hottest new projects in the Mobile Development and Android world.
No Spam. Unsubscribe easily at any time.

Copyright 2018-2026 Awesome Open Source.  All rights reserved.