KanaDojo Hakkında | Ekran Görüntüleri | Arayüz & Tasarım Felsefesi | Kullanılan Teknolojiler | Başlangıç | Proje Yapısı | Katkıda Bulunma | Lisans | Teşekkürler | İletişim & Bağlantılar
KanaDojo, Hiragana, Katakana, Kanji ve kelime bilgisinde ustalaşmayı eğlenceli ve kolay hale getiren etkileşimli bir web tabanlı Japonca öğrenme platformudur. Estetiğe, özelleştirilebilirliğe ve etkili öğrenmeye odaklanılarak tasarlanan KanaDojo, her seviyeden Japonca öğrencisi için kapsamlı bir eğitim ortamı sunar.
İster daha yeni kana hecelerini öğrenmeye başlıyor olun, isterseniz de ileri düzey kanji ve kelimeler ile JLPT sınavlarına hazırlanıyor olun, KanaDojo akıcı, dikkat dağıtıcı öğelerden uzak sizin tercihlerinize ve öğrenme tarzınıza uyum sağlayan bir öğrenme deneyimi sunar.
- Kana Dojo - Hiragana ve Katakana hece sistemlerinde temel, dakuon, yoon ve yabancı ses gruplarını öğrenerek ustalaşın
- Kanji Dojo - JLPT seviyelerine (N5, N4, N3, N2) göre düzenlenmiş, en önemli kanji karakterlerini öğrenin
- Vocabulary Dojo - Yeterlilik seviyesine göre seçilmiş kelime koleksiyonları ile Japonca kelime bilginizi geliştirin
Her dojo, öğrenmeyi pekiştirmek için dört ilgi çekici eğitim modunu destekler:
- Seçmeli - Çoktan seçmeli: Gösterilen karakter için doğru romaji/çeviriyi seçin
- Tersten Seçmeli - Tersten çoktan seçmeli: Verilen romaji/çeviri için doğru karakteri seçin
- Yazma - Yazı yazma: Doğru romaji/çeviriyi yazın
- Tersten Yazma - Tersten yazı yazma: Doğru karakteri yazın
- 100+ Tema - Geniş bir koleksiyondan oluşan birbirinden güzel açık ve koyu temalardan birini seçin veya rastgele tema özelliğini kullanın
- 28 Japon Yazı Stili - Estetik tercihinize göre çeşitli özgün Japon yazı tipleri arasından bir seçim yapın
- Ses Efektleri - Açılıp kapatılabilen tatmin edici arayüz geri bildirim seslerinin keyfini çıkarın
- Gösterim Seçenekleri - Seçim menüsünde Romaji/İngilizce ve Kana/Kanji gösterimleri arasında geçiş yapın
- Kısa Yol Tuşları - Verimli öğrenme için klavye kısayolları (devre dışı bırakılabilir)
- Doğru/yanlış sayacı ile gerçek zamanlı geri bildirim
- Motivasyonu sürdürmek için seri takibi
- Öğrenim sürecinizi izlemek için istatistikler
- Masaüstü, tablet ve mobil cihazlarda çalışan tamamiyle duyarlı tasarım
- Kurulum gerektirmez - internet bağlantısı olan her yerde çalışın
- Öğrenmeye odaklanmanızı sağlayan temiz, minimalist arayüz
- Framer Motion tarafından sağlanan akıcı animasyonlar ve geçişler
KanaDojo, maksimum esneklikle birleştirilmiş minimalist bir estetiği benimser. Tasarım felsefesinin merkezinde şunlar yer alır:
- Dikkat dağınıklığını en aza indiren temiz arayüz
- Eğitimin içeriğine odaklanın
- Rahatca gezinme ve net bilgi hiyerarşisi
- Amaca yönelik boşluk kullanımı
- Yumşak pastel renklerden canlı neonlara kadar uzanan geniş tema kütüphanesi (100+ seçenek)
- Hem açık ve hem de koyu modu destekler
- Uzun süreli çalışma seansları sırasında göze rahat gelen, özenle seçilmiş renk paletleri
- Kesintisiz tema geçişleri
- Tatmin edici geri bildirimler sağlayan akıcı animasyonlar ve mini etkileşimler
- Tüm ekran boyunlarına mükemmel uyum sağlayan duyarlı tasarım
- Etkileşimler için sesli geri bildirim (isteğe bağlı)
- Tüm bölümlerde tutarlı görsel dil
- Çeşitli stilleri kapsyan 28 özgün Japon yazı tipi
- Karmaşık kanji karakterlerinin düzgün gösterimi
- Benzer görünen karakterler arasında net ayrım
- Gerçek Japon metin örnekleriyle yazı tipi önizlemeleri
KanaDojo, en iyi performans ve geliştirici deneyimi için modern web teknolojileri ile geliştirilmiştir:
- Next.js 15 - Sunucu taraflı renderleme ve en iyi performans için App Router kullanan React framework'ü
- React 19 - Eşzamanlı (concurrent) özelliklere sahip güncel React sürümü
- TypeScript - Tür güvenli geliştirme
- Tailwind CSS - Kullanışlılık öncekli CSS framework'ü
- shadcn/ui - Yüksek kaliteli erişilebilir bileşen kütüphanesi
- Framer Motion - Akıcı animasyonlar ve geçişler
- Lucide React - Güzel ve tutarlı ikon kütüphanesi
- FontAwesome - Ek ikon desteği
- Zustand - Minimum başlangıç koduyla hafifletilmiş durum yönetimi
- Zustand Persist - Kullanıcı tercihleri için yerel depolama kalıcılığı
- use-sound - Ses geri bildirim sistemi
- canvas-confetti - Kutlama efektleri
- react-timer-hook - Zamanlayıcı işlevselliği
- react-markdown - Eğitici içerikler için Markdown işleme
- random-js - Kriptografik olarak güçlü rastgele sayı üretimi
- clsx + tailwind-merge - Koşullu tasarım yardımcıları
- ESLint - Kod denetimi
- next-sitemap - Otomatik site haritası oluşturma
- @vercel/analytics - Web analitiği
- @vercel/speed-insights - Performans izleme
- Node.js 18.x veya üstü
- npm 10.x veya üstü (Node.js ile birlikte gelir)
-
Depoyu klonlayın
git clone https://github.com/lingdojo/kanadojo.git cd kanadojo -
Bağımlılıkları yükleyin
npm install
-
Geliştirme sunucusunu çalıştırın
npm run dev
-
Tarayıcınızı açın http://localhost:3000 adresine gidin
# Yayın ortamı için optimize edilmiş derleme oluştur
npm run build
# Yayın sunucusunu çalıştır
npm start# ESLint'i çalıştır
npm run lint
# Site haritasını oluştur (derlemeden sonra otomatik olarak çalışır)
npm run postbuildGeliştirme süresince sorunlar ile karşılaştıysanız, şu çözümleri deneyin:
macOS/Linux:
rm -rf .next
npm run devWindows (PowerShell):
Remove-Item -Recurse -Force .next
npm run devWindows (Komut İstemi):
rmdir /s /q .next
npm run devmacOS/Linux:
rm -rf node_modules package-lock.json
npm installWindows (PowerShell):
Remove-Item -Recurse -Force node_modules, package-lock.json
npm installWindows (Komut İstemi):
rmdir /s /q node_modules
del package-lock.json
npm installmacOS/Linux:
rm -rf .next node_modules package-lock.json
npm cache clean --force
npm install
npm run devWindows (PowerShell):
Remove-Item -Recurse -Force .next, node_modules, package-lock.json
npm cache clean --force
npm install
npm run devWindows (Komut İstemi):
rmdir /s /q .next
rmdir /s /q node_modules
del package-lock.json
npm cache clean --force
npm install
npm run devEğer 3000 portu zaten kullanımdaysa:
macOS/Linux:
# 3000 portunu kullanmakta olan işlemi bulun
lsof -i :3000
# İşlemi sonlandırın (PID'i gerçek işlemi ID'si ile değiştirin)
kill -9 PIDWindows (PowerShell/Komut İstemi):
# 3000 portunu kullanmakta olan işlemi bulun
netstat -ano | findstr :3000
# İşlemi sonlandırın (PID'i gerçek işlemi ID'si ile değiştirin)
taskkill /PID PID /FVeya farklı bir portta çalıştırın:
# macOS/Linux/Windows
PORT=3001 npm run devkanadojo/
├── app/ # Next.js App Router sayfaları
│ ├── kana/ # Kana dojo sayfaları
│ │ └── train/[gameMode]/ # Her oyun modu için eğitim sayfaları
│ ├── kanji/ # Kanji dojosu sayfaları
│ │ └── train/[gameMode]/
│ ├── vocabulary/ # Kelime dojosu sayfaları
│ │ └── train/[gameMode]/
│ ├── preferences/ # Ayarlar ve özelleştirmeler sayfası
│ ├── academy/ # Eğitici içerik
│ ├── layout.tsx # Sağlayıcılar için kök tasarım planı
│ └── page.tsx # Ana sayfa
│
├── components/ # React bileşenleri
│ ├── Dojo/ # Belirli eğitime özel bileşenler
│ │ ├── Kana/ # Kana seçimi ve kartları
│ │ ├── Kanji/ # Kanji seçimi ve kartları
│ │ └── Vocab/ # Kelime seçimi ve kartları
│ ├── reusable/ # Paylaşımlı bileşenler
│ │ ├── Menu/ # Gezinme ve menü bileşenleri
│ │ └── ... # Yeniden kullanılabilir diğer bileşenler
│ ├── Settings/ # Tercih bileşenleri
│ └── ui/ # shadcn/ui bileşenleri
│
├── lib/ # Yardımcı araçlar ve fonksiyonlar
│ ├── hooks/ # Özel React hook'ları
│ │ ├── useAudio.ts # Sesli geri bildirim hook'ları
│ │ └── ...
│ ├── interfaces.ts # TypeScript arayüzleri
│ └── utils.ts # Yardımcı fonksiyonlar
│
├── i18n/ # Çeviri yönetim sistemi
│ └── request.ts # Çevrilmiş metin getirme yardımcısı
│
├── store/ # Zustand durum yönetimi
│ ├── useKanaKanjiStore.ts # Kana/Kanji seçim durumu
│ ├── useVocabStore.ts # Vocabulary seçim durumu
│ ├── useStatsStore.ts # İstatistikler ve ilerleme
│ └── useThemeStore.ts # Tema ve tercihler
│
├── static/ # Statik veri ve yapılandırma
│ ├── kana.ts # Kana karakter verisi
│ ├── kanji/ # JLPT seviyesine göre Kanji verisi
│ ├── vocab/ # Kelime verileri
│ ├── themes.ts # Tema tanımları
│ ├── fonts.ts # Yazı tipi yapılandırmaları
│ └── info.tsx # Bilgilendirici içerik
│
├── translations/ # Çevrilmiş metin içeriği
│ ├── en.json # İngilizce metin içeriği
│ └── es.json # İspanyolca metin içeriği
│
├── public/ # Sabit dosyalar
│ ├── sounds/ # Ses dosyaları
│ └── wallpapers/ # Arka plan resimleri
- Kullanıcı menü bileşenlerinde içeriği seçer
- Seçimler Zustand depolarında (
useKanaKanjiStore,useVocabStore) saklanır - Eğitim bileşenleri soruları oluşturmak için depolardan okur
- İstatistikler
useStatsStoreiçersinde takip edilir ve saklanır - Kullanıcı tercihleri localStorage kalıcılığı ile
useThemeStoreiçerisinde kaydedilir
- Dojo Bileşenleri: Her içerik türü için karakter/kelime seçimini yönetir
- Eğitim Bileşenleri: Oyun modlarını ekranda oluşturur ve kullanıcı etkileşimini yönetir
- Yeniden Kullanılabilir Bileşenleri: Paylaşımlı arayüz öğeleri (butonlar, kartlar, modallar, vb.)
- Menü Bileşenleri: Gezinme, bilgi bölümleri ve dojo seçimi
- Kana: Türe (hiragana/katakana) ve gruplara (temel, dakuon, yoon, yabancı) göre düzenlenmiştir
- Kanji: Okunuşları ve anlamları ile birlikte JLPT seviyesine (N5-N2) göre düzenlenmiştir
- Vocabulary: JLPT seviyesine ve kelime türüne (isimler, fiiller vb.) göre düzenlenmiştir
Her oyun modu, aşağıdaki işlevleri yerine getiren dinamik bir yoldur (/[contentType]/train/[gameMode]):
- İlgili depodan seçilen içeriği okur
- Seçimden rastgele sorular üretir
- Anında geri bildirim sağlar
- İstatistikleri (doğru, yanlış, seri) takip eder
Katkılarınızı bekliyoruz! KanaDojo, topluluk tarafından topluluk için geliştirilen açık kaynaklı bir projedir. Nasıl katkıda bulunacağınıza dair daha ayrıntılı bilgi için CONTRIBUTING.md dosyasına göz atın.
- Depoyu çatallayın
- Bir özellik dalı oluşturun (
git checkout -b feature/AmazingFeature) - Değişikliklerinizi katkı olarak işleyin (
git commit -m 'Add some AmazingFeature') - Dalı gönderin (
git push origin feature/AmazingFeature) - Bir Birleştirme İsteği(Pull Request) açın
- Mevcut kod stilini ve kurallarını takip edin
- Tür güvenliği için TypeScript kullanın
- Değişikliklerinizi kapsamlı bir şekilde test edin
- Gerektiğinde dökümanları güncelleyin
- Bileşenleri tek bir amaca odaklı ve yeniden kullanılabilir tutun
Bu proje AGPL 3.0 Lisansı altında lisanslanmıştır - ayrıntılar için LICENSE.md dosyasına bakın.
- Japonca dil verileri ve karakter bilgileri
- Harika araçlar ve kütüphaneler için açık kaynak topluluğu
- KanaDojo'yu daha iyi hale getirmek için katkı katkıda bulunanlar
- Web sitesi: kanadojo.com
- Depo: github.com/lingdojo/kanadojo
- E-posta: dev@kanadojo.com
**Dünya çapındaki Japonca öğrenenler için ❤️ ile yapılmıştır
がんばって! (Ganbatte! - Elinden gelenin en iyisini yap!)






