Şafak — Kur'an Okuma Takipçisi
Çevrimdışı çalışan, Kur'an okumasını takip eden bir Android uygulaması.
Rol
Tek kişilik bir proje. Veri modelini, testleriyle birlikte okuma ve seri mantığını, tasarımı ve Android yayın sürümünü ben yaptım.
Stack

Android APK. Play Store'dan gelmediği için Android, kurmadan önce bilinmeyen bir kaynaktan yüklemeye izin vermenizi isteyecek.
Overview
Çevrimdışı çalışan, Kur'an okumasını takip eden bir Android uygulaması. Kur'an'ı basılı bir nüshadan okuyorsunuz; uygulamada ayet metni yok, sadece ne okuduğunuzu kaydedip sayıyor. İçinde iki ayrı okuma var: biri Arapça, biri meal, her birinin kendi sûre ızgarası ve serisi. Bir okuma ilerledikçe o ekranın arka planı geceden gündüze doğru yavaşça değişiyor; Şafak zaten gün doğumu demek. Bir de rozetler, kendi yazdığınız bir günlük ve okumayı bitirince o günlüğün PDF'i var.
Neler yapıyor
- IArapça ve meal için iki ayrı okuma, her biri kendi sûre ızgarası olan kaydırmalı bir ekran
- IIHer okumanın arka planında, 604 sayfanın ne kadarını okuduğunuza göre yükselen bir gün doğumu
- IIIGünlük bir seri (Istikrar) ve hak ederek kazandığınız bir mola günü (Istiraha), bir de iki akşam hatırlatması
- IVOkuma sonrası kendi yazdığınız, PDF olarak dışa aktarabildiğiniz bir günlük
- VRozetler, Ramazan hedef modu, ana ekran widget'ı ve İngilizce/Türkçe desteği
Ekranlar









Teknik notlar
- IUygulama hiç ağ isteği yapmıyor. 604 sayfalık mushafın ayet-sayfa haritasını bir betik derleme sırasında çekiyor, sonrasında her şey cihazda çalışıyor.
- IITek doğru kaynak okuma kaydı. Seri, kapsama, sayfa sayıları ve rozetler; hepsi bu kayıttan saf fonksiyonlarla yeniden hesaplanıyor ve birim testleriyle korunuyor.
- IIIGün doğumu, bir okumanın kaç sayfa kapsadığına göre SVG ve animasyonlu gradyanlarla çiziliyor. PDF ise expo-print ile HTML ve CSS'ten cihazda üretiliyor.
Neler öğrendim
İşin çoğu, özellik listesinde görünmeyen küçük şeylerdeydi: gün doğumunun ne hızda yükseldiği, ya da bir hatırlatmanın rahatsız etmeyecek şekilde nasıl yazıldığı. Bunları doğru yapmak, yeni özellik eklemekten daha çok işe yaradı.