Skip to content

Repository files navigation

Welcome to your Expo app 👋

This is an Expo project created with create-expo-app.

Get started

  1. Install dependencies

    npm install
  2. Start the app

    npx expo start

Environment

Copy .env.example to a local env file and fill in the keys you need:

EXPO_PUBLIC_GOOGLE_PLACES_API_KEY=your_google_places_key
EXPO_PUBLIC_GOOGLE_MAPS_API_KEY=your_google_maps_key
EXPO_PUBLIC_GOOGLE_SIGN_IN_WEB_CLIENT_ID=your_google_web_client_id

If the Google Places/Maps keys are missing, the app falls back to local mock restaurant data so development still works.

Staff authorization

Manager, restaurant, and driver portals use Firebase Auth custom claims. A user can sign in only if their Firebase Auth account has the correct claim:

{ "admin": true }
{ "restaurantId": "featured-1" }
{ "driverId": "driver-1" }

To apply claims with the downloaded Firebase Admin SDK key:

  1. In Firebase Console, open Project settings > Service accounts.
  2. Generate a new private key and place it in the project root as firebase-admin-key.json. This file is ignored by git.
  3. Copy tools/staff-claims.example.json to tools/staff-claims.local.json and edit the emails/IDs to match the accounts you created.
  4. Run:
npm run staff:claims -- --key=./firebase-admin-key.json --config=./tools/staff-claims.local.json

You can also update one account at a time:

npm run staff:claims -- --key=./firebase-admin-key.json --restaurant-email=nypizzaplace@fusionyum.com --restaurant-id=featured-1

After claims are updated, sign out and sign back in so Firebase refreshes the ID token. Firestore rules also require these claims for staff data access.

In the output, you'll find options to open the app in a

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages