Skip to content

Installation & Build (Mobile)

The XetaSuite mobile app is built with React Native and Expo (SDK 55). It communicates with the XetaSuite backend via the Sanctum API and features an integrated voice assistant.

  • Node.js 20+
  • npm 10+ or yarn
  • Expo CLI (npx expo)
  • EAS CLI for cloud builds (npm install -g eas-cli)
  • An Expo account (free)
  • For native Android builds locally: Android Studio with a configured Android SDK
  • For native iOS builds locally: macOS + Xcode 15+
  1. Clone the repository

    Terminal window
    git clone https://github.com/XetaSuite/Mobile.git
    cd Mobile
  2. Install dependencies

    Terminal window
    npm install
  3. Configure environment variables

    Create a .env file at the root:

    EXPO_PUBLIC_API_URL=https://api.xetasuite.com

    For local development, point to your backend:

    EXPO_PUBLIC_API_URL=http://192.168.1.x:8000
  4. Log in to Expo

    Terminal window
    eas login

Starts a development server compatible with the Expo Go app:

Terminal window
npx expo start

Scan the QR code with the Expo Go app on your phone.

Production builds are generated via EAS Build (Expo Application Services).

Terminal window
eas build --platform android --profile production

The generated .aab file is ready for submission to the Google Play Store.

Terminal window
eas build --platform ios --profile production

The generated .ipa file is ready for submission to the Apple App Store.

Terminal window
eas build --platform all --profile production
ProfileDistributionFormatUsage
developmentInternalAPKTesting with dev client
previewInternalAPKInternal testing before release
productionStoreAAB / IPAPublishing to stores
Terminal window
eas submit --platform android --latest
Terminal window
eas submit --platform ios --latest

Key application settings are in app.json:

{
"expo": {
"name": "XetaSuite-Mobile",
"slug": "xetasuite-mobile",
"version": "1.0.0",
"android": {
"package": "com.xetasuite.app"
},
"ios": {
"bundleIdentifier": "com.xetasuite.app"
}
}
}
PermissionReason
RECORD_AUDIOVoice assistant — voice transcription
MODIFY_AUDIO_SETTINGSMicrophone management during voice sessions
FOREGROUND_SERVICEKeep audio session alive in the foreground
FOREGROUND_SERVICE_MEDIA_PLAYBACKForeground audio playback
KeyReason
NSMicrophoneUsageDescriptionMicrophone access for the voice assistant
NSSpeechRecognitionUsageDescriptionSystem speech recognition (iOS)