A demo Todo application built with Flutter and Riverpod, demonstrating real-world state management patterns and best practices. This repository accompanies the comprehensive tutorial series on Master Riverpod in Flutter.
- Complete CRUD operations with optimistic updates
- Local persistence using Hive
- Clean Architecture with Repository pattern
- Advanced error handling and retry logic
- Pull-to-refresh functionality
- Filter todos by status (All, Active, Completed)
- Type-safe state management with code generation
- Clone the repository
git clone https://github.com/haaris94/riverpod_todo.git
- Install dependencies
flutter pub get
- Run code generation
dart run build_runner build
- Run the app
flutter run
This repository is part of a comprehensive Riverpod tutorial series:
- Part 1: Master Riverpod - Core concepts and fundamentals
- Part 2: Building a Todo App - Practical implementation
lib/
├── data/
│ ├── model/
│ │ └── todo.dart
│ └── repositories/
│ └── todos_repository.dart
├── features/
│ └── todos/
│ ├── providers/
│ │ └── todos_provider.dart
│ └── view/
│ └── todos_screen.dart
└── main.dart
- Proper state management with
AsyncNotifierProvider
- Repository pattern implementation
- Error handling and loading states
- Optimistic updates for better UX
- Code organization and architecture
- Type-safe code generation
If you found this tutorial helpful, consider giving it a star! It helps others discover this resource and motivates me to create more educational content.
This project is licensed under the MIT License - see the full license text for details. Copyright (c) 2024-present Ayaan Haaris.