Create a To-do List Flutter app managing CRUD with Firebase, using RiverPod as state management and dependency injection
- To execute the app, you have to Firebase Project already created.
- Create an app in Firebase for Android iOS, Web and Desktop (Mac) with the existing project.
- For Android you must rename the bundle Id on
app/build.gradle
. - For iOS in XCode IDE, you select
Runner
and change the 'Bundle Identifier' text. - For Web, you must follow this link
- For Desktop for Mac in XCode IDE, you select
Runner
and change the 'Bundle Identifier' text.
- For Android you must rename the bundle Id on
- Clone this project.
- In Android, set
google-services.json
file inapp
folder. - In iOS, set
GoogleServices-Info.plist
file inRunner
folder. - In Web, you must follow this link
- In Desktop for Mac, set
GoogleServices-Info.plist
file inRunner
folder. - Run project and enjoy 😄
├── categories
├── id (generated)
├── emoji (String)
├── name (String)
├── todoSize (Number)
├── todos
├── id (generated)
├── categoryId (String)
├── finalDate (Number)
├── isCompleted (Boolean)
├── subject (String)
- Firebase (firebase_core, cloud_firestore)
- Equatable (equatable)
- Hooks (flutter_hooks)
- Riverpod (hooks_riverpod)
- Flutter Emoji (flutter_emoji)
- Flutter Slidable (flutter_slidable)
- Intl (intl)
- Json Annotation (json_annotation)
- UUID (uuid)
- Freezed (freezed, freezed_annotation)
- Json Serializable (json_serializable)
- Mocktail (mocktail)
- Mockito (mockito)
- Very Good Analysis (very_good_analysis)
Mockito Null Safety recipe link