Skip to content

exlnt/RN-Starter-App

Repository files navigation

React Native Starter App

  • React-Native mobile app
    • Login screen
      • Connected with Firebase and form validation using React-Hook-Form.
    • Registration screen
      • Connected with Firebase and form validation using React-Hook-Form.
    • Splash screen
      • Displayed on app startup with animated UI.
    • Home screen
      • Shown to the user after they have been authenticated.
    • Request screen
      • Example screen to show how navigation within the app works.

Features

Important Notes - PLEASE READ

  • I am NOT an Expert, the code is very simple and basic, but it does work!
    • This is my first time putting a public repository on GITHUB. So please be gentle! :-)
  • I'm sure there are many improvements that can and/or should be made.
  • I'm still learning REACT/REACT-Native.
  • This app is here to help people get started, up and running quickly with a working shell.
  • You should be able to take the code here and just started adding screens you need for your app.
  • I make no guarantees, written, verbal or implied.
    • If you use the code, its your job to validate and test and ensure its working as you need it to.
  • I cannot provide any type of support outside of answering some quick questions.
    • I work full time and I don't have time to provide detailed support.
  • I will try and keep this template updated, as and when I can, when major versions of the dependencies are changed.

Issues

  • React Navigation theme is not being passed into AppNavigator.ts file.
  • Firebase AsyncStorage warning
    • The message, shown below, gets thrown in the console, but the authentication and state are working.
    • WARN [2023-10-31] @firebase/auth: Auth (10.5.2): You are initializing Firebase Auth for React Native without providing AsyncStorage. Auth state will default to memory persistence and will not persist between sessions. In order to persist auth state, install the package "@react-native-async-storage/async-storage" and provide it to initializeAuth: import { initializeAuth, getReactNativePersistence } from 'firebase/auth'; import ReactNativeAsyncStorage from '@react-native-async-storage/async-storage'; const auth = initializeAuth(app, { persistence: getReactNativePersistence(ReactNativeAsyncStorage) });

How to get started

  • Replace the FirebaseConfig settings used in useAuth.ts
    • You MUST make this change, else the app will not work
  • NPM Install
  • NPM run start
    • Then choose a for Android
    • Scan the QR code with EXPO Go or with camera app on IOS