İçeriğe atla
supastack
Dokümanlara göz atın
MobilExpo

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /tr/docs/mobile/project-structure.md (or send Accept: text/markdown).

Proje yapısı

Rotaları, özellik modüllerini ve arka uçla sınırı bulun.

Kurulum ve yapılandırma

Herhangi bir adımdan önce Başlamadan önce ve Terminal temelleri'ni okuyun. supastack klasörünü kökünde açın — package.json içeren klasör. Bir Mobile checkout, apps/mobile'ı ve aşağıdaki paylaşılan paketleri içerir; All Platforms monorepo'su Web arka ucunu ve Desktop kabuğunu ekler. Ortam değişkeni, yerel bir .env dosyasında veya barındırma panelinizde saklanan adlandırılmış bir ayardır; değişiklikten sonra uygulamayı yeniden başlatın ve sunucu gizli bilgilerini EXPO_PUBLIC_ değerlerinin dışında tutun.

1. apps/mobile/app/_layout.tsx'i düzenleyicide açın — her ekranın paylaştığı kök düzen.

2. apps/mobile/src/'yi gözden geçirin — her biri mantığı ve testlerini içeren, özellik alanı başına bir klasör.

3. Depo kökünden corepack pnpm --filter @supastack/mobile start çalıştırın ve cihazınızda önizlemeyi açın.

Expo uygulaması, özellik modüllerini çağıran rotalar olarak düzenlenmiştir. Rotalar ince kalır — ekranları oluşturur; çağırdıkları mantık src/ altında testleriyle birlikte yaşar. Davranışı değiştirmeden önce AGENTS.md ve .ai/PROJECT_CONTEXT.md'yi okuyun; .ai/ yansıma belgeleri tek bir dosyadan görünmeyen kararları kaydeder.

apps/mobile/app/          Expo Router routes — sign-in, onboarding, invite, paywall
apps/mobile/app/(app)/    Signed-in screens — home, chat, notifications, settings, content, commerce, assistant
apps/mobile/src/          Feature modules — auth, api, purchases, offline, push, ui, theme, i18n
packages/ui-native/       Shared native view-models
packages/design-tokens/   Shared theme tokens
apps/mobile/app.config.ts Scheme and allowed-origin derivation
apps/mobile/eas.json      EAS build and submit profiles
docs/                     Runbooks incl. store submission
.agents/skills/           Task guides for coding agents

Değişikliğin ait olduğu yer

Düzenlemeden önce hangi klasörün değişikliğe sahip olduğuna karar verin. Kural şudur: bir rota dosyası yalnızca render eder; yeniden kullanılabilir mantık bir src/ modülünde yaşar; sunucunun karar vermesi gereken hiçbir şey uygulamaya girmez.

  • Yeni bir oturum açmış ekran → apps/mobile/app/(app)/ rota için ve apps/mobile/src/<feature>/ mantığı için.
  • Yeni bir ön kimlik doğrulama veya bağımsız ekran → (app) grubunun dışında apps/mobile/app/.
  • Arka uca bir çağrı → apps/mobile/src/api/client.ts — geçici fetch yapmak yerine tiplendirilmiş istemciyi genişletin.
  • Ekranlar arasında paylaşılan bir görsel → apps/mobile/src/ui/ ilkel öğeleri; platformlar arası bir görünüm modeli → packages/ui-native/.
  • Renkler, boşluk ve koyu/açık değerler → packages/design-tokens/ tarafından desteklenen apps/mobile/src/theme/.
  • Yeni bir çeviri anahtarı → apps/mobile/src/i18n/ altındaki dört kataloğun hepsi.
  • Sunucu tarafındaki her şey — veriler, izinler, sağlayıcı çağrıları → Web arka uç deposu, yalnızca Mobile satın alımları için ayrı bir checkout'tur.

Uygulama iş akışı

Rota dosyasından başlayın, render ettiği özellik modülünü, ardından API istemci çağrısını izleyin — sunucu sahipliğe karar verir; uygulama asla yeniden türetmez. .agents/skills/'deki add-a-mobile-screen becerisi aynı sırayı izler.

Paylaşılan bir paketi veya API istemcisini düzenledikten sonra paket testlerini ve tür denetimini çalıştırın; istemci, arka ucun sunduğu sözleşmenin aynısını korumalıdır.

Doğrulama ve sorun giderme

expo start eksik bir modül rapor ederse, kurulum komutunu depo kökünden çalıştırın — uygulama klasörü tek başına workspace paketlerini çözemez. Bir ekran stilsiz görünürse, sabit kodlanmış renklere sahip ham öğeler yerine src/ui ilkel öğelerini oluşturduğunu kontrol edin.

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