Firebase project setup

  1. Navigate to google console
  2. Click “add project” and follow on screen instructions. After project is initialized click “Continue” to navigate to project’s Firebase dashboard.
  3. Authentication:
    1. On the left menu click Authentication -> Get Started -> Email/Password
    2. Enable the first option. Let the passwordless option disabled.
  4. Firestore Database:
    1. On the left menu click Firestore Database -> Create Database -> Start in Production Mode
    2. Select a region from the dropdown.
    3. click “Enable”.
  5. Storage:
    1. On the left menu click Storage -> Get Started -> Next
    2. Select a location from the dropdown.
    3. Click Done.
  6. On the left menu click Project Overview -> Project Settings -> Add App.
    1. Android. Choose android app from the options.
      1. The “Android package name” must match your local projects package name which can be found inside of the manifest tag within the /android/app/src/main/AndroidManifest.xml file within your project. It must be the package name you generated at first step of this documentation.
      2. Download the google-services.json file and place it inside of your project at the following location: /android/app/google-services.json.
    2. iOS. Choose iOS app from the options. The “iOS bundle ID” must match your local project bundle ID.
      1. The bundle ID can be found within the “General” tab when opening the project with Xcode. It must be the package name you generated at first step of this documentaion.
      2. Download the GoogleService-Info.plist file.
      3. Using Xcode, open the projects /ios/{projectName}.xcodeproj file (or /ios/{projectName}.xcworkspace if using Pods). Right click on the project name and “Add files” to the project. Select the downloaded GoogleService-Info.plist file from your computer, and ensure the “Copy items if needed” checkbox is enabled.
  7. Collections. 
      1. Navigate to “Firestore Database” inside your project in Firebase console.
      2. For each of the collections found in src/constants/CollectionNames.js, click “Start collection” and add its name (eg properties).
      3. Collection “pricing_plans” holds the pricing plans an agency can choose and must be configured explicitly to have two string fields with names like in following image. You can modify this collection at any time, the mobile app will pick and show your pricing plans dynamically.