Proje: Okul B2B App · Hub: Okul B2B App — Conventions
Environment ve .env Değişkenleri
Temel Ortam Değişkenleri
| Değişken | Zorunlu | Açıklama | Örnek |
|---|
EXPO_PUBLIC_PROJECT_ID | ✅ | EAS Proje ID | f9381872-512a-4ca0-bd72-d2b1892dcc16 |
EXPO_PUBLIC_API_URL | ✅ | Backend URL | https://api.okul.com.tr |
EXPO_PUBLIC_ENVIRONMENT | ❌ | Ortam adı | development|staging|production |
EXPO_PUBLIC_APP_NAME | ❌ | Uygulama adı | Okul.com.tr Kurumsal |
Analytics / Servis Değişkenleri
| Değişken | Açıklama |
|---|
EXPO_PUBLIC_ONESIGNAL_APP_ID | bd4d3ce9-b440-4ded-8d00-f1f389f363c7 |
EXPO_PUBLIC_CUSTOMERIO_CDP_API_KEY | Customer.io CDP API key |
EXPO_PUBLIC_CUSTOMERIO_SITE_ID | Customer.io Site ID |
EXPO_PUBLIC_FIREBASE_PROJECT_ID | Firebase project ID |
EXPO_PUBLIC_ENABLE_ANALYTICS | "true"|"false" |
EXPO_PUBLIC_ENABLE_CRASH_REPORTING | "true"|"false" |
| Değişken | Açıklama |
|---|
EXPO_PUBLIC_IOS_BUNDLE_ID | com.okulcomtr.b2b |
EXPO_PUBLIC_ANDROID_PACKAGE | com.okulcomtr.b2b |
Debug Değişkenleri
| Değişken | Açıklama |
|---|
EXPO_PUBLIC_DEBUG_MODE | "true"|"false" |
EXPO_PUBLIC_LOG_LEVEL | debug|info|warn|error |
Ortam Tespiti
const isExpoGo = Constants.executionEnvironment === ExecutionEnvironment.StoreClient;
const isDev = Config.ENVIRONMENT === 'development';
const isProd = Config.ENVIRONMENT === 'production';
const IS_LEGACY_BUILD = (process.env.EXPO_PUBLIC_API_URL || '').includes('okul.work');
Önemli: EXPO_PUBLIC_ Prefix Zorunlu
Expo’da client-side erişilebilir env değişkenleri EXPO_PUBLIC_ prefix’i ile başlamalı. Aksi halde runtime’da undefined döner.
Local Development
.env.local dosyası (gitignore’da) ile local overrides yapılır. Ortam değişkenleri eas.json build profilleri içinde de tanımlı.