Bir Fikirden Stabil Bir Mobil Platforma Uzanan Mühendislik Yolculuğu
Başlamak için sağ ok (→) tuşuna basın
AliRehber sadece bir film veritabanı değildir. Kullanıcıların izleme deneyimlerini arkadaşlarıyla anlık olarak paylaştığı, yorumlaştığı ve etkileşime girdiği hibrit bir sosyal ağdır.
Kullanıcının geçmişini ve anlık duygu durumunu ("Komik", "Hüzünlü") analiz eden, buna göre TMDB API üzerinden nokta atışı filmler öneren dinamik bir algoritma kurgulanmıştır.
| Katman | Teknoloji / Araç |
|---|---|
| Frontend (Mobil) | React Native & Expo |
| Backend (Sunucu) | PHP (Özel REST API - api.php) |
| Veritabanı | MySQL (bayalice_alirehber) |
| Dış Veri Kaynağı | TheMovieDB (TMDB) API |
Geliştirme sürecinin en kritik engeli, Profile ve Sosyal Akış sekmelerine girildiğinde Android cihazlarda yaşanan ani çökmelerdi (Fatal Crash).
Neden Oluyordu?
React Native'in arayüz çizim motoru (Yoga), klavye itici (KeyboardAvoidingView) ve iç içe geçmiş esnek (flex) ScrollView yapılarını hesaplarken sonsuz bir döngüye girip sistemi kilitliyordu.
Pressable yapıları, çok daha stabil olan TouchableOpacity ile değiştirildi.? : null güvenlik kalkanları yazıldı.Veritabanında tutulan ../uploads/avatar.jpg gibi dosya yolları web tarayıcılarında sorunsuz çalışırken, mobil uygulamanın Image bileşeni bu geri gitme komutlarını anlayamayıp resimleri yüklemeyi reddediyordu.
Özel bir JavaScript Regex algoritması yazılarak;
../ ve ./ dizin hataları anında temizlendi.Sorun: Test süreçleri boyunca APK alırken Expo'nun ücretsiz bulut derleme (EAS Build) kotasının dolması ve Windows sistemlerde yerel (local) derlemenin desteklenmemesi büyük bir darboğaz yarattı.
npx expo login/logout stratejisiyle kotalar sıfırlandı.app.json içerisindeki projectId silinerek, uygulamanın dolmuş kotalı projeyle bağı koparıldı ve yepyeni bir kimlikle paketlenmesi sağlandı.npx expo prebuild) doğrudan Gradle üzerinden derlenmesi sağlandı.Karşılaşılan tüm API, Render ve Deployment engelleri mühendislik pratikleriyle aşıldı. AliRehber şu an çökmesiz, anlık veri akışı sağlayabilen, üretim (production) seviyesinde bir mobil platformdur.