Skip to main content

New Project Setup from Template

1. Prepare the Project

Copy the template files to your new project.

Copy template files
rsync -av --progress \
--exclude='node_modules' \
--exclude='.git' \
--exclude='.expo' \
--exclude='eas.json' \
--exclude='.env' \
--exclude='google-services.json' \
--exclude='services.json' \
--exclude='android' \
--exclude='ios' \
/path/to/template/ /path/to/new-project/

Then restore dependencies and set up your environment:

npm install # restore node_modules
cp .env # then fill in your real values

Then open app.json and update the following fields:

  • name
  • slug
  • package (under android)
  • scheme

Also delete only the projectId from the extra.eas block — leave everything else intact.

2. Initialize Git

git init && git add . && git commit -m "Initial commit"

3. Configure EAS

eas build:configure

This creates the eas.json file. Then run:

eas init

This generates and injects a fresh projectId into your app.json.


4. Set Up Android Keystore & Get SHA-1

eas credentials

Navigate: Android → development → Keystore → Generate new keystore

Once generated, note the SHA-1 fingerprint — you'll need it for Google OAuth.

Alternatively, see Custom Debug Keystore for managing a local debug keystore outside of EAS.


5. Register SHA-1 in Google Cloud Console

  1. Go to https://console.cloud.google.com
  2. Select your project
  3. Navigate to APIs & Services → Credentials
  4. Open your OAuth 2.0 Client ID (Android)
  5. Add the SHA-1 fingerprint from Step 4

6. Push Notifications (FCM) — Only if needed

6a. Create a Firebase Project

  1. Go to https://console.firebase.google.com
  2. Create a new project and complete the setup

6b. Generate a Private Key

  1. In Firebase, go to Settings → Service Accounts
  2. Click Generate new private key
  3. Download the JSON file

Follow the instructions at https://docs.expo.dev/push-notifications/fcm-credentials/, then run:

eas credentials

Navigate: Android → development → Google Service Account → Push Notifications → link the downloaded JSON file

  1. In your Firebase project, click Add app → Android
  2. Follow the setup steps and download the google-services.json file
  3. Place google-services.json at the root of your project folder
  4. In app.json, link it under the android block:
{
"android": {
"googleServicesFile": "./google-services.json"
}
}

That's the complete flow for every new project spun up from the template.