X-Wei/flutter_catalog
50.3
Weak · 23 September 2026
15.5k
lines of production code
Dart
primary language
5
measurements over time
What this system is
This system is a cross-platform Flutter application designed to showcase a wide range of features, including AI/ML integrations, animations, and state management patterns. It serves as a comprehensive catalog of example routes and reusable components, such as a syntax-highlighting code viewer and a 'What's New' changelog widget. The codebase supports Android, iOS, Web, Linux, macOS, and Windows, with a focus on modernizing native build configurations and providing robust testing coverage.
How it got here
2018 — Project initialization and feature scaffolding
8 changes.
This period focused on establishing the foundational structure of a Flutter application, including native iOS and Android configurations, build system modernization, and core navigation setup. It also introduced initial feature routes for AI/ML demos and animations, alongside essential tooling and Firebase integrations.
2019–2022 — Cross-platform expansion and state management
6 changes.
The project expanded its reach to Linux and Web platforms, implementing Progressive Web App capabilities and desktop support. Concurrently, the codebase introduced robust state management and local storage models, while also adding automated 'What's New' features and comprehensive test coverage.
2024–2026 — widget\_with\_codeview package release
6 changes.
This period focused on the creation and release of the \widget\_with\_codeview\ Flutter package, which provides a widget for displaying source code with syntax highlighting and tabbed interfaces. The work included implementing the core components, exposing the public API, and adding full desktop platform support for macOS and Windows.
Features
Add AI/ML and animation example routes
The app now includes new example routes for AI and machine learning features, including ChatGPT integration, Groq API demos, and various Google ML Kit examples (barcode scanning, document scanning, face detection, image labeling, and text recognition). Additionally, several animation-related examples have been added, such as AnimatedBuilder, AnimatedContainer, AnimatedIcons, AnimatedTextKit, and the animations package demos. An about page has also been introduced to provide app information and links.
lib/routes · high confidence
Add Firebase and ML Kit configuration files for Android
The Android app now includes a \google-services.json\ file containing the Firebase project configuration, including the project ID, API keys, and client details for the \io.github.x\_wei.flutter\_catalog\ package. Additionally, a \proguard-rules.pro\ file has been added to preserve classes required by ML Kit text recognition libraries, ensuring that the app can correctly process text in Chinese, Devanagari, Japanese, and Korean.
android/app · high confidence
Add code preview and syntax highlighting widget
Introduces the \SourceCodeView\ and \WidgetWithCodeView\ components, which provide a tabbed interface for displaying source code with syntax highlighting, copy-to-clipboard functionality, and zoom controls. The \WidgetWithCodeView\ wraps the code view in a tabbed layout that preserves the state of the preview tab when switching between the UI preview and the code view.
_packages/widget\_with\codeview/lib/src · high confidence
Add data models for API state and Todo items
Added new data models to support state management and local storage. Introduced a Freezed-based \MyApiState\ class with generated \my\_api\_state.freezed.dart\ and \myapistate.freezed.dart\/\.g.dart\ files to handle success, error, and loading states for API responses. Additionally, added a \TodoItem\ model using Hive for local persistence, with its corresponding \todo\_item.g.dart\ adapter for serialization.
lib/routes/data · high confidence
Added Linux desktop platform support for Flutter
The Linux desktop platform has been added to the project, enabling the application to run on Linux. This includes the necessary CMake build configuration, the main application entry point, and the GTK-based window setup. The change also introduces the generated plugin registrant, which automatically registers plugins such as desktop\_webview\_auth, file\_selector\_linux, gtk, and url\_launcher\_linux, ensuring that Linux-specific plugin functionality is available to the Flutter app.
linux · high confidence
Added Windows desktop build configuration and runner code
The project now includes the necessary CMake build files and C++ source code to compile and run the application on Windows. This adds the Windows desktop target, allowing users to build and execute the app on that platform.
windows · high confidence
Added example app for the widget\_with\_codeview package
The \packages/widget\_with\_codeview/example\ directory now contains a complete, runnable Flutter application that demonstrates the \WidgetWithCodeView\ widget. This example includes the necessary configuration files (\.gitignore\, \analysis\_options.yaml\, \web/index.html\, \web/manifest.json\), a \README.md\, and a \main.dart\ file that renders the widget with sample content, providing a reference implementation for developers.
_packages/widget\_with\codeview/example · high confidence
Added macOS platform support for the Flutter application
The macOS target is now fully configured for building and running the app. This includes the Xcode project structure, build configurations, and entry points. Users can now build and run the Flutter application on macOS, with the main window and application delegate properly set up to host the Flutter engine.
macos · high confidence
Added web entry point and PWA configuration for Flutter Web
The web application now includes the necessary HTML and manifest files to run as a Progressive Web App. The \web/index.html\ file provides the HTML structure, integrates the Firebase SDK (version 7.20.0) with specific configuration keys for the 'flutter-catalog' project, and sets up the service worker for PWA functionality. Additionally, \web/manifest.json\ defines the app's metadata, including icons and theme colors, enabling proper installation and display on mobile and desktop browsers.
web · high confidence
Added widget\_with\_codeview package to the repository
The \packages/widget\_with\_codeview\ directory was added as a proper subtree, including the package's \.gitignore\, \.metadata\, \CHANGELOG.md\, \LICENSE\, and \README.md\. This makes the \widget\_with\_codeview\ Flutter package available for use, providing a widget that displays side-by-side source code views with features like syntax highlighting, tab switching, and customizable themes.
_packages/widget\_with\codeview · high confidence
Introduce scheduled and changelog-based 'What's New' pages
The flutter\_whatsnew package now includes a ScheduledWhatsNewPage widget that can automatically display the 'What's New' dialog after a specified delay or when the app version changes. Additionally, a changelog-based page (WhatsNewPage.changelog) allows developers to display app updates directly from a Markdown file or string, with support for adaptive iOS/Android styling and link handling.
_packages/flutter\whatsnew-master · high confidence
Project initialization and configuration scaffolding
The repository was initialized with essential configuration files, including \.firebaserc\ and \firebase.json\ for Firebase hosting and mobile configuration, \.fvmrc\ to pin the Flutter SDK version, and \analysis\_options.yaml\ to define linting rules. The addition of \devtools\_options.yaml\ enables DevTools support, while \.gitignore\ and \.metadata\ establish standard build and IDE exclusions. These files collectively establish the development environment and tooling configuration for the project.
(repo-wide) · high confidence
iOS project scaffolding and configuration added
The iOS native project has been initialized with a complete Xcode project structure, including the \Runner\ target, workspace configuration, and build settings. This includes the \AppFrameworkInfo.plist\, \Debug\/\Release\ xcconfig files, and the \project.pbxproj\ file that ties the Flutter framework, Pods, and Swift/Objective-C sources together. Additionally, the \Info.plist\ has been configured with usage descriptions for camera and photo library access, Google Sign-In URL schemes, and App Store SKAdNetwork identifiers, while \GoogleService-Info.plist\ and \firebase\_app\_id\_file.json\ provide Firebase and Google authentication configuration.
ios · high confidence
Behavioural changes
Android app updated to Flutter Embedding v2
The Android configuration has been updated to use the Flutter Embedding v2 architecture. This includes migrating the main activity to extend FlutterFragmentActivity, updating the AndroidManifest.xml with the required flutterEmbedding metadata, and adding necessary permissions for features like local authentication and billing. Additionally, the app now supports a native splash screen with light and dark mode themes, and includes meta-data for Google Mobile Ads and ML Kit integration.
android/app/src · high confidence
Expose widget\_with\_codeview public API
The widget\_with\_codeview package now exports its internal source\_code\_view and widget\_with\_codeview components, making them accessible to consumers of the library.
_packages/widget\_with\codeview/lib · high confidence
Introduce structured app navigation with new home page and settings management
The app's main entry point (lib/main.dart) now initializes Firebase, Crashlytics, and mobile ads, then creates a singleton MyAppSettings to manage user preferences like dark mode, search history, and starred routes. The home page (lib/home\_page.dart) is restructured into a tabbed interface (Basics, Advanced, In Action, Bookmarks) using IndexedStack to preserve state, with each tab displaying a list of example routes. Route metadata and grouping are centralized in lib/my\_app\_routes.dart and lib/my\_route\_group.dart, enabling features like red-dot badges for new routes and search history. The MyRoute widget now includes a search delegate for finding examples, and the app uses a custom theme (lib/themes.dart) for light and dark modes.
lib · high confidence
Updated web splash screen styling
The web splash screen now uses a new CSS file (web/splash/style.css) that defines layout and background styles, including support for dark mode via a prefers-color-scheme media query.
web/splash · medium confidence
Test coverage
Add unit and widget tests for the application
Added new test files to verify application structure and UI behavior. The unit test ensures all defined routes have valid source file paths. The widget test validates the HomePage, confirming the presence of four bottom navigation tabs (Basics, Advanced, In Action, Bookmarks) and verifying that each tab correctly displays its associated route groups and individual route items.
test · high confidence
Dependencies
Migrate Android build to Kotlin DSL and update iOS/macOS build configurations
The Android build system has been migrated from Groovy to Kotlin DSL (\.kts\ files) for \app/build.gradle.kts\, \build.gradle.kts\, and \settings.gradle.kts\, including updated plugin versions (e.g., \com.android.application\ 8.9.1, \kotlin\ 2.3.10) and Gradle properties. The iOS \Podfile\ has been updated to target iOS 15.5 and configure Google ML Kit pods, while the macOS \Podfile\ has been regenerated for macOS 10.15. These changes modernize the native build configurations to align with current Flutter and platform standards.
(dependencies) · high confidence
Updated Gradle wrapper to version 8.12
The Android build system has been updated to use Gradle 8.12. This change ensures compatibility with modern Android build tools and may improve build performance and stability.
android/gradle · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 41 → 50 (+9.3)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 98 (-2.2)
- Architecture 100 → 100 (-0.4)
- Maturity 56 → 57 (+1.5)
- Readiness 49 → 38 (-11.2)
- Security 19 → 50 (+31.8)
- Domain Modelling 100 → 100 (+0.0)
- Accessibility 60 → 60 (+0.0)
Resolved (38)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Further sole-owners (lower concentration)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- …and 18 more
New (97)
- CI installs an unverified third-party binary (.github/workflows/build-linux.yml)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no installation or build instructions (README.md)
- Duplicated block (11 lines × 2) (lib/routes/charts_fl_bar_chart_ex.dart)
- Duplicated block (11 lines × 3) (lib/routes/persistence_hive_ex.dart)
- Duplicated block (11 lines × 4) (lib/routes/aiml_mlkit_barcode_scanning_ex.dart)
- Duplicated block (12 lines × 3) (lib/routes/state_inherited_widget_ex.dart)
- Duplicated block (14 lines × 2) (lib/routes/persistence_sembast_ex.dart)
- Duplicated block (15 lines × 3) (lib/routes/state_bloc_ex.dart)
- Duplicated block (15 lines × 5) (lib/routes/aiml_mlkit_barcode_scanning_ex.dart)
- Duplicated block (16 lines × 3) (lib/routes/animation_animations_pkg_ex.dart)
- Duplicated block (16–17 lines × 2) (lib/routes/animation_animations_pkg_ex.dart)
- Duplicated block (16–17 lines × 3) (lib/routes/growth_my_other_apps.dart)
- Duplicated block (16–18 lines × 2) (lib/routes/monetization_interstitial_ad_ex.dart)
- Duplicated block (18 lines × 2) (lib/routes/nav_dialogs_ex.dart)
- Duplicated block (18 lines × 2) (lib/routes/persistence_sembast_ex.dart)
- Duplicated block (18 lines × 2) (lib/routes/state_inherited_widget_ex.dart)
- Duplicated block (18 lines × 3) (lib/routes/aiml_chatgpt_ex.dart)
- Duplicated block (18–19 lines × 2) (lib/routes/aiml_chatgpt_ex.dart)
- Duplicated block (20–21 lines × 3) (lib/routes/feature_store_secrets.dart)
- …and 77 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
X-Wei/flutter_catalog was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 23 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 194564165ff45a1f56c922f859466a34d71d26c5 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-955b9cee9818.