EnApp - İngilizce Öğrenme Platformu

Tamamlanma Tarihi: Mart 2023

Kullanılan Teknolojiler

Java Swing AWT OOP

Proje Açıklaması

EnApp, Java Swing kullanılarak geliştirilen kapsamlı bir İngilizce öğrenme platformudur. Bu uygulama, çeşitli interaktif oyunlar, quizler ve kelime yönetim araçları sunarak kullanıcıların eğlenceli bir şekilde İngilizce öğrenmelerine ve pekiştirmelerine olanak tanır.

Platform, kullanıcıların sisteme kayıt olup giriş yapabildikleri, kişiselleştirilmiş öğrenme deneyimi sunan bir yapıya sahiptir. Kullanıcılar, kelimelerini kaydedebilir, öğrenme durumlarını takip edebilir ve çeşitli oyunlar aracılığıyla kelime hazinelerini genişletebilirler. Ayrıca, seviye belirleme quizleri ve günlük alıştırmalar sayesinde sürekli gelişimlerini izleyebilirler.

Özellikler

Kullanıcı Yönetimi

  • Kullanıcı kaydı ve giriş sistemi
  • Profil oluşturma ve düzenleme
  • Kullanıcı ilerlemesi takibi
  • Şifre yenileme ve hesap kurtarma

İnteraktif Öğrenme Oyunları

  • Harf Yerleştirme Oyunu: Eksik harfleri doğru şekilde tamamlama
  • Kelime Bulma Oyunu: Karışık harflerden anlamlı kelimeler oluşturma
  • Kelime Tahmin: İpuçlarından yola çıkarak doğru kelimeyi bulma
  • Eşleştirme: Kelimeleri anlamlarıyla doğru şekilde eşleştirme

Quiz ve Değerlendirme Sistemi

  • Seviye Belirleme Quizleri: Kullanıcının dil seviyesini tespit etme
  • Günlük Quiz Alıştırmaları: Düzenli pratik yapma imkanı
  • İlerleme Raporları: Öğrenme performansını grafiklerle görselleştirme
  • Başarı Rozetleri: Kullanıcıları motive edecek ödül sistemi

Kelime Yönetimi

  • Kişisel Kelime Listesi: Öğrenilecek kelimeleri kaydetme
  • Hatalı Kelimeler Takibi: Sık yapılan hataları özel olarak çalışma
  • Kelime Ekleme: Sisteme yeni kelimeler ekleme imkanı
  • Öğrenme Durumu Takibi: Kelimelerin öğrenilme durumunu işaretleme

Kullanıcı Dostu Arayüz

  • Sezgisel Navigasyon: Kolay kullanılabilir menü yapısı
  • Görsel Zenginlik: Öğrenmeyi pekiştiren görsel öğeler
  • Kişiselleştirilebilir Tema: Kullanıcı tercihine göre ayarlanabilir arayüz
  • Erişilebilirlik: Farklı kullanıcı ihtiyaçlarına uygun tasarım

Mimari Yapı ve Teknik Detaylar

Sistem Mimarisi

EnApp, Java SE platformu üzerinde Model-View-Controller (MVC) tasarım desenini kullanarak geliştirilmiştir. Bu yapı, uygulamanın bakımını kolaylaştırır ve genişletilebilirliğini artırır.

  • Model: Veritabanı işlemleri, kelime yönetimi ve kullanıcı verilerinin işlenmesinden sorumludur.
  • View: Java Swing ve AWT bileşenleri kullanılarak oluşturulan kullanıcı arayüzleri.
  • Controller: Kullanıcı etkileşimlerini işleyerek model ve görünüm arasındaki iletişimi sağlar.

Veritabanı Yapısı

MySQL veritabanı, kullanıcı bilgileri, kelime listeleri ve quiz sonuçları gibi verileri saklamak için kullanılmıştır. JDBC API aracılığıyla veritabanı bağlantısı sağlanır.

Kurulum Adımları


# GitHub'dan projeyi klonlayın
git clone https://github.com/YusufAkin27/EnApp.git
cd EnApp

# MySQL veritabanını oluşturun
# 'enapp_db' adında bir veritabanı oluşturun
# ve 'database/schema.sql' dosyasındaki SQL komutlarını çalıştırın

# Projeyi derleyin ve çalıştırın
javac -d bin src/*.java
java -cp bin:lib/* com.enapp.Main
                            

Geliştirme Süreci ve Öğrenilen Dersler

Geliştirme Yaklaşımı

Proje, kullanıcı merkezli bir yaklaşımla geliştirilmiş olup, dil öğrenimini daha etkili ve eğlenceli hale getirmeyi amaçlamaktadır. Aşağıdaki ilkeler gözetilmiştir:

  • Gamifikasyon: Öğrenme sürecini oyunlaştırarak motivasyonu artırma
  • Kişiselleştirme: Her kullanıcının kendi hızında ve stilinde öğrenmesine olanak sağlama
  • Tekrarlı Öğrenme: Spaced repetition metoduyla kalıcı öğrenmeyi destekleme
  • İlerleme Takibi: Kullanıcıların gelişimlerini somut şekilde görmelerini sağlama

Gelecek Geliştirmeler

  • Çevrimiçi Çoklu Oyuncu Modu: Kullanıcıların birbirleriyle yarışabilmeleri
  • Mobil Uygulama Versiyonu: Android ve iOS platformları için port
  • Sesli Komutlar: Telaffuz pratiği için konuşma tanıma özellikleri
  • Yapay Zeka Entegrasyonu: Kişiselleştirilmiş öğrenme önerileri