A beautiful, modern, and feature-rich To-Do application built with Flutter. Stay organized and boost your productivity with this intuitive task management app.
- 🎯 Create Tasks - Add new tasks quickly with a beautiful dialog interface
- ✅ Mark Complete - Toggle task completion with checkboxes
- 🗑️ Swipe to Delete - Intuitive swipe gesture to remove tasks (right-to-left)
- 💾 Local Persistence - All tasks are saved locally using Hive database
- 🎨 Modern UI - Clean, blue-themed interface with smooth animations
- 🚀 Landing Page - Beautiful animated splash screen with app logo
- 📱 Cross-Platform - Works on iOS, Android, Web, macOS, Linux, and Windows
- ⚡ Fast Performance - Lightweight and optimized for smooth user experience
- Animated logo with fade-in and scale effects
- Auto-navigation to home page after 3 seconds
- Tap anywhere to skip and go directly to tasks
- Clean list view of all your tasks
- Blue-themed UI
- Floating action button for quick task creation
- Swipe right-to-left to reveal delete option with red background
Before you begin, ensure you have the following installed:
- Flutter SDK (3.10.4 or higher)
- Check installation:
flutter --version - Install Flutter
- Check installation:
- Dart SDK (comes with Flutter)
- iOS Simulator (for iOS development) or Android Emulator (for Android development)
- Xcode (for iOS development on macOS)
- Android Studio (for Android development)
-
Clone the repository
git clone https://github.com/Luchitha7/To-do_Flutter.git cd To-do_Flutter -
Install dependencies
flutter pub get
-
Run the app
flutter run
Or specify a device:
flutter run -d <device-id>
-
Build for production
# Android flutter build apk --release # iOS flutter build ios --release
lib/
├── main.dart # App entry point, Hive initialization
├── data/
│ └── database.dart # Hive database operations (CRUD)
├── pages/
│ ├── landing_page.dart # Animated splash/landing screen
│ └── home_page.dart # Main page with task list
└── util/
├── todo_tile.dart # Individual task item widget
├── dialog_box.dart # Add new task dialog
└── my_button.dart # Custom button component
assets/
└── images/
└── logo.png # App logo
screenshots/ # Screenshots for README
├── landing.png
├── home.png
├── new_task.png # New task screen
└── code.png # Code screenshot
- Flutter - Cross-platform UI framework
- Dart - Programming language
- Hive - Fast, lightweight NoSQL database for local storage
- Material Design - UI components and design system
- Tap the "Add task" floating action button
- Enter your task in the dialog
- Tap "Save" or press Enter
- Your task appears in the list immediately
- Tap the checkbox next to any task
- Completed tasks show a strikethrough effect
- Task state is automatically saved
- Swipe a task from right to left
- A red background with trash icon appears
- Release to delete the task
- Task is permanently removed and saved
- All tasks are automatically saved to local storage
- Tasks persist between app sessions
- No internet connection required
Edit the color values in:
lib/pages/home_page.dart- Main background and app bar colorslib/pages/landing_page.dart- Landing page backgroundlib/util/dialog_box.dart- Dialog styling
In lib/pages/landing_page.dart, change the delay:
Future.delayed(const Duration(seconds: 3), () { // Change 3 to your desired secondsIssue: "Target native_assets required define SdkRoot"
- This is a known Flutter tooling warning on iOS
- The app should still run correctly
- Try:
flutter clean && flutter pub get
Issue: Assets not loading
- Ensure
pubspec.yamlincludes:flutter: assets: - assets/images/
- Run
flutter pub getafter adding assets
Issue: Hive box errors
- Ensure Hive is initialized in
main.dartbeforerunApp() - Check that
await Hive.initFlutter()is called
- Cloud sync (Firebase/Supabase integration)
- Task categories and tags
- Due dates and reminders
- Task priority levels
- Dark mode support
- Search functionality
- Task sorting options
- Export/Import tasks
- Multi-language support
Contributions are welcome! Please feel free to submit a Pull Request.
- 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 open source and available under the MIT License.
Luchitha Jayawardena
- GitHub: @Luchitha7
- Flutter team for the amazing framework
- Hive package developers for the lightweight database solution
- Material Design for the UI guidelines



