All Projects â†’ EvanBacon â†’ Expo Native Firebase

EvanBacon / Expo Native Firebase

đŸ”Ĩ Native Firebase Expo App (iOS, Android) Demo for Firestore, Notifications, Analytics, Storage, Messaging, Database 🚨

Programming Languages

javascript
184084 projects - #8 most used programming language
java
68154 projects - #9 most used programming language
es6
455 projects

Projects that are alternatives of or similar to Expo Native Firebase

Pillar Valley
👾A cross-platform video game built with Expo, three.js, and Firebase! 🎮🕹
Stars: ✭ 242 (+22.84%)
Mutual labels:  firebase, tutorial, cross-platform, expo, social-network, app, react-navigation
Expo Three Demo
🍎👩‍đŸĢ Collection of Demos for THREE.js in Expo!
Stars: ✭ 76 (-61.42%)
Mutual labels:  tutorial, expo, boilerplate, template
Expo Crossy Road
đŸĨ🚙 Crossy Road game clone made in Expo (iOS, Android, web), THREE.js, Tween, React Native. 🐔
Stars: ✭ 701 (+255.84%)
Mutual labels:  tutorial, cross-platform, expo, react-navigation
Firebase Instagram
📸 Instagram clone with Firebase Cloud Firestore, Expo, and React Native 😁😍
Stars: ✭ 389 (+97.46%)
Mutual labels:  firebase, tutorial, expo, social-network
Angularmaterialfirebase
đŸ”Ĩ Full stack starter app with Angular 8, Material Design and Firebase (+ demo)
Stars: ✭ 229 (+16.24%)
Mutual labels:  firebase, firebase-database, boilerplate
React Native Examples
A repo that contain React Native examples most related to tutorials I publish
Stars: ✭ 222 (+12.69%)
Mutual labels:  firebase, expo, react-navigation
React Firebase Admin
React ⚛ī¸ starter kit with Firebase đŸ”Ĩ and Bulma for setting up an admin dashboard - Highly scalable, PWA, Serverless
Stars: ✭ 232 (+17.77%)
Mutual labels:  firebase, boilerplate, template
React Social Network
Simple React Social Network
Stars: ✭ 409 (+107.61%)
Mutual labels:  firebase, social-network, boilerplate
SocialApp-React-Native
Social Networking mobile app similar to Instagram in React Native.
Stars: ✭ 79 (-59.9%)
Mutual labels:  react-navigation, social-network, expo
Web
⚡ī¸ Supercharged version of Create React App with all the bells and whistles.
Stars: ✭ 594 (+201.52%)
Mutual labels:  firebase, boilerplate, template
Whatsup
**Deprecated** Real time chat app written in Swift 4 using Firebase and OTP Authentication
Stars: ✭ 39 (-80.2%)
Mutual labels:  firebase, firebase-database, social-network
Nativescript App Templates
Monorepo for NativeScript app templates
Stars: ✭ 108 (-45.18%)
Mutual labels:  quickstart, app, template
Expo Firebase Starter
đŸ”Ĩ⚛ī¸đŸ“ą Expo + Firebase Starter Kit
Stars: ✭ 199 (+1.02%)
Mutual labels:  firebase, expo, react-navigation
React Native Boilerplate
A React Native boilerplate with Expo, Redux, React Navigation, Styled Components and some 💕 included.
Stars: ✭ 135 (-31.47%)
Mutual labels:  expo, boilerplate, react-navigation
Electron Boilerplate
Boilerplate to kickstart creating an app with Electron
Stars: ✭ 1,560 (+691.88%)
Mutual labels:  boilerplate, app, template
Automatic Gatsbyjs App Landing Page
Automatic GatsbyJS App Landing Page - Automatically generate iOS app landing page using GatsbyJS
Stars: ✭ 137 (-30.46%)
Mutual labels:  boilerplate, app, template
Event Sourcing Microservices Example
Learn about building microservices with event sourcing using Spring Boot and how to deploy a social network to Kubernetes using Docker Compose or Helm.
Stars: ✭ 167 (-15.23%)
Mutual labels:  tutorial, social-network
Todomvc App Css
CSS for TodoMVC apps
Stars: ✭ 160 (-18.78%)
Mutual labels:  app, template
Electron Next Skeleton
An example Electron app built with Next.js
Stars: ✭ 168 (-14.72%)
Mutual labels:  boilerplate, template
Expo Voxel
🎮đŸŒŗ Voxel Terrain made in React Native. ∛
Stars: ✭ 169 (-14.21%)
Mutual labels:  cross-platform, expo

