Proje: OkulUp · Hub: OkulUp — Conventions
Dosya İsimlendirme Kuralları
Naming Conventions
| Dosya Türü | Kural | Örnek |
|---|---|---|
| Component | PascalCase | AnnouncementCard.tsx |
| Hook | use prefix + camelCase | useAnnouncements.ts |
| Service | camelCase | announcements.ts |
| Types | .types.ts suffix | announcement.types.ts |
| Store | Slice suffix | authSlice.ts |
| Schema (Zod) | Schema suffix | announcementSchema.ts |
| Utils | camelCase | permissions.ts |
| Barrel | index.ts | her modülde |
| Constants | camelCase | colors.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)
Related
- component-architecture — component dosya yapısı
- react-query-hooks-pattern — hook naming