A Flutter mobile application for managing tasks using the Eisenhower Priority Matrix principle.
- Splash Screen: Welcome screen with "Priority Matrix" branding
- 2x2 Priority Grid: Four quadrants based on the Eisenhower Matrix:
- Do It Now (Urgent & Important)
- Plan It (Important, Not Urgent)
- Delegate It (Urgent, Not Important)
- Drop It (Not Urgent, Not Important)
- Task Management:
- Add tasks with matrix type and task name
- Mark tasks as complete with checkbox
- View all tasks with completed tasks shown with strike-through
- Delete tasks
- Matrix Detail Views: View incomplete tasks for each specific matrix quadrant
- Persistent Storage: Uses Hive for local database (no login required)
The app follows Clean Architecture principles with three layers:
- Entities: Core business objects (Task)
- Repository Interfaces: Abstract definitions of data operations
- Models: Data transfer objects with Hive annotations (TaskModel)
- Data Sources: Hive local database implementation
- Repository Implementation: Concrete implementation of repository interfaces
- Screens: UI screens (Splash, Home, Matrix Detail)
- Widgets: Reusable UI components
- Providers: Riverpod state management
- Framework: Flutter
- State Management: Riverpod
- Local Database: Hive
- Architecture: Clean Architecture
lib/
├── core/
│ ├── constants/
│ │ └── matrix_type.dart
│ └── theme/
│ └── app_theme.dart
├── data/
│ ├── datasources/
│ │ └── task_local_datasource.dart
│ ├── models/
│ │ ├── task_model.dart
│ │ └── task_model.g.dart
│ └── repositories/
│ └── task_repository_impl.dart
├── domain/
│ ├── entities/
│ │ └── task.dart
│ └── repositories/
│ └── task_repository.dart
├── presentation/
│ ├── providers/
│ │ └── task_providers.dart
│ ├── screens/
│ │ ├── home/
│ │ │ └── home_screen.dart
│ │ ├── matrix_detail/
│ │ │ └── matrix_detail_screen.dart
│ │ └── splash/
│ │ └── splash_screen.dart
│ └── widgets/
│ ├── add_task_dialog.dart
│ ├── matrix_card.dart
│ └── task_list_item.dart
└── main.dart
- Flutter SDK (>=3.0.0)
- Dart SDK (>=3.0.0)
- Clone the repository
- Install dependencies:
flutter pub get
- Run the app:
flutter run
- Adding a Task: Tap the floating action button (+) on the home screen
- Viewing Matrix Tasks: Tap on any of the four matrix cards to view tasks in that category
- Completing Tasks: Check the checkbox next to a task to mark it as complete
- Deleting Tasks: Tap the delete icon on any task
- Completed tasks are hidden in individual matrix detail screens
- Completed tasks are shown with strike-through text in the "All Tasks" list on the home screen
- Tasks are sorted by completion status and creation date
- No authentication or signup required
This project is open source and available under the MIT License.