Proje: OkulUp · Hub: OkulUp — Conventions

Dosya İsimlendirme Kuralları

Naming Conventions

Dosya TürüKuralÖrnek
ComponentPascalCaseAnnouncementCard.tsx
Hookuse prefix + camelCaseuseAnnouncements.ts
ServicecamelCaseannouncements.ts
Types.types.ts suffixannouncement.types.ts
StoreSlice suffixauthSlice.ts
Schema (Zod)Schema suffixannouncementSchema.ts
UtilscamelCasepermissions.ts
Barrelindex.tsher modülde
ConstantscamelCasecolors.ts

Path Aliases (tsconfig.json)

@/*         → src/*
@/components → src/components/*
@/hooks      → src/hooks/*
@/services   → src/services/*
@/store      → src/store/*
@/types      → src/types/*
@/utils      → src/utils/*
@/constants  → src/constants/*
@/i18n       → src/i18n/*
@/config     → src/config/*

Önemli Dizinler

app/               → Expo Router screens (route dosyaları)
src/components/    → UI bileşenleri
src/hooks/         → Custom hooks
src/services/api/  → API servis katmanı
src/store/slices/  → Zustand store'lar
src/types/         → TypeScript tip tanımları
src/constants/     → Sabit değerler (renkler, spacing)
src/utils/         → Utility fonksiyonlar
src/i18n/          → Çeviri dosyaları
src/config/        → Konfigürasyon (Sentry, analytics)
src/services/analytics/ → Analytics adapter'lar
src/services/notifications/ → Push notification yönetimi
src/services/websocket/ → WebSocket/Echo client
src/generated/     → OpenAPI'dan üretilen tipler (api.ts)