A modern, feature-rich Todo application built with Flutter, showcasing best practices in mobile app development.
- π± Clean, modern UI with Material Design 3
- π₯οΈ Cross-platform support (Web, Android, macOS)
- π¨ Dynamic theme support (Light/Dark mode)
- πΎ Local persistence using Hive
- π Task grouping and organization
- β©οΈ Undo/Redo support for actions
- β‘ Fast and responsive animations
- π State management with Riverpod
Get the latest version of the app:
Platform | Architecture | Devices |
---|---|---|
Android | arm64-v8a | Most modern Android devices (2017+) |
Android | armeabi-v7a | Older Android devices |
Android | x86_64 | Android emulators & Chrome OS |
macOS | Universal | Apple Silicon & Intel Macs |
Web | All | Any modern web browser |
- Clone the repository
git clone https://github.com/sagarshende23/riverpod-todo-app.git
- Get Flutter packages
flutter pub get
- Run the app
flutter run
This app is automatically deployed to GitHub Pages using GitHub Actions. The deployment workflow:
- Triggers on push to main branch
- Sets up Flutter environment
- Enables web support
- Builds the web app
- Deploys to GitHub Pages
To deploy to your own GitHub Pages:
- Fork this repository
- Go to repository Settings > Pages
- Set Source to "GitHub Actions"
- Push changes to main branch
- Check Actions tab for deployment status
- Access your app at
https://sagarshende23.github.io/riverpod-todo-app
The app follows a feature-first architecture with clean separation of concerns:
lib/
βββ src/
β βββ common/
β β βββ constants/
β β βββ providers/
β β βββ theme/
β βββ features/
β βββ todo/
β βββ domain/
β β βββ models/
β βββ presentation/
β β βββ providers/
β β βββ screens/
β β βββ widgets/
βββ main.dart
- Flutter
- Riverpod for state management
- Hive for local storage
- Material Design 3
-
Prerequisites
- Flutter (latest version)
- Dart SDK
- Android Studio / VS Code
-
Installation
# Clone the repository git clone https://github.com/sagarshende23/riverpod-todo-app.git # Navigate to project directory cd riverpod-todo-app # Get dependencies flutter pub get # Run the app flutter run
-
Build
# Generate Hive adapters flutter pub run build_runner build --delete-conflicting-outputs
flutter_riverpod: ^2.4.9
hive: ^2.2.3
hive_flutter: ^1.1.0
- Create, update, and delete tasks
- Mark tasks as complete/incomplete
- Group tasks by category
- Undo deleted tasks
- Smooth animations
- Intuitive gestures
- Responsive design
- Error handling with user feedback
- Local storage using Hive
- Automatic state persistence
- Fast data access
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Flutter team for the amazing framework
- Riverpod for state management
- Hive for local storage solution