A premium, mobile-first task management application built using Flutter, with a strong focus on clean UI/UX, robust state management, and seamless local data persistence.
- ✅ Complete CRUD Support: Create, Read, Update, and Delete tasks.
- 💾 Local Persistence: Powered by Hive for fast and reliable storage across sessions.
- 🔍 Debounced Search with Highlighting (Stretch Goal): Real-time search with highlighted matching text.
- 🎯 Status Filtering: Filter tasks by To-Do, In Progress, and Done.
- 🔗 Task Dependency Logic: Blocked tasks remain disabled until the parent task is completed.
- 📝 Draft Auto-Save: Prevents data loss by restoring unsaved input.
- ⏳ Premium Async UX: Simulated 2-second delay with loading indicator and disabled actions.
Track B – Mobile Specialist (Flutter + Local Database using Hive)
- Debounced Autocomplete Search with Real-Time Highlighting
Each task includes the following fields:
- Title: Task name
- Description: Detailed information
- Due Date: Selected via date picker
- Status:
To-Do,In Progress, orDone - Blocked By: Optional dependency on another task 👉 A task remains disabled until the parent task is marked as Done
Designed with a premium and intuitive user experience:
-
📱 Responsive Layout: Works smoothly across devices
-
🔤 Typography: Clean and modern design using Roboto
-
🎨 Visual Feedback:
- Blocked tasks are greyed out with reduced opacity
- Active tasks are clearly distinguishable
-
🔍 Search Highlighting: Matching text dynamically highlighted
-
⏳ Loading Experience:
- 2-second simulated delay
- Loading indicator shown
- Save button disabled to prevent duplicate actions
- Hive Database: Lightweight and fast NoSQL database
- Type Safety: Custom TypeAdapters for
TaskandTaskStatus - Draft Persistence: Automatically saves in-progress task input and restores it on reopen
- Flutter
- Dart
- Provider (State Management)
- Hive (Local Database)
- Uuid (Unique IDs)
- Intl (Date Formatting)
👉 https://1drv.ms/v/c/F0EC80AB8EC79BC7/IQAGFHatWye9RqZcBA8VfHZUAXDjy-BCdN_YzW_M4gkDSOI?e=ANgKqJ
-
Ensure Flutter is installed
-
Clone this repository
-
Run:
flutter pub get flutter run
This project was built with the assistance of AI tools.
- Usage: Used for initial structure, UI suggestions, and debugging guidance
- Challenge Faced: Incorrect Hive adapter implementation caused runtime errors during enum deserialization
- Solution: Manually debugged and fixed TypeAdapter registration in
main.dartandHiveService - Optimization: Improved debounce logic for better performance and memory safety
- Clean and scalable architecture using Provider
- Strong focus on UI/UX for better user experience
- Real-world problem solving (dependency logic, async handling)