Setup & Installation
Complete guide to setting up the ZÈYA Mobile App for development.
Prerequisites
- Node.js: 18.x or higher
- npm: 9.x or higher (or yarn)
- Expo CLI: Latest version
- iOS Development:
- macOS (required)
- Xcode 15+ (for iOS simulator)
- CocoaPods
- Android Development:
- Android Studio
- Android SDK
- Java Development Kit (JDK) 17+
Installation Steps
1. Clone Repository
cd Zeya-Mobile-App
2. Install Dependencies
# Install npm dependencies
npm install
# For iOS, install CocoaPods dependencies
cd ios && pod install && cd ..
3. Environment Configuration
The app uses EAS build configuration for environment variables. See eas.json for environment-specific settings:
- Production:
https://zeyaapp.com/api/v1/ - Staging:
https://staging.zeyaapp.com/api/v1/
For local development, you can create a .env file (if not using EAS):
EXPO_PUBLIC_API_URL=zeyaapp.com/api/v1
EXPO_PUBLIC_FILE_URL=zeyaapp.com
EXPO_PUBLIC_HTTP_PROTOCOL=https
EXPO_PUBLIC_APP_ENV=local
EXPO_PUBLIC_LOCAL_API_URL=staging.zeyaapp.com/api/v1
EXPO_PUBLIC_LOCAL_FILE_URL=staging.zeyaapp.com
EXPO_PUBLIC_LOCAL_HTTP_PROTOCOL=https
4. Configure Firebase
Ensure Firebase configuration files are in place:
google-services.json(Android) - in root directoryGoogleService-Info.plist(iOS) - in root directory
These files should be provided by your Firebase project administrator.
5. Configure Google Maps
Google Maps API keys are configured in app.json:
- Android:
android.config.googleMaps.apiKey - iOS:
ios.config.googleMapsApiKey
Ensure billing is enabled in Google Cloud Console for Maps API.
6. Start Development Server
# Start Expo development server
npm start
# Or use Expo CLI directly
npx expo start
# Start with cache cleared
npx expo start -c
7. Run on Device/Simulator
iOS:
npm run ios
# Or press 'i' in the Expo CLI
Android:
npm run android
# Or press 'a' in the Expo CLI
Web (for testing):
npm run web
# Or press 'w' in the Expo CLI
Development Setup
iOS Setup
-
Install Xcode
- Download from Mac App Store
- Install Xcode Command Line Tools:
xcode-select --install
-
Install CocoaPods
sudo gem install cocoapods -
Install iOS Dependencies
cd ios
pod install
cd .. -
Open in Xcode (if needed)
open ios/ZYA.xcworkspace
Android Setup
-
Install Android Studio
- Download from developer.android.com
- Install Android SDK (API level 24+)
- Configure Android SDK path
-
Set Environment Variables
# Add to ~/.zshrc or ~/.bash_profile
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin -
Create Android Virtual Device (AVD)
- Open Android Studio
- Tools → AVD Manager
- Create Virtual Device
- Select device and system image
EAS Build Setup
Install EAS CLI
npm install -g eas-cli
Login to Expo
eas login
Configure EAS
The project includes eas.json with build configurations:
development- Development buildspreview- Preview builds for testingstaging- Staging environment buildsproduction- Production buildslive- Live production builds
Troubleshooting
Common Issues
Issue: Metro bundler not starting
- Solution: Clear Metro cache:
npx expo start -c
Issue: iOS build fails
- Solution:
- Clean build:
cd ios && xcodebuild clean && cd .. - Reinstall pods:
cd ios && pod deintegrate && pod install && cd ..
- Clean build:
Issue: Android build fails
- Solution:
- Clean gradle:
cd android && ./gradlew clean && cd .. - Check Android SDK path
- Clean gradle:
Issue: Module not found errors
- Solution:
- Delete
node_modulesand reinstall:rm -rf node_modules && npm install - Clear watchman:
watchman watch-del-all
- Delete
Issue: Firebase not working
- Solution: Ensure
google-services.jsonandGoogleService-Info.plistare in root directory
Issue: Google Maps not loading
- Solution: Verify API keys in
app.jsonand ensure billing is enabled in Google Cloud Console
Clearing Caches
# Clear Metro bundler cache
npx expo start -c
# Clear npm cache
npm cache clean --force
# Clear watchman
watchman watch-del-all
# Reset iOS simulator
xcrun simctl erase all
# Clear Android build
cd android && ./gradlew clean && cd ..
Development Tools
Recommended VS Code Extensions
- ESLint
- Prettier
- React Native Tools
- Expo Tools
- i18next Ally (for translations)
Debugging
React Native Debugger:
- Install:
brew install --cask react-native-debugger - Enable in app: Shake device → "Debug"
Flipper:
- Install Flipper from fbflipper.com
- Configure in
metro.config.jsif needed
Console Logs:
- View in terminal where Expo is running
- Use
console.log(),console.warn(),console.error()
Verification
Health Check
Start the app and verify:
- App launches successfully
- Login screen appears
- No console errors
- Network requests work
Test Authentication
# Test login flow
# Navigate to login screen
# Enter test credentials
# Verify API calls work
Next Steps
- Read Architecture to understand the project structure
- Check Development Guide for development workflow
- Review API Integration for API configuration
- See Features for feature documentation