Expo Firebase đŸ”Ĩ

Bare-Workflow with Native Firebase Tutorial / Boiler Plate

📔 Posts

Follow me on Twitter for updates on native Firebase changes coming to Expo.

Deprecated: Using Firebase In Expo

📖 Tutorial

This tutorial is targeted at Expo v36 and react-native-firebase v6.

Project Setup

  • Create a new Bare-workflow project
    • Native Firebase isn't supported in the custom Expo workflow yet.
  • Ensure your ios/Podfile has the following lines:
    # At the top of the file
    require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
    require_relative '../node_modules/react-native-unimodules/cocoapods'
    
    # ...
    
    # Automatically detect installed unimodules
    use_unimodules!
    
    # The community version of use_unimodules (used for react-native-firebase)
    use_native_modules!
    
  • Setup React Native firebase for iOS: guide
  • Setup React Native firebase for Android: guide

đŸ’ģ Usage

Now you should be able to use all of React Native Firebase with Expo Unimodules. You can run this project in the client with expo start but the native code for Firebase won't be available, so it won't work as expected.

🍎 Guides

Note: These aren't great guides 😅

Sign-In with Facebook

  • Install the packages:
    • Install the Firebase auth package with yarn add @react-native-firebase/auth
    • Install the native package with expo install expo-facebook or yarn add expo-facebook
    • Then run cd ios && pod install
    • Start the project again with npx react-native run-ios
  • Setup the project in your Facebook developer console: Guide
  • Go to the Firebase console and open the "Auth" tab, then toggle the Facebook authentication and fill in the values with your FB auth credentials.
  • Now you can use the following to authenticate with Facebook:
// Import a firebase auth package
import auth from '@react-native-firebase/auth';
// Import the universal Facebook package
import * as Facebook from 'expo-facebook';
import { Alert } from 'react-native';

async function signInAsync() {
  try {
    // Setup the app
    await Facebook.initializeAsync('YOUR_ID')

    // Open the Facebook redirect...
    const {
      type,
      token,
    } = await Facebook.logInWithReadPermissionsAsync({
      permissions: ['public_profile'],
    });

    if (type === 'success') {
      // create a new firebase credential with the token
      const credential = auth.FacebookAuthProvider.credential(token);
      // login with credential
      await auth().signInWithCredential(credential);
      // Get the user's name using Facebook's Graph API
      // const response = await fetch(`https://graph.facebook.com/me?access_token=${token}`);
    } else {
      // type === 'cancel'
      // The user cancelled, usually you'll do nothing but sometimes you might want to post this to your analytics
    }
  } catch ({ message }) {
    Alert.alert(message);
  }
}

Uploading Images

  • Install the packages:
    • Install the Firebase auth package with yarn add @react-native-firebase/storage
    • Install the native permissions package with expo install expo-permissions or yarn add expo-permissions
    • Install the native media package with expo install expo-image-picker or yarn add expo-image-picker
    • Optionally: I like to reduce the size of my images to save money on server charges. You can do that by installing expo install expo-image-manipulator
    • Then run cd ios && pod install
    • Start the project again with npx react-native run-ios
  • All of the relevant code for uploading, downloading, checking permissions, etc.. can be found in the Profile Image Component (Please open an issue if you require more information about this process!)

📝 Notes

  • react-native-firebase v6 doesn't support Notifications.

đŸŽŦ Video Tutorials

🚨 Deprecated: These videos are for ExpoKit and not the Bare-Workflow, you can still watch them if you wanna see me being awkward though 😅

I put together some videos that you may find helpful 💙 Give them a like if they helped you at all 😇

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].