23 Ocak 2026 Cuma

 

Firebase ile Quiz / Bilgi Yarışması Uygulaması Geliştirme

Mobil uygulama geliştirirken hem öğretici hem de eğlenceli projeler üretmek istiyorsan, quiz (bilgi yarışması) uygulamaları bunun için harika bir tercihtir. Bu yazıda, Firebase + Android (Kotlin) kullanarak bir quiz uygulamasının nasıl geliştirileceğini, mimari mantığıyla birlikte adım adım anlatıyorum.


Quiz Uygulaması Genel Mantığı

Bir bilgi yarışması uygulamasında temel olarak şu bileşenler bulunur:

  • Sorular (question)

  • Şıklar (options)

  • Doğru cevap

  • Puanlama sistemi

  • Kullanıcı ilerlemesi

Firebase bu yapıyı dinamik, güncellenebilir ve ölçeklenebilir hale getirir.


1️⃣ Firebase Projesini Hazırlama

Öncelikle Firebase Console üzerinden:

  • Firestore Database aktif edilir

  • Test aşamasında test mode kullanılabilir

  • Authentication (isteğe bağlı) açılır

Quiz uygulamaları için Cloud Firestore önerilir.


2️⃣ Firestore Veri Modeli (Önerilen Yapı)

quizzes (collection)
 └── quizId (document)
      ├── title: "Genel Kültür"
      ├── category: "Eğitim"
      └── questions (subcollection)
           └── questionId (document)
                ├── question: "Türkiye'nin başkenti neresidir?"
                ├── options: ["İstanbul", "Ankara", "İzmir", "Bursa"]
                └── answer: "Ankara"

Bu yapı sayesinde:

  • Kategori bazlı quizler

  • İstediğin zaman soru ekleme

  • Uygulamayı güncellemeden içerik değiştirme

mümkün olur.


3️⃣ Kotlin Data Class Tanımları

data class Question(
    val question: String = "",
    val options: List<String> = emptyList(),
    val answer: String = ""
)

Firestore’dan veri çekerken bu yapı büyük kolaylık sağlar.


4️⃣ Firestore’dan Soruları Çekme

val db = FirebaseFirestore.getInstance()

db.collection("quizzes")
  .document(quizId)
  .collection("questions")
  .get()
  .addOnSuccessListener { result ->
      val questions = result.toObjects(Question::class.java)
  }

Sorular dinamik olarak Firebase’ten gelir.


5️⃣ Soru Gösterme Mantığı

Genel akış:

  1. Soruları listeye al

  2. Index ile sırayla göster

  3. Kullanıcı seçim yapar

  4. Doğru / yanlış kontrol edilir

  5. Puan güncellenir

if (selectedAnswer == question.answer) {
    score += 10
}

6️⃣ Puanlama ve Sonuç Ekranı

  • Her doğru cevap: +10 puan

  • Yanlış cevap: 0 puan

  • Toplam soru sayısına göre sonuç

Son ekranda:

  • Toplam puan

  • Doğru / yanlış sayısı

  • Tekrar oyna butonu


7️⃣ Kullanıcıya Özel İlerleme (Opsiyonel)

Firebase Authentication kullanarak:

users
 └── uid
      ├── name
      ├── highScore
      └── lastQuiz
  • En yüksek skor

  • Son oynanan quiz

  • Kullanıcıya özel istatistikler

saklanabilir.


8️⃣ Sık Yapılan Hatalar

  • ❌ Tüm soruları tek dokümana koymak

  • ❌ Büyük veri çekimleri

  • ❌ Offline senaryoyu düşünmemek

  • ❌ Firestore rules yazmamak

Her soru ayrı doküman olmalıdır.


ZaTH Developer İpucu 💡

Quiz uygulamalarında Firestore + RecyclerView + ViewModel üçlüsü çok stabil çalışır.

Basit başla, sonra özellik ekle:

  • Zamanlayıcı

  • Joker hakları

  • Kategori seçimi

  • Günlük quiz


Sonuç

Firebase ile quiz uygulaması geliştirmek:

  • Öğretici

  • Ölçeklenebilir

  • Gelir modeli (AdMob) eklenebilir

bir projedir.

ZaTH Developer olarak; eğitici, sade ve sürdürülebilir uygulamalar geliştirmeyi önemsiyorum. Bu blogda gerçek projeler üzerinden anlatmaya devam edeceğim 🚀


Hiç yorum yok:

Yorum Gönder

  Firebase + AdMob Entegrasyonu (Android Uygulamalar İçin) Mobil uygulama geliştiren herkesin aklındaki sorulardan biri şudur: Bu uygulamada...