Skip to content

Instantly share code, notes, and snippets.

@Yiannistaos
Last active October 10, 2023 07:20
Show Gist options
  • Save Yiannistaos/63bab9b333fc49306295e99c50e30987 to your computer and use it in GitHub Desktop.
Save Yiannistaos/63bab9b333fc49306295e99c50e30987 to your computer and use it in GitHub Desktop.
Firebase Investigation

Firebase Investigation - Yiannis Christodoulou (Sep-Oct 2023)

Firebase Notifications (FCM - Firebase Cloud Messaging)

  1. Research Firebase Cloud Messaging capabilities and limitations: Understand the key features and constraints of Firebase Cloud Messaging for mobile notifications. (3d)

  2. Set up Firebase project and integrate with React Native app: Walkthrough on setting up a new Firebase project and linking it to the React Native application. (2d)

  3. Implement Firebase SDK in React Native: Ensure that the Firebase SDK is properly integrated into the React Native app for push notifications.

  4. Configure Notification Channels for Android: Create and manage different notification channels for various content types on Android platforms.

  5. Handle user permissions for notifications: Design a user flow to request and handle push notification permissions, considering both acceptance and denial scenarios.

  6. Test notification delivery across different devices: Ensure notifications are delivered correctly across a range of device types and operating systems.

  7. Handle background and foreground notification interactions: Define behavior for how notifications should be handled when the app is in the background versus the foreground.

  8. Evaluate notification analytics and performance: Utilize Firebase Analytics to gather data on notification performance and user engagement.

Firestore

  1. Introduction to Firestore's data model: Understand the basics of collections, documents, and the hierarchical data structure.

  2. Setup Firestore in the Firebase console: Configure the Firestore database, ensuring correct rules and regional settings.

  3. Integrate Firestore SDK into React Native app: Add the necessary libraries and dependencies to interact with Firestore from the application.

  4. Design Firestore database schema: Define the structure of collections and documents based on the app's data needs.

  5. Implement CRUD operations with Firestore: Develop methods to create, read, update, and delete data in Firestore.

  6. Set up Firestore security rules: Ensure that only authorized users can access and modify data by defining security rules.

  7. Optimize Firestore queries for performance: Research best practices to retrieve data efficiently, avoiding unnecessary reads.

  8. Implement offline data access with Firestore: Ensure the app can access and modify data even when offline, and synchronize when back online.

  9. Handle real-time data updates with Firestore: Utilize Firestore's real-time capabilities to reflect data changes in the app instantly.

  10. Review Firestore usage and cost implications: Monitor the Firestore dashboard to understand read/write operations and potential cost impacts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment