All Projects โ†’ expo-community โ†’ Expo Firebase Starter

expo-community / Expo Firebase Starter

๐Ÿ”ฅโš›๏ธ๐Ÿ“ฑ Expo + Firebase Starter Kit

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Expo Firebase Starter

React Native Examples
A repo that contain React Native examples most related to tutorials I publish
Stars: โœญ 222 (+11.56%)
Mutual labels:  firebase, firestore, expo, react-navigation
Firebase Instagram
๐Ÿ“ธ Instagram clone with Firebase Cloud Firestore, Expo, and React Native ๐Ÿ˜๐Ÿ˜
Stars: โœญ 389 (+95.48%)
Mutual labels:  firebase, firestore, expo
Expo Native Firebase
๐Ÿ”ฅ Native Firebase Expo App (iOS, Android) Demo for Firestore, Notifications, Analytics, Storage, Messaging, Database ๐Ÿšจ
Stars: โœญ 197 (-1.01%)
Mutual labels:  firebase, expo, react-navigation
Pillar Valley
๐Ÿ‘พA cross-platform video game built with Expo, three.js, and Firebase! ๐ŸŽฎ๐Ÿ•น
Stars: โœญ 242 (+21.61%)
Mutual labels:  firebase, expo, react-navigation
Nativescript Plugin Firebase
๐Ÿ”ฅ NativeScript plugin for Firebase
Stars: โœญ 990 (+397.49%)
Mutual labels:  firebase, firestore, authentication
Chatair Android
๐Ÿ”ฅ A highly advance featured chat app in android using Firestore
Stars: โœญ 132 (-33.67%)
Mutual labels:  firebase, firestore
Nextjs Vercel Firebase
Next.js app using API routes to connect with Firestore.
Stars: โœญ 133 (-33.17%)
Mutual labels:  firebase, firestore
Fluttergram
A fully functional Instagram clone written in Flutter using Firebase / Firestore
Stars: โœญ 1,944 (+876.88%)
Mutual labels:  firebase, firestore
Fireo
Google Cloud Firestore modern and simplest convenient ORM package in Python. FireO is specifically designed for the Google's Firestore
Stars: โœญ 163 (-18.09%)
Mutual labels:  firebase, firestore
Serverless Architectures Aws
The code repository for the Serverless Architectures on AWS book
Stars: โœญ 120 (-39.7%)
Mutual labels:  firebase, authentication
Highlight Utils
My tools for converting, importing, and processing Kindle, Instapaper, and Safari Books highlights
Stars: โœญ 143 (-28.14%)
Mutual labels:  firebase, firestore
React Firestore Authentication
๐Ÿ”ฅBoilerplate Project for Authentication with Firestore in React.
Stars: โœญ 165 (-17.09%)
Mutual labels:  firestore, authentication
Expo Disneyplus
Disney+ UI Clone with React Native & Expo
Stars: โœญ 130 (-34.67%)
Mutual labels:  expo, react-navigation
Combinefirebase
Combine wrapper on Google's iOS Firebase library.
Stars: โœญ 126 (-36.68%)
Mutual labels:  firebase, firestore
React Native Boilerplate
A React Native boilerplate with Expo, Redux, React Navigation, Styled Components and some ๐Ÿ’• included.
Stars: โœญ 135 (-32.16%)
Mutual labels:  expo, react-navigation
Firebasecrud
Rich UI and animation flutter app backed by firebase
Stars: โœญ 121 (-39.2%)
Mutual labels:  firebase, firestore
Firestore Simple
More simple, powerfull and TypeScript friendly Firestore wrapper.
Stars: โœญ 145 (-27.14%)
Mutual labels:  firebase, firestore
Gqlify
[NOT MAINTAINED]An API integration framework using GraphQL
Stars: โœญ 182 (-8.54%)
Mutual labels:  firebase, firestore
Makeitso
This is the source code for Make It So, the sample app accompanying my blog post "Replicating the iOS Reminders App Using SwiftUI and Firebase"
Stars: โœญ 181 (-9.05%)
Mutual labels:  firebase, firestore
Expo Uber
Uber UI Clone with React Native & Expo
Stars: โœญ 186 (-6.53%)
Mutual labels:  expo, react-navigation

expo-firebase-starter ๐Ÿ”ฅ

Supports Expo iOS Supports Expo Android

Is a quicker way to start with Expo + Firebase projects. It includes:

  • based on Expo SDK 40.x.x
  • navigation using react-navigation 5.x.x
  • Firebase as backend for email auth
  • custom and reusable form components
  • handles different field types in forms
  • handles server errors using Formik
  • Login/Signup form built using Formik & yup
  • show/hide Password Field's visibility ๐Ÿ‘
  • uses Context API & checks user's auth state
  • implement Password Reset Screen
  • all components are now functional components and use React Hooks

Installation

  1. Create a new project using the firebase starter template.
$ npx create-react-native-app --template https://github.com/expo-community/expo-firebase-starter
  1. Rename the file example.firebaseConfig.js to firebaseConfig.js
  2. Update firebaseConfig.js with your own configuration, e.g.:
// Rename this file to "firebaseConfig.js" before use
// Replace all Xs with real Firebase API keys

export default {
  apiKey: 'XXXX',
  authDomain: 'XXXX',
  databaseURL: 'XXXX',
  projectId: 'XXXX',
  storageBucket: 'XXXX',
  messagingSenderId: 'XXXX',
  appId: 'XXXX'
};
  1. Start the project:
  • yarn ios -- open on iOS
  • yarn android -- open on Android

File Structure

Expo Firebase Starter
โ”œโ”€โ”€ assets โžก๏ธ All static assets
โ”œโ”€โ”€ components โžก๏ธ All re-suable UI components for form screens
โ”‚   โ””โ”€โ”€ Firebase โžก๏ธ Firebase related config directory
โ”‚       โ””โ”€โ”€ firebaseConfig.js โžก๏ธ Firebase API keys
โ”‚       โ””โ”€โ”€ firebase.js โžก๏ธ Firebase app initialization & authentication helper methods
โ”‚   โ””โ”€โ”€ Forms โžก๏ธ Reusable form components
โ”‚       โ””โ”€โ”€ Form.js โžก๏ธ Reusable Form wrapper to apply Formik
โ”‚       โ””โ”€โ”€ FormButton.js โžก๏ธ Reusable button component that handles form submit using Formik context hook
โ”‚       โ””โ”€โ”€ FormErrorMessage.js โžก๏ธ Reusable component to display server errors from Firebase
โ”‚       โ””โ”€โ”€ FormField.js โžก๏ธ Reusable TextInput component
โ”‚   โ””โ”€โ”€ AppButton.js โžก๏ธ Button component
โ”‚   โ””โ”€โ”€ AppTextInput.js โžก๏ธ TextInput component
โ”‚   โ””โ”€โ”€ IconButton.js โžก๏ธ Button with icon only component
โ”‚   โ””โ”€โ”€ SafeView.js โžก๏ธ SafeAreaView wrapper component
โ”‚   โ””โ”€โ”€ Spinner.js โžก๏ธ Loading indicator component
โ”œโ”€โ”€ hooks โžก๏ธ All custom hook components
โ”‚   โ””โ”€โ”€ useStatusBar.js โžก๏ธ A custom hook based on @react-navigation library to animate the status bar style changes
โ”œโ”€โ”€ navigation
โ”‚   โ””โ”€โ”€ AppStack.js โžก๏ธ Protected routes such as Home screen
โ”‚   โ””โ”€โ”€ AuthStack.js โžก๏ธ Routes such as Login screen, when the user is not authenticated
โ”‚   โ””โ”€โ”€ AuthUserProvider.js โžก๏ธ An Auth User Context component that shares Firebase user object when logged-in
โ”‚   โ””โ”€โ”€ navigationTheme.js โžก๏ธ A default theme for navigation components
โ”‚   โ””โ”€โ”€ Routes.js โžก๏ธ Switch between Auth and App stacks based on Firebase user logged-in state
โ”œโ”€โ”€ screens
โ”‚   โ””โ”€โ”€ ForgotPassword.js โžก๏ธ Forgot Password screen component
โ”‚   โ””โ”€โ”€ HomeScreen.js โžก๏ธ Protected route/screen component
โ”‚   โ””โ”€โ”€ LoginScreen.js โžก๏ธ Login screen component
โ”‚   โ””โ”€โ”€ RegisterScreen.js โžก๏ธ Register screen component
โ”‚   โ””โ”€โ”€ WelcomeScreen.js โžก๏ธ Initial screen component
โ”œโ”€โ”€ utils
โ”‚   โ””โ”€โ”€ colors.js โžก๏ธ Default, reusable values across the app
โ”œโ”€โ”€ App.js โžก๏ธ Entry Point for Mobile apps
โ”œโ”€โ”€ app.json โžก๏ธ Expo config file
โ””โ”€โ”€ babel.config.js โžก๏ธ Babel config (should be using `babel-preset-expo`)

Screens

Main screens:

  • Login
  • Signup
  • Forgot password

Initial Welcome Screen

Successful Signup

Successful Login

Forgot Password

โš ๏ธโš ๏ธโš ๏ธ

Expo uses Firebase Web SDK and does not support all Firebase services such as phone auth. If you are looking forward to use those services, please use react-native-firebase in a vanilla react native app.

Here is more on what and why Expo cannot support complete Firebase integration


Built by @amanhimself

Happy Coding! ๐ŸŽ‰๐ŸŽ‰

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].