Todo App with Flutter and Riverpod

Tech Stack
Overview
This Todo app is a clean implementation of task management built with Flutter and Riverpod for state management. It goes beyond a basic todo list — supporting full CRUD operations, task categorization with color-coded labels, priority levels, due dates with overdue highlighting, swipe-to-complete and swipe-to-delete gestures, and persistent local storage. The architecture follows Riverpod best practices with StateNotifierProvider for the todo list, separate providers for filtered/sorted views, and proper dependency injection throughout. The project serves as a reference implementation for Riverpod state management patterns, demonstrating how to structure a real-world Flutter app with reactive state, derived state, and side effects handled cleanly.
Challenges
- •Structuring Riverpod providers correctly to support multiple derived views (filtered by category, sorted by priority, search results) from a single source of truth
- •Implementing smooth swipe gestures for complete/delete actions with undo capability, without conflicting with the list's scroll behavior
Solutions
- •Created a layered provider architecture: a core StateNotifierProvider holds the canonical todo list, with separate Provider instances for each filtered/sorted view that automatically recompute when the source changes
- •Used Dismissible widget with custom background builders for swipe actions, combined with a SnackBar-based undo system that temporarily holds deleted items and restores them if undo is tapped before timeout
Results
State management demonstration using Riverpod