mo7amedaliEbaid/tasks-riverpod-clean-arch
64.1
Adequate · 3 August 2026
12.8k
lines of production code
JavaScript
with Dart
3
measurements over time
What this system is
This is a cross-platform task management application built with Flutter, supporting Web, Desktop, and mobile platforms. It features a responsive UI with dark/light theme support and uses SQLite for local data persistence across all target environments. The system manages task creation, updates, and filtering through a structured domain model and state management.
Features
Added SQLite3 Flutter library support on macOS
The macOS build configuration now includes the SQLite3 Flutter library plugin alongside the existing Sqflite plugin. This enables applications to utilize the sqlite3\_flutter\_libs package on macOS, allowing for SQLite3 database operations via that specific plugin implementation.
macos · medium confidence
Added web support for Sqflite
A new file, web/sqflite\_sw.js, has been added to the project. This file contains the compiled JavaScript code required to support Sqflite on web platforms, enabling database functionality in web-based environments.
web · high confidence
New shared utilities for responsive layouts and color themes
The lib/shared directory now includes new files: constants.dart provides predefined color palettes for dark and light card themes, and responsive.dart introduces a Responsive widget and helper methods to detect mobile, tablet, and desktop screen sizes. Additionally, the theme provider has been moved to this shared location.
lib/shared · medium confidence
Behavioural changes
Enable SQLite3 Flutter Libs plugin on Linux and Windows
The generated plugin registrants for the Linux and Windows Flutter platforms have been updated to include the \sqlite3\_flutter\_libs\ plugin. This ensures that the SQLite3 Flutter libraries are properly registered and initialized on these platforms, enabling database functionality within the application.
linux, windows · high confidence
Enable cross-platform database support and update app entry point
The application's main entry point now initializes platform-specific database factories: it uses the web-compatible SQLite factory on the web, and the FFIs-based SQLite factory on Linux, macOS, Windows, and Fuchsia. The app's home screen has been updated from TodoListPage to TasksListPage, and the theme mode is explicitly set to dark mode.
lib · high confidence
Project documentation and configuration updates
The project's README has been significantly expanded to describe the application's features, including support for multiple platforms (Web, Desktop, Android, iOS), responsive design, and state management with Riverpod. The update also includes adding an MIT LICENSE file, updating the Flutter project metadata with a new stable channel revision, and modifying the .gitignore file to exclude additional build artifacts.
(repo-wide) · high confidence
Rebranding from 'Todo' to 'Task' and UI modernization
The application's terminology has been updated from 'Todo' to 'Task' across the user interface, including the main list page, form page, and associated view models. The task list view has been redesigned to display items in a responsive, horizontally scrolling wrap layout with colorful, rounded cards that adapt to light and dark themes. Additionally, a new 'ChipsBarWidget' has been introduced to provide filter options for the task list.
lib/presentation/view · high confidence
Renamed 'Todo' concepts to 'Task' throughout the presentation layer
The presentation layer has been refactored to use 'Task' terminology instead of 'Todo'. This includes renaming viewmodels (e.g., \TaskFormViewModel\, \TaskListViewModel\), updating associated use cases (e.g., \CreateTaskUseCase\), and adjusting internal state and method names (e.g., \addTask\, \updateTask\) to reflect the new domain model.
lib/presentation/viewmodel · high confidence
Renamed application domain from 'Todo' to 'Task' across the entire stack
The application's core domain model has been renamed from 'Todo' to 'Task' to better reflect the app's purpose. This change propagates through the entire architecture: domain models (Task, TaskList, TaskId) and their generated freezed implementations have been updated; data layer components (database interfaces, entity types, mappers) now handle tasks instead of todos; and use cases (CreateTaskUseCase, UpdateTaskUseCase, etc.) have been renamed and updated to reference the new models. The presentation layer's state management has also been updated to use the new Task types. This is a comprehensive refactoring that changes the terminology and internal structure of the app without altering its external behavior.
lib/data, lib/domain, lib/presentation/state · high confidence
iOS project updated to Xcode 15.1 and Swift 5.9 with CocoaPods integration
The iOS project configuration has been updated to support Xcode 15.1 (LastUpgradeCheck 1510) and Swift 5.9. This includes raising the minimum iOS deployment target to 12.0, integrating CocoaPods by adding the Pods project to the workspace and linking generated frameworks, and enabling Swift Package Manager support for Flutter plugins. Additionally, the app entry point in AppDelegate.swift has been modernized to use the @main attribute.
ios · high confidence
Test coverage
Added unit and widget tests for tasks and UI components
Added new test coverage for the application's core logic and UI. This includes unit tests for the \TasksRepository\ and domain use cases (\CreateTaskUsecase\, \DeleteTaskUsecase\, \GetTaskListUsecase\, \UpdateTaskUsecase\), as well as tests for the \TaskList\ model. Additionally, a widget test was added for the \ChipsBarWidget\ to verify rendering and interaction. To support these tests, mock classes were generated for \TasksDatabase\, \TasksRepository\, \State\, \TaskFormViewModel\, \FilterKindViewModel\, and \TaskListViewModel\ using Mockito.
test · high confidence
Dependencies
Updated Dart and iOS dependencies
The project's dependencies have been updated. On the Dart side (pubspec.lock), several packages were downgraded or changed, including analyzer (6.2.0 to 5.13.0), dart\_style (2.3.3 to 2.3.2), and matcher (0.12.15 to 0.12.16+1). New packages such as coverage, ffi, http, and mockito were added. On the iOS side, the Podfile and Podfile.lock were updated to include the isar\_flutter\_libs and Flutter pods, and Swift Package Manager resolved dependencies for csqlite were added.
(dependencies) · 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
Score
- CAI 64 → 64 (+0.0)
- Rubric changed (rubric-2026.08.18 → rubric-2026.08.19) — scores are not directly comparable.
Lenses
- Architecture 100 → 100 (+0.0)
- Maturity 52 → 52 (+0.0)
- Readiness 50 → 50 (+0.0)
- Security 100 → 100 (+0.0)
- Domain Modelling 100 → 100 (+0.0)
Resolved (2)
- Scanner failed to run — not a clean result
- The main README lists tasks, todo, clean architecture, unit/widget tests, MVVM, multi-platform, responsive design, sqflite, riverpod, but no architecture or dependency breakdown (e.g. flutter_riverpod version, freezed_annotation version) is shown. (README.md)
New (1)
- The 'TODO.' section lists 'Improve UI' but no action is taken in the document. (README.md)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
mo7amedaliEbaid/tasks-riverpod-clean-arch 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 3 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit b8f50c5f6cf6993c33dc3cb8272d85cb66d048f4 — the exact code this score is about.
- Scored under rubric-2026.08.19 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer latest.