devmuaz/flutter-clean-architecture
47.6
Weak · 21 September 2026
927
lines of production code
Dart
primary language
4
measurements over time
What this system is
Behavioural changes
Restructured app with clean architecture, local/remote data sources, and UI views
The app was restructured to implement a clean architecture with separate local and remote data sources. Local data is now persisted via a Floor database (app\_database) with an ArticleDao for saving and removing articles. Remote data is fetched via a Retrofit-generated NewsApiService that calls the NewsAPI /top-headlines endpoint. Repository implementations (ApiRepositoryImpl and DatabaseRepositoryImpl) wrap these data sources, and cubits (RemoteArticlesCubit, LocalArticlesCubit) manage state for fetching and saving articles. The UI now includes BreakingNewsView, ArticleDetailsView, and SavedArticlesView, with routing handled by auto\_route. The previous manual router and base repository were removed, and the theme was updated to use a ColorScheme.
lib/src · high confidence
Updated Android build configuration and launch theming
The Android project has been updated to use Gradle 7.5 and modernizes the app's launch behavior. The AndroidManifest.xml now uses the application name variable and explicitly sets the main activity as exported, while removing the deprecated FlutterApplication class and splash screen metadata. Additionally, the app's light and dark mode themes have been updated to use the system's background color, and a new launch background XML is introduced to support the updated theming.
android · high confidence
iOS minimum deployment target raised to 11.0 and app architecture updated to use BLoC state management
The iOS minimum deployment target has been increased from 8.0/9.0 to 11.0, requiring iOS 11 or later for the app to run. Additionally, the application's architecture has been refactored to use the BLoC pattern for state management. The app now initializes dependencies, provides \LocalArticlesCubit\ and \RemoteArticlesCubit\ via \MultiBlocProvider\, and utilizes \OKToast\ for user feedback, replacing the previous \MaterialApp\ setup.
ios, lib · high confidence
Test coverage
Removed default Flutter widget test template
The default Flutter widget test template in test/widget\_test.dart has been removed, leaving the file with an empty main function. This change eliminates the boilerplate smoke test for a counter widget, indicating a shift in the project's testing strategy or structure.
test · high confidence
Dependencies
Updated Flutter project dependencies and build configurations
The project's dependencies have been updated, including significant version bumps for the Dart analyzer (to 5.5.0), build runner (to 2.3.3), and Flutter BLoC (to 8.1.2). The pubspec.yaml was also updated to reflect the new package names and versions, such as adding 'auto\_route' and 'awesome\_dio\_interceptor'. Additionally, the Android build configuration was modified to use Flutter's default SDK and NDK versions, and the iOS platform minimum version was raised to 11.0.
(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
Score
- CAI 53 → 48 (-5.0)
- Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 100 → 93 (-7.5)
- Maturity 56 → 60 (+3.6)
- Readiness 24 → 12 (-12.2)
- Security 91 → 93 (+2.2)
- Domain Modelling 100 → 100 (+0.0)
Resolved (10)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- High CVE: [GHSA redacted] (pubspec.lock)
- No exposed public API
- Test reliability not included
- The README claims to cover the full architecture but only shows a single screen demo and links to Medium articles, with no architecture or design documentation present. (README.md)
- complexity unreadable for .dart, .kt, .swift — churn × complexity hotspots could not be measured
- early-stage repository — too few commits for a meaningful bus factor
- early-stage repository — too little history to judge knowledge freshness
- git history depth insufficient
New (7)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- High CVE: [GHSA redacted] (pubspec.lock)
- Leaked secret: high-entropy-secret (lib/src/utils/constants/strings.dart)
- No ADRs found
- Secret: generic-api-key (lib/src/core/utils/constants.dart)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
devmuaz/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 6cd60386516d69ebfdd61609498c5601dde29b46 — 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.