QR/NFC check‑in, yönetici araçları, gizlilik temelleri, test ve yayın ipuçlarıyla mobil bir yoklama uygulamasını nasıl planlayıp tasarlayıp inşa edeceğinizi öğrenin.

Kablolar veya özelliklerden önce ne inşa ettiğinizi ve kimin için olduğunu netleştirin. Bir sınıf yoklama uygulaması, hızlı bir “var/yok” aracından denetimler, raporlama ve veli görünürlüğü olan tam bir yoklama sistemine kadar her şeyi ifade edebilir. Sınırları erken belirlemezseniz, öğretmenler için kafa karıştırıcı ve bakım açısından zor bir öğrenci yoklama uygulamasıyla karşılaşırsınız.
Öncelikle birincil kullanıcıları ve onların günlük gerçekliğini düşünün:
Çekirdek vaadi bir cümleyle tanımlayın, örneğin: “Yoklama süresini azaltın ve doğruluğu artırın, ekstra iş yükü yaratmadan.” Bu, QR kodu, NFC, manuel düzeltmeler veya raporlama seçimine karar verirken odaklanmayı sağlar.
Yoklamalar dağınık, gerçek ortamlarda olur: sınıflar, laboratuvarlar, spor salonları, saha gezileri, toplantılar ve bazen uzaktan oturumlar. Gürültü, zaman baskısı, cihaz erişilebilirliği ve zayıf bağlantı gibi kısıtları not edin—bunlar “yoklama için mobil uygulama”nın pratikte nasıl hissettirmesi gerektiğini belirler.
Ölçülebilir sonuçlar seçin:
Bu hedefler sonrasında ekleyeceğiniz her özelliğin karar filtresi olur.
Bir sınıf yoklama uygulaması tam bir sınıf yönetimi paketine dönüşebilir—ama her şeyi bir anda yayınlamaya çalışmak en hızlı şekilde duraklatır. Öğretmen için güvenilir yoklamalar ve net bir kayıt sağlayan en küçük kullanım setini tanımlayarak başlayın.
Ürünü uçtan uca kullanılabilir yapan vazgeçilmezler:
Çekirdek döngü stabil olduğunda doğruluğu ve raporlamayı geliştiren özellikleri ekleyin:
Gerçek sınıflar karmaşıktır. Öğretmenlerin uygulamayı bırakmaması için hafif yedek akışlar planlayın:
İyi bir MVP şu soruyu cevaplar: “Bir öğretmen 30 saniyeden kısa sürede yoklama alabilir mi ve öğrenciler kafa karışıklığı olmadan giriş yapabiliyor mu?” Bir özellik doğrudan bu hedefi desteklemiyorsa, sonraki sürümlere planlayın.
Roller ve izinler uygulamada kimin ne yapabileceğini belirler. Bunu erken doğru yapmak kafa karışıklığını (“Neden öğrenciler yoklamayı düzenleyebiliyor?”) önler ve gizlilik riskini azaltır.
Çoğu okul MVP'yi şu üç rol ile başlatabilir:
Daha sonra ihtiyaç olursa (ör. vekiller, yardımcı öğretim görevlileri, bölüm başkanları) yeni roller ekleyin—bunları tek seferlik “özel durum” olarak yapmayın.
İzinleri uygulama nesnelerine bağlanmış düz cümleler halinde yazın. Örnek:
| Nesne | Öğretmen | Öğrenci | Yönetici |
|---|---|---|---|
| Sınıf | Atanmış gördü | Kaydolduğunu gördü | Oluştur/düzenle/arşivle |
| Oturum | Atanmış için oluştur/görüntüle/düzenle | Kaydolmuş için görüntüle/giriş yap | Tümünü görüntüle, denetle |
| Yoklama kaydı | İzin verilen pencerede işaretle/düzenle | Sadece kendi kaydını gör | Düzenle, anlaşmazlıkları çöz |
| Raporlar/Dışa aktarma | Kendi sınıflarını dışa aktar | Dışa aktarma yok | Tümünü dışa aktar |
Bu format boşlukları belirgin kılar ve ekibinizin rol‑temelli erişim kontrolünü (RBAC) uygularken şüpheleri azaltır.
İzinler yalnızca role göre değil, kapsam ile sınırlı olmalı:
Ayrıca düzenlemelerin nerede izinli olacağını kararlaştırın. Örneğin, öğretmenler yoklamaları sadece 24 saat içinde düzeltebilir; yöneticiler daha sonra gerekçe ile geçersiz kılabilir.
Geçişler, düşen sınıflar ve dönem değişiklikleri için plan yapın. Öğrenci sınıf değiştirse bile geçmiş kayıtların okunabilir kalmasını sağlayın ve geçmiş dönem raporlarını doğru kişilerin üretebildiğinden emin olun.
Seçtiğiniz yöntem her şeyi belirler: yoklamanın hızı, hangi cihazları desteklemeniz gerektiği ve sahteciliğin ne kadar kolay olabileceği. Birçok uygulama birden fazla yöntemi destekler; böylece okullar basit başlayıp sonra seçenek ekleyebilir.
Manuel yoklama her yerde çalışan en güvenli seçenektir. Öğretmen sınıf listesini açar, var/geç/eksik olarak işaretler ve hızlı not ekleyebilir (örn. “10 dakika gecikti”).
Tarama veya konum eklerseniz bile bunu bir yedek olarak kullanın—Wi‑Fi kesintileri, kameralar bozulur ve vekiller güvenilir bir akışa ihtiyaç duyar.
QR popülerdir çünkü hızlıdır ve özel donanım gerektirmez. Öğretmen ekranda bir QR gösterir (veya bastırır), öğrenciler uygulamayla tarar ve yoklama kaydedilir.
“Ekran görüntüsü paylaşımını” azaltmak için QR kodu:
NFC yüz yüze deneyimini en pürüzsüz yapan yöntem olabilir: öğrenciler sınıf kapısındaki etikete veya öğretmenin cihazına dokundurur.
Dezavantajlar: tüm telefonlar NFC desteklemez ve etiketleri satın alıp yönetmeniz gerekebilir. NFC, okul fiziksel alanı kontrol ettiğinde ve “dokun ve git” hızını istediğinde en iyi çalışır.
Geofencing bir öğrencinin belirli bir mekânda olduğunu doğrulayabilir (spor salonu, laboratuvar, kampüs binası). Büyük ders salonlarında tarama kuyrukları oluştuğunda işe yarar.
Dikkat: GPS iç mekânlarda hatalı olabilir ve konum verileri hassastır. Onay açık olsun, gereken asgari veriyi toplayın (çoğu zaman “içeride/dışarıda” yeterlidir) ve konum dışı bir yedek sunun.
Sanal oturumlar için pratik bir yaklaşım tek seferlik bir kod + zaman penceresidir (örn. 3 dakika). Kod paylaşımını caydırmak için öğrencinin oturum açmasını zorunlu kılma, deneme sayısını sınırlama ve aynı cihaz/IP’den çok sayıda giriş gibi olağandışı desenleri işaretleme gibi hafif kontroller ekleyin.
Emin değilseniz, MVP olarak manuel + QR ile başlayın; sonra okulun fayda sağlayacağı yerde NFC veya geofence ekleyin.
İyi yoklama uygulamaları “anında” hissi verir. Öğrenciler birkaç dokunuşla giriş yapabilmeli; öğretmenler ise sınıf durumunu bir bakışta anlamalı.
Günlük kullanım için minimal ekran setiyle başlayın:
Tasarım ipucu: acele kullanım varsayımıyla büyük düğmeler, kısa etiketler ve tarama hataları için “Tekrar dene” yolu ekleyin.
Öğretmenlerin üç anı desteklemesi gerekir:
Kritik eylemleri menülere gömmeyin—oturumu başlatma/bitirme her zaman görünür olmalı.
Birçok okul sınıf, kullanıcı ve rapor yönetimi için mobil yerine web tabanlı yönetici paneli tercih eder. Toplu düzenlemeler, yoklamaların dışa aktarımı ve personel değişiklikleri için web daha uygundur.
Yüksek kontrastlı metin, büyük yazı boyutu desteği, açık hata mesajları (“QR tanınmadı—daha yakınlaştırın ve parlaklığı artırın”) ve düşük ışık tarama UI'si (parlak viewfinder, el feneri anahtarı) ekleyin.
Temiz bir veri modeli uygulamanın güvenilir kalmasını sağlar. Önce gerçekten ihtiyaç duyduğunuz minimum veriyi yazın, ardından bir kullanım durumu gerektirdikçe genişletin.
Asgari olarak ihtiyacınız olacak:
Çoğu uygulama küçük bir varlık setiyle modellenebilir:
İpucu: Session ile AttendanceEvent'i ayrı tutun ki “gelmeyenler” sahte olay yaratmadan takip edilebilsin.
Her düzenleme izlenebilir olmalı. Her değişiklik için şunları saklayın: kim (öğretmen/ yönetici ID), ne zaman, hangi alanlar ve kısa bir gerekçe (örn. “tıbbi not sağlandı”). Bu anlaşmazlıkları azaltır ve uyumluluğu destekler.
Kaçınılmaz olarak karar verin:
Veri talepleri için silme iş akışlarını belgeleyin: neler kaldırılıyor, ne anonimleştiriliyor ve hangi kayıtlar yasal/politika nedeniyle saklanmalı. Açık bir politika sonradan panik yaşanmasını engeller.
Teknoloji yığını MVP kapsamınıza, ekibinizin becerilerine ve okulların önem verdiği raporlama ihtiyaçlarına uygun olmalı. En basit yığın genellikle en az hareketli parça olandır.
Çoğu ilk versiyon için yönetilen bir backend aylar kazandırır.
Kural: yönetilen ile başlayın; net bir sınıra gelene kadar özel API'ye geçmeyin.
Eğer geleneksel inşa döngüsüne bağlı kalmadan daha hızlı ilerlemek isterseniz, Koder.ai gibi vibe-coding platformlarında prototip oluşturabilirsiniz. Sohbet ile öğretmen/öğrenci akışlarını yineleyebilir, React yönetici paneli oluşturabilir ve Go + PostgreSQL backend kurabilirsiniz—ve hazır olduğunuzda kaynak kodu dışa aktarabilirsiniz.
Yoklama raporlamaya dayalıdır. “Eylül ayında 9. sınıfın tüm devamsızlıkları” veya “öğrenci bazında gecikmeler” gibi sorgular bekliyorsanız SQL (Postgres) genellikle en güvenli tercihtir.
NoSQL hızlı prototipler için çalışabilir ama gereksinimler büyüdükçe raporlama zorlaşabilir.
Yaygın seçenekler:
Hangi yöntemi seçerseniz seçin, hesap yaşam döngüsünü (yeni dönem, transfer, mezuniyet) erkenden planlayın—aksi halde destek maliyetleri fırlayabilir.
Sınıf gürültülü, zaman sınırlı bir ortamdır. Öğrenciler farklı zamanlarda gelir, Wi‑Fi zayıftır ve “kodunu tara” hızla kenar durumlara dönüşür. Yoklama akışınız bu koşullarda başarısız olursa öğretmenler uygulamayı terk eder.
Yoklamaların ağ yokken bile çalışması için plan yapın:
Senkronizasyon sırasında olayları üzerine yazmak yerine ekleme odaklı (append-only) gönderin; hata ayıklama kolaylaşır.
Çevrimdışı ve çoklu cihazlar çakışma yaratır. Sunucunun otomatik çözebilmesi için deterministik kurallar belirleyin:
Ağır gözetim gerekmez—birkaç pratik kontrol yeterlidir:
Telefon saatleri yanlış olabilir. Mümkün olduğunda sunucu zamanına güvenin: uygulama oturum zaman penceresini sunucudan isteyip yüklemeyi bu kurallara göre doğrulasın. Çevrimdışıyken cihaz zaman damgası kaydedin ama senkron esnasında sunucu ile karşılaştırıp belirlenen kuralları tutarlı şekilde uygulayın.
Yoklama verisi basit gözükse de sıklıkla kişisel tanımlayıcı bilgileri (PII) ve zaman/konum sinyallerini içerir. Gizliliği ve güvenliği sadece mühendislik işi değil, ürün gereksinimi olarak ele alın.
Tüm ağ trafiği HTTPS (TLS) ile şifrelenmeli. Bu, okul Wi‑Fi'sinde yoklamaların, roster güncellemelerinin ve yönetici işlemlerinin ele geçirilmesini engeller.
Sunucuda veri saklanırken sağlayıcı destekliyorsa at‑rest şifrelemesi etkinleştirin ve anahtarları yönetilen bir anahtar hizmetiyle koruyun. Cihazda hassas veri saklamaktan kaçının; çevrimdışı önbellek gerekiyorsa OS tarafından sağlanan güvenli depolamayı tercih edin.
Doğrulama ve anlaşmazlık desteklemek için gerekeni toplayın. Birçok okul için öğrenci ID, oturum ID, zaman damgası ve “yöntem” bayrağı yeterlidir.
Eğer ek sinyaller (GPS koordinatları, QR tarama meta verisi veya cihaz tanımlayıcılar) kaydediyorsanız, amacı açık bir dilde belgeleyin. “Konumu yalnızca sınıfta olduğunu doğrulamak için kullanıyoruz” gibi sade açıklamalar belirsiz ifadelerden daha iyi okunur.
Kullanıcılar hangi işlemin geçerli yoklama sayılacağını ve nelerin kaydedileceğini anlamalı. Yoklama ekranı ve ayarlarında açıkça gösterin:
Bu, özellikle QR, NFC veya geofence gibi yöntemler getirdiğinizde güven oluşturur.
Gereksinimler bölgeye ve kuruma göre değişir. ABD'de öğrenci kayıtları FERPA kapsamına girebilir; AB/İngiltere'de GDPR geçerli olabilir. Pazarlama metninde uyumluluk sözü vermeden önce hukuki doğrulama yapın. Bunun yerine aşağıdaki ortak beklentilerle tasarlayın: rol bazlı erişim kontrolleri, düzenleme denetim kayıtları, veri saklama kontrolleri ve kayıt dışa aktarma/silme yolları.
Eğer uygulamanız başka sistemlerle entegre oluyorsa, paylaşılan verileri gözden geçirin ve bu entegrasyonların da güvenli, kimlik doğrulamalı bağlantılar kullandığından emin olun.
Bildirimler bir sınıf yoklama uygulamasını "canlı" hissettirir. Doğru yapıldığında kaçırılan yoklamaları azaltır ve öğretmenlerin takip işini hafifletir. Kötü yapıldığında ise gürültü olur—bu yüzden ilgili, zamanında ve kontrol edilebilir olmalarını sağlayın.
Basit bir push seti çoğu okul için yeterlidir:
Kullanıcılara kontrol verin. Öğrenciler bir ders için hatırlatmaları susturabilmeli; öğretmenler sınav veya saha gezisi gibi özel durumlar için öğrenci hatırlatmalarını devre dışı bırakabilmelidir. Ayrıca erişilebilirlik için net ifadeler kullanın.
E‑posta hâlâ kayıt tutma ve yönetim iş akışları için faydalıdır. İsteğe bağlı ve yapılandırılabilir tutun:
Hassas bilgileri yanlış posta kutusuna göndermekten kaçının—alıcıları role göre belirleyin ve yalnızca gerekli bilgiyi gönderin.
Entegrasyonlar zaman kazandırır ama MVP'yi yavaşlatabilir. Pratik yol:
Okullar çok farklıdır. Entegrasyonları ayarlar altında tutun; her okul neyi bağlayacağını, kimlerin açabileceğini ve hangi verinin hareket edeceğini seçsin. Varsayılanı “kapalı” yapın ve davranışı açıkça belgeleyin (örn. /privacy veya /settings gibi yerlerde) ki yöneticiler neyi açtıklarını bilsin.
Gerçek testler olmadan uygulamayı yayınlamak; kızgın öğretmenler, kafası karışık öğrenciler ve güvenilmez kayıtlar demektir. Hedef “mükemmel” değil—yoklama akışının hızlı, net ve savunulabilir veri ürettiğini kanıtlamaktır.
Yoklama çoğunlukla mantıktır: kim giriş yapabilir, ne zaman yapabilir ve iki kez denediğinde ne olur. Şunlar için birim testleri yazın:
Bu testler, manuel QA'da fark edilmeyen sessiz hataları engeller.
Uygulama simulatörde geçse de sınıfta başarısız olabilir. Cihaz/OS matriksinde test edin, özellikle riskli donanım özelliklerine odaklanın:
Ayrıca zayıf bağlantı senaryolarını test edin: uçak modu, Wi‑Fi'den hücresel veriye geçiş ve captive portal'lar.
Bir öğretmen ve bir sınıfla en az bir hafta pilot yürütün. Mümkünse ilk oturumları canlı gözlemleyin.
Geri bildirim toplayın:
Anında sorun raporu kolay olsun (ör. cihaz bilgisi ve zaman damgası içeren uygulama içi “Sorunu bildir”).
Güvenilir analitik kurun; teknik hataları gerçek devamsızlıklardan ayırın. Teknik olayları ayrı loglayın: “tarama başarısız”, “NFC okunamadı”, “GPS kullanılamıyor”, “çevrimdışı sıraya alındı”. Bu sayede “12 öğrenci devamsız mıydı yoksa projeksiyonda QR görünmedi mi?” sorularına yanıt bulursunuz.
Öğretmen odaklı metrikler yayınlarsanız, bunları eyleme dönüştürülebilir tutun: akışı yavaşlatan noktaları vurgulayın ve MVP'de ne düzeltileceğini gösterin.
Yoklama uygulamasını yayınlamak bir bitiş çizgisi değil—gerçek kullanımın size neyi düzeltmeniz, sadeleştirmeniz ve genişletmeniz gerektiğini öğrettiği başlangıçtır.
Gönderimden önce temiz bir yayın paketi planlayın:
Kısa bir “Ne topluyoruz ve neden” sayfasını uygulama içinde bulundurmak yardımcı olur (ör. /privacy) ve mağaza açıklamalarında da aynı dili yansıtın.
Benimseme sorunlarının çoğu kurulum sürtünmesiyle başlar. Yönetici onboarding'i şu adımları kapsamalı:
Koruyucu önlemler ekleyin: yinelenen öğrencileri tespit edin, roster düzenlemelerini kolaylaştırın ve yeni yöneticilerin güvenle tıklayıp denemesi için bir “örnek sınıf” sunun.
Hafif bir destek planıyla başlayın:
Geri bildirim + metrikleri önceliklendirmek için kullanın:
Küçük iyileştirmeleri düzenli yayınlayın ve değişiklikleri uygulama içinde sade bir dille bildirin.
Bir cümlelik çekirdek vaatle başlayın (örn. “Yoklamayı 30 saniyeden kısa sürede, daha az anlaşmazlıkla alın”) ve birincil kullanıcıları belirleyin.
Uçtan uca çalışan en küçük döngüyü yayınlayın:
Eğer bir özellik hızlı, güvenilir yoklamaları doğrudan desteklemiyorsa, onu ikinci faza erteleyin.
İzinleri nesneler üzerinde “eylemler” şeklinde tanımlayın ve en az erişim ilkesini uygulayın:
Ayrıca düzenleme pencerelerini belirleyin (örn. öğretmenler 24 saat içinde değiştirebilir; yöneticiler daha sonra gerekçe ile geçersiz kılabilir).
Ortamınıza ve sahteciliğe göre yöntemi seçin:
Çoğu ekip ile başlar, gerektiğinde diğerlerini ekler.
“Aceleyle kullanım” için tasarlayın:
Erişilebilirlik: yüksek kontrast, büyük yazı desteği, açık hata mesajları, tarama için el feneri düğmesi ekleyin.
Şemayı küçük ve raporlamaya uygun tutun:
Session'ı AttendanceEvent'ten ayrı saklayın ki “gelmeyenler” anlamlı olsun. Düzenlemeler için kim, neyi, ne zaman ve neden değiştirdiğinin kaydını tutun (audit trail).
Bunu temel bir gereksinim olarak ele alın:
Çakışma kuralları (çoğaltma, birden fazla cihaz, oturum sonrası geç senkron) gibi deterministik kuralları önceden belirleyin ki sunucu bunları otomatik çözsün.
Aşırı gözetim gerektirmeyen, öğretmeni zorlamayan kontroller kullanın:
Ayrıca cihaz saat sorunlarını hesaplayın: mümkün olduğunda sunucu zamanını kullanın ve çevrimdışıyken gönderilen zaman damgalarını senkron esnasında doğrulayın.
Gizliliği ve güvenliği ürün gereksinimi olarak ele alın:
Konum veya cihaz verisi kullanıyorsanız bunu isteğe bağlı yapın ve mutlaka bir yedek sağlayın. Ayrıca kullanıcıların hangi verinin kaydedildiğini ve kimlerin görebileceğini açıkça gösterin (ör. oturum ekranında veya /privacy gibi yerde).
Pilot ve test sürecinde ölçülebilir akışı kanıtlamak hedef olmalı:
Pilot sırasında sorun bildirme kolay olsun; uygulama içi bir “Sorunu bildir” bağlantısı cihaz ve zaman damgası bilgisi içermelidir.