Proje: Okul B2B App · Hub: Okul B2B App — Conventions

Environment ve .env Değişkenleri

Temel Ortam Değişkenleri

DeğişkenZorunluAçıklamaÖrnek
EXPO_PUBLIC_PROJECT_IDEAS Proje IDf9381872-512a-4ca0-bd72-d2b1892dcc16
EXPO_PUBLIC_API_URLBackend URLhttps://api.okul.com.tr
EXPO_PUBLIC_ENVIRONMENTOrtam adıdevelopment|staging|production
EXPO_PUBLIC_APP_NAMEUygulama adıOkul.com.tr Kurumsal

Analytics / Servis Değişkenleri

DeğişkenAçıklama
EXPO_PUBLIC_ONESIGNAL_APP_IDbd4d3ce9-b440-4ded-8d00-f1f389f363c7
EXPO_PUBLIC_CUSTOMERIO_CDP_API_KEYCustomer.io CDP API key
EXPO_PUBLIC_CUSTOMERIO_SITE_IDCustomer.io Site ID
EXPO_PUBLIC_FIREBASE_PROJECT_IDFirebase project ID
EXPO_PUBLIC_ENABLE_ANALYTICS"true"|"false"
EXPO_PUBLIC_ENABLE_CRASH_REPORTING"true"|"false"

Platform Değişkenleri

DeğişkenAçıklama
EXPO_PUBLIC_IOS_BUNDLE_IDcom.okulcomtr.b2b
EXPO_PUBLIC_ANDROID_PACKAGEcom.okulcomtr.b2b

Debug Değişkenleri

DeğişkenAçıklama
EXPO_PUBLIC_DEBUG_MODE"true"|"false"
EXPO_PUBLIC_LOG_LEVELdebug|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ı.