to-do list - Google Play Store
- Clone repository to your device
$ git clone https://github.com/dev-hippo-an/flutter_todo.git
- Firebase project initialize. Visit Firebase Console and create your own project to run clone to-do list project.
- Install required tools
$ firebase login $ dart pub global activate flutterfire_cli
- Configure firebase project on project terminal
$ flutterfire configure # tick android and ios
Or you can simply follow along steps on firebase official document
As beginner of Flutter and Dart, this project is stared to learn effectively Flutter and Dart. While working on this project, I tried to focus on what I needed and wanted to learn.
- Layout widgets without overflow
- Understanding flutter widget and layout
- State management using Provider
- Dependency injection with GetIt
- State management with Provider
- Actively utilize firebase
- Authentication with firebase auth
- Data store with firebase firestore
- File store with firebase storage
Domain | Feature | Complete |
---|---|---|
User | Email Login / Email Sign Up | ✅ / ✅ |
Google Login / Google Sign Up | ✅ / ✅ | |
Persist User Data | ✅ | |
Profile Update | ||
profile photo pick | ||
Category | create / edit / delete / star | ✅ / ✅ / ✅ / ✅ |
List State Management | ✅ | |
hide & seen | ✅ | |
Task | create | ✅ |
subtask | ✅ | |
realtime editing | ||
temp delete / perm delete (infinity scroll) | ✅ / ✅ | |
star (infinity scroll) | ✅ | |
Main Task List State Management | ✅ | |
notify | ||
repeat | ||
Calendar View | Mark on Calendar | ✅ |
Calendar view | ✅ | |
Selected date task list | ✅ | |
Statics | Task statics completed task | ✅ |
Share my statics |
- table_calendar - easily implement calendar widget
- intl - format date and internalization
- go_router - path based route
- provider - state management
- uuid - generate unique key
- flutter_slidable - easily implement to slidable widget
- image_picker - native image picking
- cloud_firestore - firestore database
- firebase_core - configuration firebase
- firebase_auth - authentication (email)
- firebase_storage - store files
- google_sign_in - google sign in
- flutter_signin_button - easily implement standard sign in button
- get_it - dependency injection
- avatar_glow - easily implement glow animation
- fl_chart - easily implement flutter charts