> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Mobile teknoloji yığını

Expo uygulamasının içindeki teknolojiler ve her birinin oynadığı rol.

## Başlamadan önce

Mobile uygulaması küçük bir yerel yüzeydir: aşağıdaki her kitaplık zaten `apps/mobile/package.json`'da sabitlenmiştir, bu nedenle bu sayfadaki hiçbir şey ayrı kurulum gerektirmez. Bu sayfa, sonraki kılavuzların anlamlı olması için her parçanın ne yaptığını açıklar.

Arka uç, Web deposunda kendi yığınını — Next.js, Postgres ve sağlayıcı bağdaştırıcılarını — tutar. Uygulama, onu `EXPO_PUBLIC_API_URL` aracılığıyla ulaşır ve hiçbir parçasını gömmeyerek yalnızca Mobile checkout'un küçük kalmasını sağlar.


## Expo + React Native

Expo, uygulamayı çalıştıran, paketleyen ve derleyen araç zinciridir; React Native, bir webview yerine gerçek yerel arabirim öğeleri oluşturur. Expo Router, dosya tabanlı gezinme sağlar: `apps/mobile/app/` altındaki her dosya bir ekrana dönüşür ve oturum açmış yığın `app/(app)/` altında gruplandırılır.

Expo Go, telefonunuzda paylaşılan geliştirme önizlemesini açarken, bir development build kendi kurulabilir uygulamanızdır — satın almalar veya biyometrik kilit gibi bir yerel modülün çalışması gerektiğinde zorunludur.

- [Expo](https://expo.dev)
- [Expo Router](https://docs.expo.dev/router/introduction/)
- [React Native](https://reactnative.dev)


## TypeScript

Tüm uygulama kodu TypeScript'tir ve paket sıkı bir tür denetimiyle birlikte gelir. Bir cihaz veya çalışan bir arka uç olmadan her dosyayı kontrol edebilirsiniz.

- [TypeScript](https://www.typescriptlang.org)


## Better Auth Expo + güvenli depolama

Oturum açma, sistem tarayıcısı aracılığıyla Better Auth Expo istemcisiyle gerçekleşir: uygulama arka ucun kimlik doğrulama sayfasını açar, arka uç uygulamanın derin bağlantı şemasına döner ve oturum belirteci `expo-secure-store`'da tutulur — iOS'ta Keychain ve Android'de Keystore — asla düz depolamada veya paketlenmiş yapılandırmada değil.

Aynı modüller, passkey'leri, `expo-local-authentication` aracılığıyla isteğe bağlı bir biyometrik uygulama kilidini ve workspace kapsamlı çevrimdışı önbelleği temizleyen bir oturum kapatmayı kapsar.

- [Better Auth](https://better-auth.com)
- [Expo SecureStore](https://docs.expo.dev/versions/latest/sdk/securestore/)


## RevenueCat satın alımları

`react-native-purchases`, StoreKit ve Play Billing'i kitin yetki senkronizasyonuna bağlar: uygulama mağaza satın alımını başlatır, arka uç RevenueCat webhook'u aracılığıyla doğrular ve sunucu workspace'in ne kullanabileceğine karar verir.

İlk önizlemede satın alımlar kapalı kalır (`EXPO_PUBLIC_MOBILE_PURCHASES_PROVIDER=off`). Gerçek satın alma ve geri yükleme testleri bir EAS geliştirme derlemesi gerektirir çünkü Expo Go yerel satın alma modülünü çalıştıramaz.

- [RevenueCat](https://www.revenuecat.com/docs)


## EAS Build + Submit

`eas.json` üç profil içerir: `development`, iOS simülatörü için bir dev client derler, `preview`, testçiler için dahili bir Android APK'sı derler ve `production`, otomatik artan sürümler ve bir Play dahili kanal gönderim adımıyla mağaza ikililerini derler.

Derlemeler Expo'nun bulutunda çalışır, bu nedenle ikililer üretmek için yerel bir Xcode veya Android Studio'ya ihtiyacınız yoktur — yalnızca kendi bilgisayarınızda simülatörleri çalıştırmak için.

- [EAS Build](https://docs.expo.dev/eas/)


## Paylaşılan paketler

`@supastack/ui-native`, platformlar arası görünüm modellerini taşır — `createEntitlementCard`, sunucu yetki durumunu tek bir kart sözleşmesine dönüştürür — ve `@supastack/design-tokens` tema değerlerini taşır. Yalnızca bu iki paylaşılan paket Mobile checkout'unda bulunur; sunucu paketleri Web arka ucuyla birlikte yaşar.


## Doğrulama araçları

Deterministik Vitest paketleri, oturum depolamayı, derin bağlantıları, sohbet akışını ve iptalini, yetkileri, satın alımları, çevrimdışı önbelleği ve bildirim yönlendirmesini kapsar — cihaz olmadan bilgisayarınızda çalışırlar. Uygulama kilidi, push teslimatı ve mağaza satın alımları gibi yalnızca yerel davranışlar bunun yerine bir EAS geliştirme derlemesinde doğrulanır.

```
corepack pnpm --filter @supastack/mobile test
corepack pnpm --filter @supastack/mobile typecheck
```


## Sonraki

[Mobil uygulamayı çalıştırın](https://supastack.dev/tr/docs/mobile/local-setup.md)
