Get Started
Get Started
An overview of the ExpoShip JavaScript starter kit
Follow the steps bellow to get the core application up and running in under 5 minutes. After that you can start activating other services or setting up any of the demo applications.
Quick setup
Hi there 👋 - ready to build your mobile app? Let’s get into it!
1
Clone the repository
We’ll start by getting your project up and running locally:
ExpoShip JavaScript version
git clone https://github.com/rudolfsrijkuris/expo-ship.git [YOUR_APP_NAME]
cd [YOUR_APP_NAME]
git remote remove origin
2
Environment variables
Rename .env.example
to .env.local
.env.local
SUPABASE_URL=
SUPABASE_ANON_KEY=
# REVENUE CAT
RC_IOS_KEY=
RC_ANDROID_KEY=
# One Signal
ONESIGNAL_APP_ID=
# Google Ads (all the id's are test id's)
BANNER_AD_UNIT_ID_IOS=ca-app-pub-3940256099942544/9214589741
BANNER_AD_UNIT_ID_ANDROID=ca-app-pub-3940256099942544/9214589741
INTERSTITIAL_AD_UNIT_ID_IOS=ca-app-pub-3940256099942544/1033173712
INTERSTITIAL_AD_UNIT_ID_ANDROID=ca-app-pub-3940256099942544/1033173712
REWARDED_INTERSTITIAL_AD_UNIT_ID_IOS=ca-app-pub-3940256099942544/5354046379
REWARDED_INTERSTITIAL_AD_UNIT_ID_ANDROID=ca-app-pub-3940256099942544/5354046379
3
Install dependencies and run
We’ll install all the required packages and run it locally:
cli
npm install
npx expo prebuild
npx expo run ios
# OR
npx expo run android
Open simulator - your app should be up and running!
4
Customize app configuration
Open app.json
. It is where you configure your app. Each key is documented to know how and why it’s used.
app.json
{
"expo": {
"name": "[YOUR_APP_NAME]", // App's name
"slug": "[YOUR_APP_NAME]", // App's name
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/icons/expoship_icon.png", // Location to your apps icon
"userInterfaceStyle": "automatic",
"scheme": "com.[YOUR_APP_NAME]", // This is used for supabase auth
"assetBundlePatterns": [
"**/*"
],
"ios": {
"supportsTablet": true,
"bundleIdentifier": "com.[YOUR_APP_NAME].[YOUR_APP_NAME]app" // Your bundle identifier for ios app
},
"android": {
"adaptiveIcon": {
"foregroundImage": "./assets/icons/expoship_icon.png", // Location to your apps icon
"backgroundColor": "#ffffff"
},
"package": "com.[YOUR_APP_NAME].[YOUR_APP_NAME]app" // Your bundle identifier for android app
},
"web": {
"favicon": "./assets/favicon.png"
},
"plugins": [
[
"expo-build-properties",
{
"ios": {
"useFrameworks": "static"
}
}
],
"expo-router",
[
"onesignal-expo-plugin",
{
"mode": "development"
}
]
],
"extra": {
"router": {
"origin": false
}
},
},
"react-native-google-mobile-ads": {
"ios_app_id": "ca-app-pub-3940256099942544~1458002511",
"android_app_id": "ca-app-pub-3940256099942544~3347511713"
}
}
After following these steps, the basic setup is done. You can now start activating other services (auth, payments, notifications, …)