Mobil Uygulamalar
Açık Kaynak

Akıllı PDF Okuyucu & TDK Sözlük Asistanı

DartFlutterHive (NoSQL)Syncfusion PDFGoRouterHTTP Scraping

Ağır metinler okunurken odak kaybını önlemek için tasarlanmış; anında TDK sözlük çevirisi yapabilen, yerel bellek (Hive) destekli hibrit PDF ve metin okuma motoru.

Teknoloji Yığını

DartFlutterHive (NoSQL)Syncfusion PDFGoRouterHTTP Scraping

Sistem Metrikleri

Ağır PDF text-extraction algoritmaları arka plan döngülerine itilerek ana iş parçacığında (UI Thread) oluşabilecek takılmalar (jank) engellendi
Hive veritabanı kutuları uygulama başlatılırken (startup) RAM'e yüklenerek disk I/O darboğazları ortadan kaldırıldı
TDK HTTP isteklerine katı timeout (5sn) sınırları koyularak, yavaş ağ bağlantılarında arayüzün donması (hang) önlendi

Bunu Neden İnşa Ettim?

"Edebi veya akademik PDF'leri akıllı cihazlarda okurken bilinmeyen bir kelime için sürekli farklı bir sözlük uygulamasına geçmek okuma akışını ve odağı tamamen yok ediyordu. Bu sürtünmeyi ortadan kaldırmak için, PDF okuma deneyimi ile Türkiye'nin en güvenilir sözlük kaynağını (TDK) aynı UI katmanında birleştiren kendi izole okuma asistanımı geliştirdim."

Mimari & Kararlar

Uygulamanın çekirdeği Flutter üzerinde çalışıyor. Yerel veri kalıcılığı (favoriler, arama geçmişi ve sayfa takibi) için asenkron SQLite yerine, doğrudan belleğe haritalanan (memory-mapped) ultra hızlı NoSQL çözümü Hive kullanıldı. PDF rendering ve metin ayıklama (extraction) işlemleri Syncfusion motoruna devredildi. TDK ağ katmanında (Network Layer), basit bot korumalarını aşabilmek adına tarayıcı taklidi yapan (User-Agent spoofing) ve gelen metni Regex ile noktalama işaretlerinden arındıran agresif bir sanitization rutini kurguladım.

Temel Özellikler

  • 01.Cihaz içi (Local) ve Online URL tabanlı PDF yükleme yeteneği
  • 02.PDF üzerinden metin seçildiği an TDK'dan veriyi çeken, UI'ı bölmeyen Draggable Bottom Sheet entegrasyonu
  • 03.Hive NoSQL mimarisiyle çalışan sıfır gecikmeli (zero-latency) arama geçmişi ve favori kelime yönetimi
  • 04.Otonom sayfa takibi: Kitap kapatıldığında kalınan sayfayı otomatik kaydetme ve geri yükleme
  • 05.Android 13+ (SDK 33) için dinamik `manageExternalStorage` dosya erişim yönetimi
Mobil platformlarda PDF işlemek ve bellek yönetimi (memory management) sağlamak her zaman risklidir. Syncfusion instance'larını doğru yaşam döngüsüyle (dispose) yöneterek olası bellek sızıntılarını (memory leak) kapattım. Projenin asıl mühendislik değeri ise TDK entegrasyonunda yatıyor; kullanıcı PDF üzerinden kelimeyi virgül veya noktayla yanlışlıkla seçse bile, araya giren Regex tabanlı sanitization motoru string'i temizleyip API'nin tam istediği hale getiriyor ve kusursuz bir kullanıcı deneyimi (UX) sunuyor.