Web Uygulaması · Eğitim Teknolojisi
word-match
Müfredat sırası, kelime bazlı mastery ve kalıcı Study oturumlarıyla Türkçe konuşan kullanıcılar için İngilizce kelime öğrenme uygulaması.
- ASP.NET Core
- React
- TypeScript
- EF Core
- PostgreSQL
- ASP.NET Core Identity
- Docker
Bağlam ve amaç
word-match, Türkçe konuşan kullanıcıların İngilizce kelime çalışmasını rastgele soru çözme deneyiminden çıkarıp düzenli bir öğrenme akışına dönüştürür. Uygulama, kullanıcının seçmesi gereken çok sayıda mod yerine tek bir Study yüzeyi sunar; sistem sıradaki uygun konuyu belirler, kullanıcı isterse konu seçimini değiştirebilir.
Amaç yalnızca doğru cevap saymak değildir. Her kelimenin hangi beceride ne zaman tekrar edilmesi gerektiğini takip eden kalıcı bir ilerleme modeli kurulur. Oturumlar, cevaplar ve mastery verisi kullanıcı hesabıyla birlikte saklanır.
Nasıl çalışır
Curriculum; seviye, sıralı konu, açık öğrenme grubu ve sıralı kelime katmanlarından oluşur. Study ana sayfası kullanıcının devam eden oturumunu ya da sıradaki uygun konuyu gösterir. Bir konu oturumu, gruptaki kelimelerin önce anlamını tanıma ardından yazılı hatırlama tarafını dengeli biçimde çalıştırır.
Cevap sonrasında API, soru sonucunu kaydeder ve ilgili kelimenin mastery durumunu günceller. Kullanıcı cevaplanması uygun olmayan yazma sorularını kısa süreli erteleyebilir; bu seçim cevap olarak sayılmaz. Tamamlanan veya yarım kalan oturumlar daha sonra ayrıntılı sonuçlarıyla görüntülenebilir.
Sistem tasarımı
ASP.NET Core API; kimlik doğrulama, Study planlama, soru üretimi, kelime kataloğu ve veri erişimini feature odaklı biçimde taşır. React istemci, oturum durumunu ve API isteklerini ayrı feature’larda yönetir. PostgreSQL; kullanıcı, curriculum, oturum, soru snapshot’ı ve mastery kayıtlarını kalıcı tutar.
İçerik verisi CSV tabanlıdır. Kaynaktaki sabit ImportKey değeri, veritabanının ürettiği kimlikten ayrıdır; idempotent bootstrap komutu bu anahtarla kelimeleri ve curriculum yerleşimini günceller. Böylece içerik düzenlemesi kullanıcı ilerlemesini gereksiz yere sıfırlamaz.
Öne çıkan teknik kararlar
Soru üretimi, Study oturumu oluşturulduğu anda planlanır ve soru/cevap snapshot’ları saklanır. Bu sayede sonraki katalog değişiklikleri devam eden bir oturumun geçmişini değiştirmez. Çoktan seçmeli sorularda yanlış seçenekler önce oturum bağlamından, sonra aynı seviyeden ve gerekirse geniş katalogdan seçilir.
Mastery, tek bir genel puan yerine beceri boyutları üzerinden ilerler. Doğru sonuçlar tekrar zamanını ileri taşırken yanlış veya bilmiyorum sonuçları uygun beceriyi kısa geri dönüşe çeker. Planlayıcı, yalnızca hazır olan kelimeleri seçer ve pekiştirme oturumlarını sınırlı sayıda soruyla tutar.
Oturum yazımı, cevap kaydı ve ilerleme güncellemesi aynı veri bütünlüğü sınırında ele alınır. Kimlik doğrulama tarafında Identity cookie’leri ve durum değiştiren isteklerde XSRF koruması kullanılır.
Doğrulama ve sınırlar
API tarafında Study planlama, soru üretimi, bootstrap ve endpoint davranışını kapsayan testler; istemci tarafında oturum, kimlik doğrulama ve kelime arayüzü testleri bulunur. Docker ve nginx yapılandırması, uygulamanın üretim benzeri bir ağ sınırında çalışmasını destekler.
Şu anki ürün odağı curriculum tabanlı Study akışıdır. Daha geniş içerik türleri, gelişmiş telaffuz değerlendirmesi ve sosyal/puan sistemleri bu çekirdeğin parçası değildir. Kelime içeriğinin niteliği kaynak CSV’nin doğruluğuna bağlıdır; uygulama bir dil öğretmeni yerine düzenli çalışma altyapısı sağlar.