otocampos / crud_todo_app

Create a To-do List Flutter app managing CRUD with Firebase, using RiverPod as state management and dependency injection

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Flutter Β· CRUD TODO App

Coverage

Create a To-do List Flutter app managing CRUD with Firebase, using RiverPod as state management and dependency injection.

Getting Started (Firebase)

  • 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.

Getting Started (Flutter)

  • Clone this project.
  • In Android, set google-services.json file in app folder.
  • In iOS, set GoogleServices-Info.plist file in Runner folder.
  • In Web, you must follow this link
  • In Desktop for Mac, set GoogleServices-Info.plist file in Runner folder.
  • Run project and enjoy πŸ˜„

Firebase Scheme

β”œβ”€β”€ categories
  β”œβ”€β”€ id (generated)
    β”œβ”€β”€ emoji (String)
    β”œβ”€β”€ name (String)
    β”œβ”€β”€ todoSize (Number)

β”œβ”€β”€ todos
  β”œβ”€β”€ id (generated)
    β”œβ”€β”€ categoryId (String)
    β”œβ”€β”€ finalDate (Number)
    β”œβ”€β”€ isCompleted (Boolean)
    β”œβ”€β”€ subject (String)

Navigator 2.0

Actually the project has been implemented with Navigator 2.0 or Route API.

Deep linking

For using deep links with flutter without any packages, review this link

Run deep links in iOS, use the command below:

xcrun simctl openurl booted crudtodoapp://crudtodoexample.com/categories/{categoryId}/todo/{todoId}

Run deep links in Android, use the command below:

~/Library/Android/sdk/platform-tools/adb shell am start -a android.intent.action.VIEW \ -c android.intent.category.BROWSABLE \ -d crudtodoapp://crudtodoexample.com/categories/{categoryId}/todo/{todoId}

Responsive and Adaptive

This To-do app project uses responsive and adaptive principles to use it on different screen sizes and any devices, like mobile phones, tablets, computers, notebooks, etc.

Used packages


Dependencies

Dev dependencies


Help mockito reference

Mockito Null Safety recipe link

About

Create a To-do List Flutter app managing CRUD with Firebase, using RiverPod as state management and dependency injection

License:GNU General Public License v3.0


Languages

Language:Dart 95.6%Language:HTML 1.9%Language:Ruby 1.4%Language:Swift 0.8%Language:Shell 0.1%Language:Kotlin 0.1%Language:Objective-C 0.0%