Home
Softono
firebase-expo-demo

firebase-expo-demo

Open source TypeScript
19
Stars
1
Forks
0
Issues
2
Watchers
4 months
Last Commit

About firebase-expo-demo

NestJS+Firebase Functions+React Native Expo demo

Platforms

Web Self-hosted

Languages

TypeScript

Firebase with Expo (Native & Web)

This app shows how to use Firebase with Expo on both native and web. It's a companion project for my blog and YouTube tutorials regarding firebase. Each chapter follows a lecture, and I'll update it as I release new content. I have ideas for future chapters, but I'm open to suggestions. Let me know what you'd like to see.

Get started

  • Get Firebase config

    • Go to the Firebase Console
    • Create a new project
    • Add a web/android/ios app
    • Copy the config object - for Android it's google-services.json, for iOS it's GoogleService-Info.plist.
    • Web related firebase config should be configured through environment variables, in the .env file.
  • Install dependencies

     npm install
  • Start the app

      npm run android # or npm run ios

Chapters

If you're interested in a particular tutorial, I'd suggest selecting into a tagged commit, chapters below. As I add new chapters, I refactor and sometimes something older might not work, like react native web if I forget to polyfill it. If you notice anything buggy, please report in Issues

  1. Getting started - configuring firebase for expo go, native and web.
  2. Analytics - tracking user events
  3. Google login
  4. Monetize app with subscriptions
  5. Set up Crashlytics and Sentry
  6. Enable Push notifications - Expo
  7. Send Push notifications from NestJS
  8. Add Google Login to NestJS Swagger UI
  9. Web Push Notifications
  10. Real time updates with Websockets and NestJS
  11. Apple login

About Expo Go

In my earlier articles, I did support Expo Go, but I decided to remove it. Personally, I don't use it, I use either native builds or bundled development client builds. Expo Go doesn't support native modules, so I don't see the point in using it.