Welcome to the Expo - Firebase - Kit repository! This project is a starter kit built with React Native Expo, designed to get you up and running with Expo Router v3, Gluestack-UI, and Firebase for authentication.
π€ Eray Siltu
This starter kit is built with React Native Expo, using Expo Router v3, Gluestack-UI, and TypeScript. It integrates Firebase for a seamless authentication experience:
- π SignIn & SignUp: User authentication made easy.
- π Auth Check on App Rendering: Ensure users are authenticated on each app load.
- π Tabs with Drawer Navigation: Smooth navigation for authenticated users.
- π§ Email Verification: Secure your app with email verification.
- π¨ Choose App Icon: Standard 3 app icons for users to select.
- π i18n Localization: Support for English and Dutch languages on every page.
Currently under maintenance, so updates will follow!
- Firebase: For authentication flow (Firebase site)
- Expo Router: For navigation logic (Expo Router Documentation)
- TypeScript with React Native: Created with (Create Expo Stack)
To set up the project locally, you will need to install the necessary dependencies. This project uses Yarn as the package manager.
-
Clone the repository:
git clone https://github.com/esiltu/expo-firebase-auth cd your-repo-name
-
Install the dependencies:
yarn install
This is a development build application, so you will need to make development builds for both iOS and Android manually.
-
Create a development build for iOS and Android:
npx expo prebuild
-
The project uses a
.env
file for storing secret Firebase keys. Ensure you have your Firebase keys set up in the.env
file with the following variables:EXPO_PUBLIC_FIREBASE_API_KEY= EXPO_PUBLIC_FIREBASE_AUTH_DOMAIN= EXPO_PUBLIC_DATABASE_URL= EXPO_PUBLIC_PROJECT_ID= EXPO_PUBLIC_STORAGE_BUCKET= EXPO_PUBLIC_MESSAGING_SENDER_ID= EXPO_PUBLIC_APP_ID= EXPO_PUBLIC_MEASUREMENT_ID=
The app includes the following pages and flow structure:
- SignIn Page: The initial screen for user login.
- SignUp Page: For new users to create an account.
- Dashboard: Contains tab and drawer navigation.
- Tabs:
- π Home: Default tab.
- πΌ Jobs: View available job listings.
- π Scheme: Manage your schedule.
- π€ Profile: User profile and settings page.
- Drawer:
- π¨ Choose App Icon: Select from 3 standard icons.
- π Files Flex: Manage files within the app.
- βοΈ Profile/Settings: Access and update user settings.
- Tabs: