ShadyBoukhary/flutter_clean_architecture
68.1
Adequate · 21 September 2026
2.1k
lines of production code
Dart
primary language
4
measurements over time
What this system is
Features
Add HomePageButton widget for home page interaction
A new HomePageButton widget has been added to the example application. This widget provides a styled button that utilizes a static method to access the HomePageController, allowing child widgets to interact with the controller without relying on the standard Provider.of pattern. The button features a red background, rounded corners, and white text.
example/lib/src/app/widgets · high confidence
Add iOS-optimized web entry point for Flutter Web
A new HTML entry point (index.html) has been added to the example/web directory. This file configures iOS-specific meta tags and icons, including apple-mobile-web-app-capable, status bar style, app title, and theme color, ensuring the Flutter web application renders correctly as a standalone web app on iOS devices.
example/web · medium confidence
Added CLI entry point
A new bin/cli.dart file was added, serving as the command-line interface entry point that delegates to the internal cli.run() function.
bin · high confidence
Added example app and GPS device repository
The example/lib directory now includes a new main.dart entry point for the Flutter Clean Architecture demo, which enables debug mode and sets up the application with a blue theme. Additionally, a new GPSDevice repository class has been added to the device module, providing a placeholder for device or platform-specific repository implementations.
example/lib · high confidence
Added example app data repository implementation
A new example application is included, featuring a data layer implementation for user management. The change introduces a \DataUsersRepository\ class that provides in-memory storage for user entities, serving as a concrete example of how to implement the \UsersRepository\ interface within the example app.
example/lib/src/data · high confidence
Added example domain layer with User entity and use cases
The example application now includes a complete domain layer for managing users. This includes a new User entity, a UsersRepository interface, and two use cases (GetUserUseCase and GetUserFutureUseCase) that interact with the repository to fetch user data. This provides a concrete example of how to structure domain logic using the clean architecture pattern.
example/lib/src/domain · high confidence
Added example project scaffolding and test coverage helper
The example directory now includes a complete project structure with a .gitignore, .metadata, README, and analysis\_options.yaml to support Flutter/Dart development. Additionally, a new test.dart script has been added to generate a coverage\_helper\_test.dart file, which aggregates imports for all Dart files in the lib directory to facilitate test coverage analysis.
example · high confidence
Added home page example with controller, presenter, and view
Added the home page implementation for the example app, introducing a new directory structure under example/lib/src/app/pages/home. This includes HomeController to manage state and business logic, HomePresenter to handle use cases and observers, and HomeView (HomePage) to render the UI using ControlledWidgetBuilder for reactive updates. The example demonstrates fetching user data, handling errors, and managing component lifecycles.
example/lib/src/app/pages · high confidence
Introduce FlutterCleanArchitecture utility class for controllers, breakpoints, and logging
The library now exposes a \FlutterCleanArchitecture\ static utility class that provides three key capabilities for users: a \getController\ method to retrieve a controller from the widget tree (with an optional \listen\ parameter), a \setDefaultViewBreakpoints\ method to customize responsive design breakpoints for Flutter Web, and a \debugModeOn\ method to enable detailed logging. This centralizes access to common patterns like provider-based controller retrieval and responsive configuration.
lib · high confidence
Introduces Clean Architecture scaffolding and background execution support
Adds a CLI tool to generate the default Clean Architecture folder structure and individual page components (Controller, Presenter, View). Introduces the \BackgroundUseCase\ abstract class, enabling expensive operations to run on a separate isolate, and provides the core \Controller\, \Presenter\, \Observer\, and \View\ base classes that facilitate the architecture's layering and state management.
lib/src · high confidence
iOS example app scaffolding added
The iOS example application has been fully initialized with all necessary project files, including the Xcode project configuration, build schemes, and the standard Flutter iOS template structure (AppDelegate, Info.plist, storyboards, and assets). This provides a complete, buildable iOS environment for the example app.
example/ios · high confidence
Behavioural changes
Updated Android example project with modern Gradle and AndroidX configurations
The Android example project has been updated to use Gradle 7.6.3 and modern AndroidX/Flutter V2 embedding conventions. This includes adding the INTERNET permission for development, configuring the main activity with Flutter V2 embedding, and setting up launch themes for both light and dark modes. The project now uses Kotlin for the main activity and includes a .gitignore file to exclude build artifacts and sensitive files like keystores.
example/android · medium confidence
Test coverage
Added initial test suite for the example app; Added test coverage for core architecture components; Added unit tests for User entity and GetUseCase use cases; Added widget test for HomePageButton; Added widget tests for the home page.
Dependencies
Updated example app to Flutter 3.0+ and upgraded dependencies
The example app's Android build configuration was updated to use the new Flutter Gradle plugin and modern Android/Gradle conventions, while the main package's \pubspec.yaml\ was updated to require Dart SDK 3.0.0 or higher. Additionally, dependencies were upgraded, including \rxdart\ to 0.28.0, \provider\ to 6.1.5+1, and \flutter\_lints\ to 3.0.1, with corresponding updates to \pubspec.lock\.
(dependencies) · medium 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 60 → 68 (+8.6)
- Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 99 (-0.6)
- Architecture 100 → 93 (-6.9)
- Maturity 61 → 54 (-7.7)
- Readiness 50 → 63 (+13.7)
- Security 54 → 98 (+43.8)
- Domain Modelling 100 → 100 (+0.0)
Resolved (23)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- 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)
- No exposed public API
- Scanner failed to run — not a clean result
- Test reliability not included
- …and 3 more
New (26)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no usage examples (README.md)
- 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)
- Low cohesion: Controller (LCOM4 5) (lib/src/controller.dart)
- Low cohesion: HomeController (LCOM4 5) (example/lib/src/app/pages/home/home_controller.dart)
- Medium: security finding (details withheld)
- …and 6 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
ShadyBoukhary/flutter_clean_architecture 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 21 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 a2826c3b313e930241329577e1c74f4b1f770c1f — 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-28e75b8e3254.