Skip to content
YCistakPublic

About

Offline-first study assistant for Turkish university-entrance exam (YKS) candidates — mock-exam tracking, Pomodoro, and a score/rank estimator built on ÖSYM's own published method. No account, no server.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

1,144 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Rabi

Rabi

Lise öğrencileri için çevrimdışı, reklamsız YKS çalışma asistanı. Hesap yok. Çalışma verilerin ve fotoğrafların yalnızca telefonunda kalır.

Download on the App Store   Get it on Google Play

Sürüm Platform Next.js TypeScript Capacitor License

An offline-first study assistant for Turkish university-entrance exam (YKS) candidates.


Neden Rabi?

  • 🔒 Sıfır Veri Toplama: Kayıt olma zorunluluğu yok. Denemelerin, yanlış soru fotoğrafların ve notların yalnızca telefonunda kalır.
  • 🚫 Tamamen Reklamsız: Sınav senesinde dikkatini dağıtacak hiçbir reklam veya abonelik baskısı bulunmaz.
  • ⚡ Cihaz İçi OCR (Yapay Zekâ): Deneme karnesi netlerini kamera ile okuturken görüntü sunucuya gitmez; okuma doğrudan telefonunda (ONNX) yapılır.
  • 🌙 Koyu Tema Desteği: Sistem temasına uyumlu; gece çalışmalarında gözü yormayan koyu mod.

Ekranlar

Ana Sayfa Deneme Takibi & OCR Pomodoro & Odak Kilidi
Ana Sayfa Denemeler Pomodoro
Hedef bölüm, kalan gün ve günlük özet Kamera ile net okuma, ders dağılımı ve tahmin Gerçek sınav provası ve odak kilidi
Soru & Yanlış Bankası Konu Haritası Mini Oyunlar
Soru Takibi Konu Haritası Oyunlar
Günlük soru takibi ve fotoğraflı soru havuzu Maarif müfredatına göre bilgi kartları Eğlenceli pratik ve Oyun Bankası tekrarı

Neler var

  • Deneme Takibi & Tahminî Sıralama: TYT, AYT ve YDT denemelerini gir; netlerini, önceki denemeye göre gelişimini ve ders ders dökümünü gör. Deneme kâğıdının fotoğrafından doğru/yanlış sayılarını doğrudan okutabilirsin (Okut, beta). ÖSYM verilerine dayalı başarı sırası aralığını incele (bak).
  • Pomodoro & Odak Kilidi: Ders çalışma ve mola sürelerini ayarla; gerçek sınav sürelerine göre (TYT 165 · AYT 180 · YDT 120 dk) Deneme provası sekmesiyle çalış. Kilit ekranında sayaç; Android ve iOS'ta çalışma boyunca dikkat dağıtan uygulamaları kilitleme.
  • Kaynak Takibi: Test kitaplarını ekle; kitap kitap, ders ders çözdüğün konuları ve ilerlemeni takip et.
  • Soru Takibi ve Fotoğraflı Yanlış Bankası: Günlük çözdüğün soruları ders ders doğru, yanlış, boş olarak kaydet. Yanlış sorularının fotoğrafını çekip üzerine çizim yapabilir, eksiklerini biriktirebilirsin.
  • Konu Haritası & Mini Oyunlar: MEB Maarif müfredatına göre sınıf sınıf (9–12) ayrılmış yolda bilgi kartları ve doğru/yanlış yoklamalarıyla ilerle. Türk Dili ve Edebiyatı, Matematik, Tarih, Coğrafya vb. derslerde mini oyunlarla pratik yap; yanlışlar Oyun Bankası'nda biriksin.
  • Rabi'yi Giydir & Başarımlar: Hedeflerine ulaştıkça başarımlar aç, rehber tavşan maskotu Rabi'yi farklı kostümlerle (Gece Kuşu, Astronot vb.) kişiselleştir.
  • Okul Araçları: MEB yönetmeliğine uygun devamsızlık hakkı takibi, yapılacaklar listesi ve ders notları.

Puan ve sıralama sonuçları tahmindir; uygulama bunları her zaman böyle sunar.

Nasıl çalışıyor

Uygulama bir web uygulaması olarak yazılıp telefona Capacitor ile paketlenir.

Katman Kullanılan
Arayüz Next.js 16 (statik export), React 19, TypeScript, Tailwind CSS v4
Telefona paketleme Capacitor 8 (Android ve iOS)
Veri Cihazda: küçük veriler localStorage, fotoğraflar IndexedDB. Hesap yok.
Deneme okutma Telefonda çalışan OCR (onnxruntime-web, Web Worker); modeller uygulamanın içinde
Test Vitest

Kodun tamamı Türkçe yazılmıştır (değişken, dosya ve yorum adları dahil).

Klasör yapısı

