Proje: Okul B2B App · Hub: Okul B2B App — Conventions
Türkçe Arama ve Platform Optimizasyonları
TurkishSearchUtils
utils/TurkishSearchUtils.ts — JavaScript’in toLowerCase() Türkçe karakter sorununu çözer.
Problem: "İ".toLowerCase() → "i̇" (yanlış), "I".toLowerCase() → "i" (Türkçe’de "ı" olmalı)
Çözüm:
import { turkishToLower, turkishSearch } from '@/utils/TurkishSearchUtils';
// Doğru Türkçe küçültme
turkishToLower('İSTANBUL') // → 'istanbul'
// Fuzzy arama (Türkçe karakter ignore)
turkishSearch('arama terimi', 'Aranan İçerik')Lead arama, okul listesi filtreleme gibi yerlerde kullanılır.
Android Optimizasyonları
utils/AndroidOptimizations.ts — _layout.tsx’in ikinci import’u olarak çalıştırılır.
// App entry'de otomatik çalışır:
import '@/utils/AndroidOptimizations';
// Yapılanlar:
enableScreens(true); // native screens performans
UIManager.setLayoutAnimationEnabledExperimental(true) // smooth animations
InteractionManager.setDeadline(300) // interaction timingFont Scaling Devre Dışı
utils/DisableFontScaling.ts — _layout.tsx’in ilk import’u. Tüm Text bileşenlerinde allowFontScaling={false} ayarlar. Bu kullanıcının sistem font boyutunun UI’ı bozmasını engeller.
SecurityHeaders
utils/SecurityHeaders.ts — API isteklerinde güvenlik header’ları tanımlar. CSP, HSTS, X-Frame-Options vb. Bu header’lar ApiClient veya SecureApiClient tarafından request’e eklenir.
Related
- naming-ve-klasor-yapisi — utils/ klasörü yapısı
- api-client-pattern — header yönetimi