Open When - An Expo + Firebase Firestore Platform


#1

Huge shoutout to the Expo & Firebase Firestore team!

I don’t think I’ve ever had an easier time building a product than when I used both of these two platforms together.

Open When is a platform for exchanging quotes, advice, and life experiences.

Time spent fighting XCode/Android Studios: 0
Time spent linking libraries: 0
Time spent writing server-side code: 0
Time from project start to App Store release: 2 weeks
If this is the future of mobile development, I’m a big fan.

==Features==
-Animations
-Real-time commenting
-Pagination
-Sharing
-Voting
-Feed Filtering


#2

This is great! Congrats on building this! Do you have an Expo link so we could try this project? Or a link to the app in the app stores?


#3

Whoops meant to include that. Here it is:

Open When- Community Letters:


#4

Is Firestore supported by Expo?


#5

Yeah! And it is incredible…


#6

Do I have to eject my app? Also did you link Firebase Auth and Firestore?


#7

Nope. Not required. See my firebase.js:

const firebase = require("firebase");
require("firebase/firestore");

//Initializing firebase firestore
firebase.initializeApp({
    apiKey: "XXXXX",
    authDomain: "XXXX.firebaseapp.com",
    databaseURL: "https://XXXXX.firebaseio.com",
    projectId: "XXXXX",
    storageBucket: "XXXXX.appspot.com",
    messagingSenderId: "XXXXX"
});

export default firebase;


#8

Import like this:

import firebase from './Firebase';

var db = firebase.firestore();


#9

Thank man :slightly_smiling_face:, I will look into it…


#10

You sold us mate.
This is pretty impressive.
Now I am really gonna jump onto this :slight_smile:


#11

can show more example on the code? i thought expo cant support it as we need to eject out for https://github.com/invertase/react-native-firebase


#12

React-native-firebase is a great library, but not necessary for Firestore.


#13

what versions are you using? because I can`t seem to make it work… at all


#14

I tried this, too - firestore works in Expo very easily as ishbaid said. But, as far as I can see, offline persistence is not implemented. If I specify ‘firebase.firestore().enablePersistence();’ I get a warning ‘Error enabling offline storage. Falling back to storage disabled: FirebaseError: [code=unimplemented]: This platform is either missing IndexedDB or is known to have an incomplete implementation. Offline persistence has been disabled.’


#15

Are you guys using ios or android? because on android I simply get no output at all… even on console.log… damn…


#16

Here is an example of using Firebase with Expo:
https://snack.expo.io/HJ1Wjg95Z


#17

yup… it works with RTDB for me too… that´s what I am using.

I can’t seem to get Firestore to work though…

I will create some code and share here… BRB


#18

calling this:
var db = firebase.firestore();
var citiesRef = db.collection(“cities”);

citiesRef.doc("SF").set({
    name: "San Francisco", state: "CA", country: "USA",
    capital: false, population: 860000 });
citiesRef.doc("LA").set({
    name: "Los Angeles", state: "CA", country: "USA",
    capital: false, population: 3900000 });
citiesRef.doc("DC").set({
    name: "Washington, D.C.", state: null, country: "USA",
    capital: true, population: 680000 });
citiesRef.doc("TOK").set({
    name: "Tokyo", state: "null", country: "Japan",
    capital: true, population: 9000000 });
citiesRef.doc("BJ").set({
    name: "Beijing", state: null, country: "China",
    capital: true, population: 21500000 });

gets this error:
Module RCTDeviceEventEmitter is not a registered callable module (calling emit)


#19

Hi @fweffort

Did you manage to get it working?

I’m having the same problem. I got firebase authentication working without any trouble, but can’t get firestore to work.

I saw your StackOverflow post and I’m getting the same thing: nothing.

I tried the suggestion that I install “@firebase/firestore” but that didn’t help.

(I’m testing on Android)

Any help is appreciated.


#20

nope. still not working for me. :frowning:
i am usina rtdb meanwhilr