Proje: OkulUp · Hub: OkulUp — Architecture
OkulUp Tech Stack
Framework & Platform
- React Native 0.81.5 + Expo SDK 54 — New Architecture enabled (
newArchEnabled: true) - Expo Router ~6.0.23 — Dosya tabanlı routing,
app/dizini - Runtime version policy:
appVersion— her uygulama sürümü için ayrı runtime
Temel Kütüphaneler
| Kategori | Kütüphane | Versiyon |
|---|---|---|
| UI Bileşenleri | GlueStack UI v1 (@gluestack-ui/themed) | ^1.1.54 |
| Styling | NativeWind v4 (sadece config’de, component’lerde GlueStack kullanılıyor) | — |
| State | Zustand | ^5.0.9 |
| Data Fetching | TanStack React Query | ^5.90.15 |
| HTTP | Axios | ^1.13.2 |
| Forms | React Hook Form + Zod | ^7.69.0, ^4.2.1 |
| i18n | i18next + react-i18next | ^25.7.3 |
| Animation | @legendapp/motion + Reanimated | ^2.5.3, ~4.1.0 |
| Navigation | Expo Router (Expo Router Drawer yok — custom Drawer yapıldı) | ~6.0.23 |
| Lists | @shopify/flash-list | 2.0.2 |
Analytics & Monitoring
- Sentry (
@sentry/react-native ~7.2.0) — crash reporting + performance - PostHog (
posthog-react-native ^4.37.1) — kullanıcı davranış analizi - Dev’de: ConsoleAdapter, prod’da PostHogAdapter
Real-Time
- Laravel Echo + Pusher (
laravel-echo ^2.3.0,pusher-js ^8.4.0) — WebSocket - Push notifications:
expo-notifications ~0.32.16
Deployment
- EAS Build — 3 profil:
development(simulator),preview(internal),production(store) - EAS Update — OTA güncellemeler, production branch’e push
- iOS: App Store, bundle
com.okul.kampus, ASC App ID6761079786 - Android:
com.okul.kampuspaketi - EAS Project ID:
b27e1120-3435-4688-87be-eafa73a11e28 - Owner:
namlifurkan1
Dev Tooling
- TypeScript ~5.9.2
- ESLint + Prettier + Husky + lint-staged
- OpenAPI-typescript (API tip üretimi:
npm run api:generate) - Jest (test konfigüre edilmiş ama aktif kullanılmıyor)
Related
- navigation-architecture — routing ve tab/drawer sistemi
- provider-hierarchy — provider sıralaması
- api-client-architecture — Axios interceptor’lar