# Configuration Files Requirements

This document outlines the configuration files required for the Alerte Secours mobile app and how to set them up.

## Environment Variables

The app uses environment variables for configuration and sensitive information. There are several environment files:

### Development Environment

Copy `.env.default` to `.env.local` (which is git-ignored) and fill in the required values:

- `BACKGROUND_GEOLOCATION_LICENSE`: License key for react-native-background-geolocation
- `BACKGROUND_GEOLOCATION_HMS_LICENSE`: HMS license key for react-native-background-geolocation

### Production Environment

Copy `.env.prod.example` to `.env.prod` (which is git-ignored) and fill in the required values:

- `SENTRY_DSN`: Your Sentry DSN for error tracking
- `SENTRY_ORG`: Your Sentry organization
- `SENTRY_PROJECT`: Your Sentry project name
- `ASC_API_KEY_ID`: Your App Store Connect API Key ID
- `ASC_API_ISSUER_ID`: Your App Store Connect API Issuer ID
- `ASC_API_KEY_PATH`: Path to your App Store Connect API Key file
- `PROVIDER_ID`: Your App Store Connect Provider ID

### Staging Environment

Copy `.env.staging.example` to `.env.staging` (which is git-ignored) and fill in the required values with the same information as the production environment, but with staging-specific values where applicable.

## Google Services Configuration

### iOS

1. Copy `ios/GoogleService-Info.example.plist` to `ios/GoogleService-Info.plist`
2. Copy `ios/AlerteSecours/GoogleService-Info.example.plist` to `ios/AlerteSecours/GoogleService-Info.plist`
3. Fill in the following values:
   - `API_KEY`: Your Google API key
   - `GCM_SENDER_ID`: Your GCM sender ID
   - `PROJECT_ID`: Your Firebase project ID
   - `STORAGE_BUCKET`: Your Firebase storage bucket
   - `GOOGLE_APP_ID`: Your Google app ID

### Android

1. Copy `android/app/google-services.example.json` to `android/app/google-services.json`
2. Fill in the following values:
   - `project_number`: Your Firebase project number
   - `project_id`: Your Firebase project ID
   - `storage_bucket`: Your Firebase storage bucket
   - `mobilesdk_app_id`: Your Firebase mobile SDK app ID
   - `client_id`: Your OAuth client ID
   - `current_key`: Your Google API key

## Expo Updates Configuration

1. Copy `ios/AlerteSecours/Supporting/Expo.example.plist` to `ios/AlerteSecours/Supporting/Expo.plist`
2. Fill in the `EXUpdatesCodeSigningCertificate` with your Expo code signing certificate

## How to Obtain These Values

### Firebase Configuration

1. Go to the [Firebase Console](https://console.firebase.google.com/)
2. Select your project or create a new one
3. Add iOS and Android apps to your project
4. Download the configuration files for each platform

### Background Geolocation License

Purchase a license from [Transistor Software](https://www.transistorsoft.com/shop/products/react-native-background-geolocation)

### Expo Code Signing Certificate

Generate a code signing certificate for Expo updates by following the [Expo documentation](https://docs.expo.dev/eas-update/code-signing/)