app/          Next.js giriş noktası (sayfa, düzen, genel stiller)
components/   Arayüz bileşenleri; components/ekranlar/ altında uygulamanın ekranları
lib/          React'e bağlı olmayan saf mantık (puan, sıralama, hesaplar) ve testleri
lib/veri/     ÖSYM verileri ve hedef bölüm kataloğu (JSON)
lib/oyunlar/  Mini oyunların mantığı ve soru havuzları
lib/konu/     Konu kartları, harita ve müfredat içeriği
android/      Android projesi (Capacitor)
ios/          iOS projesi (Capacitor)
public/       Statik dosyalar (maskot görselleri, gizlilik sayfaları)
docs/         Alan alan proje kuralları (docs/kurallar/) ve ekran görüntüleri
scripts/      Derleme yardımcı betikleri
tasarim/      Tasarım taslakları (HTML); derlemeye girmez

Sıralama tahmini nasıl hesaplanıyor

Hesap, ÖSYM'nin kendi yayımladığı yönteme dayanır (kaynak: 2026 YKS Kılavuzu, madde 3.10.1; kod: lib/puan.ts ve lib/siralama.ts):

  1. Ham puan = doğru − yanlış / 4.
  2. Standart puan = 50 + 10 × (ham puan − ortalama) / standart sapma. Ortalama ve standart sapma, ÖSYM'nin yayımladığı sınav istatistiklerinden alınır.
  3. Ağırlıklı puan: testlerin standart puanları, kılavuzdaki ağırlıklarla (TYT, SAY, EA, SÖZ, DİL) toplanır.
  4. Ağırlıklı puan 100–500 aralığına doğrusal olarak ölçeklenir. ÖSYM ölçeğin uçlarını yayımlamadığı için bu adım bir varsayımdır: üst uç tam net yapan adayın puanı, alt uç ise yayımlanmış puan dağılımının ortalamasına oturtularak çözülür.
  5. Yerleştirme puanı = sınav puanı + OBP × 0,12.
  6. Sıralama: ÖSYM'nin her yıl yayımladığı "Yerleştirme Puanlarının Yığınsal Dağılımı" tablosu, her puan eşiğinin üstündeki aday sayısını verir; yani doğrudan bir sıralama tablosudur. Eşik arası değerler logaritmik iç değerle bulunur. Uygulama 2024, 2025 ve 2026 verilerini kullanır ve tek bir sayı yerine bu yılların oluşturduğu bir aralık gösterir.

Hedef bölümlerin başarı sıraları da ÖSYM kılavuzundan alınmış kataloğa dayanır (lib/veri/hedef-katalog-2025.json). Sınavın zorluğu yıldan yıla değiştiği için sonuçlar kesin değildir.

Geliştirme

npm install
npm run dev        # http://localhost:3000 (tarayıcıda mobil görünümde aç)
npm run typecheck
npm run test

Android derlemesi için Android SDK ve JDK 21 gerekir. Kurulumun tamamı, Android derlemesi ve katkı kuralları CONTRIBUTING.md içindedir. Proje kuralları ve tasarım kararları AGENTS.md dosyasındadır.

Gizlilik

Çalışma verilerin telefonunda kalır. Ağa yalnızca şu durumlarda çıkılır: senin gönderdiğin hata veya öneri bildirimi, her seferinde onayını isteyen çökme raporu ve Play Store güncelleme denetimi. Ayrıntılar: gizlilik politikası.

Katkı, güvenlik, sürümler

  • Katkı vermek istersen önce CONTRIBUTING.md dosyasına bak. Müfredat veya soru içeriğinde yanlış ya da eksik bir şey görürsen "İçerik düzeltmesi" başlıklı issue şablonunu kullan.
  • Güvenlik açığı bildirimi: SECURITY.md.
  • Davranış kuralları: CODE_OF_CONDUCT.md.
  • Sürüm notları: CHANGELOG.md.

Lisans

Kaynak kod GNU Affero Genel Kamu Lisansı v3.0 (AGPL-3.0-only) ile paylaşılır. Copyright (C) 2026 Fluxify Interactive ve katkıcılar.

Kodu kullanabilir, değiştirebilir ve dağıtabilirsin; ancak değiştirilmiş hâlini dağıtır ya da bir ağ hizmeti olarak sunarsan kaynak kodunu da aynı lisansla açman gerekir. v1.0.2 ve önceki sürümler MIT lisansıyla yayımlanmıştı.

"Rabi" adı, logosu ve tavşan maskotu lisans kapsamı dışındadır; Fluxify Interactive'e aittir ve izinsiz kullanılamaz.


Geliştirici: Fluxify Interactive (@YCistak) · İletişim: fluxifyinteractive@gmail.com

About

Offline-first study assistant for Turkish university-entrance exam (YKS) candidates — mock-exam tracking, Pomodoro, and a score/rank estimator built on ÖSYM's own published method. No account, no server.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages