Backend Services - avaiaco/get-that-bread GitHub Wiki

Backend Services Documentation

Purpose

This document details the configuration and usage of various backend services integrated into the Get That Bread app. These services include Authentication, Database Security, Metrics/Analytics, and Remote Configuration. No Firebase Cloud Functions are currently used in the application.

Authentication

Purpose

Handles user account creation, login, and identity verification to provide a secure and personalized app experience.

Authentication Usage

Firebase Authentication is used to verify user credentials during sign-in and facilitate account creation. It also supports session persistence and UID-based data storage in Firestore.

Authentication Methods

Email/Password:

  • Users create accounts using their email address and a secure password. This allows them to log in from any device and access their stored data consistently.

Custom Authentication Rules

There are no custom rules beyond the standard Firebase Authentication flow. Access to data is restricted based on UID via Firestore security rules.

Cloud Functions

No Firebase Cloud Functions are currently implemented in Get That Bread. All dynamic data interactions are managed through Firestore and Firebase-integrated logic within FlutterFlow.

Database Security

How/where it is set:

  • Firestore security rules are configured through the Firebase Console and enforced by FlutterFlow’s bindings.

Rules Overview

  • Users can only read/write data associated with their own UID.
  • Money saved and favorited recipes are accessible only to relevant UIDs.
  • No anonymous access is permitted.

Metrics/Analytics

  • Registration Rate - Tracks completed sign-ups vs. visitors - Google Analytics
  • Net Promoter Score (NPS) - Measures likelihood of user recommending the app - In-app survey via custom event
  • Daily Active Users (DAU) - Unique users active daily - Firebase Authentication dashboard
  • Click-Through Rate (CTR) - Measures interaction with onboarding and goal-setting flows - Firebase custom events
  • Goal Completion Rate - Tracks users who finish onboarding/goals - Firebase custom events
  • Time from Last Login - Measures time since user’s last session - Firebase User Properties

Remote Configuration

Remote Config is used for lightweight A/B testing and feature flag management.

Remote Config Usage

The app uses a single Remote Config parameter called altcolor to A/B test visual variants of the Update Profile component. Different user segments see alternate accent colors to determine which design leads to higher engagement.

altcolor: Changes the accent color of the "Update Profile" UI element to assess visual appeal; Update Profile screen.

Configuration:

  • Default value is set to the primary color.
  • Remote Config fetches and activates the value on app launch or page load.
  • Assignment to users is randomized by Firebase and requires no user input.