Originally published on bendyworks.com.
After a user signs in with Google and registers, their info needs to be saved to a databasee. I'm going to use Firebase Firestore as my backend. Within the birb
codebase I'm going to create a server
directory and initialize a Firestore project inside it using firebase-tools.
$ firebase init ######## #### ######## ######## ######## ### ###### ######## ## ## ## ## ## ## ## ## ## ## ## ###### ## ######## ###### ######## ######### ###### ###### ## ## ## ## ## ## ## ## ## ## ## ## #### ## ## ######## ######## ## ## ###### ######## You're about to initialize a Firebase project in this directory: /home/abraham/Development/birb ? Which Firebase CLI features do you want to setup for this folder? Press Space to select features, then Enter to confirm your choices. ◯ Database: Deploy Firebase Realtime Database Rules ❯◉ Firestore: Deploy rules and create indexes for Firestore ◯ Functions: Configure and deploy Cloud Functions ◯ Hosting: Configure and deploy Firebase Hosting sites ◯ Storage: Deploy Cloud Storage security rules ~~~ I choose the [same Firebase project](https://bendyworks.com/blog/a-month-of-flutter-configure-sign-in-with-google-android) being used for authentication, the default Firestore Rules file, and the default Firestore indexes file. By default `.firebaserc` is not `.gitignored`. I have added my `.firebasrc` to `.gitignore` because this is an open source project. Anyone who forks Birb will need to set up their own Firebase project. In the Firebase console I will now enable Firestore for the project.  Here are the default `firestore.rules` that just say don't allow reads or writes.{% raw %} ~~~js service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write: if false; } } } ~~~{% endraw %} Deploying the rules is handled with the [firebase-tools Node package](https://www.npmjs.com/package/firebase-tools).{% raw %} ~~~bash $ npx firebase deploy === Deploying to 'birb-app-dev'... i deploying firestore i firestore: checking firestore.rules for compilation errors... i firestore: reading indexes from firestore.indexes.json... ✔ firestore: rules file firestore.rules compiled successfully i firestore: uploading rules firestore.rules... ✔ firestore: deployed indexes in firestore.indexes.json successfully ✔ firestore: released rules firestore.rules to cloud.firestore ✔ Deploy complete! Project Console: https://console.firebase.google.com/project/birb-app-dev/overview ~~~{% endraw %} Installing the [{% raw %}`cloud_firestore`{% endraw %} package](https://pub.dartlang.org/packages/cloud_firestore) in {% raw %}`pubspec.yaml`{% endraw %} happens last. Before integrating with the Flutter code, I'm going to write some rules with so come back soon for that article. ## Code changes - [#57 Add Firestore](https://github.com/abraham/birb/pull/57)
Top comments (2)
Phew! Thanks for your write ups! The TDD is amazing
Glad you are enjoying them!