
GitHub Actions Workflow-Sandbox (CVE-2026-48546 Reproduktion)
Über KanaDojo | Screenshots | UI & Design-Philosophie | Technischer Stack | Erste Schritte | Projektstruktur | Mitwirken | Lizenz | Danksagungen | Kontakt & Links

Eine ästhetische, minimalistische und hochgradig anpassbare Plattform zur Beherrschung der japanischen Sprache
KanaDojo ist eine fesselnde, webbasierte Lernplattform für Japanisch, die das Meistern von Hiragana, Katakana, Kanji und Vokabeln spaßig und intuitiv gestaltet. Entwickelt mit Fokus auf Ästhetik, Anpassbarkeit und effektives Lernen, bietet KanaDojo eine immersive Trainingsumgebung für Japanischlernende aller Niveaus.
Ob Sie gerade mit den grundlegenden Kana-Silbenschriften beginnen oder sich mit fortgeschrittenen Kanji und Vokabeln auf die JLPT-Prüfungen vorbereiten, KanaDojo bietet ein optimiertes, ablenkungsfreies Lernerlebnis, das sich an Ihre Präferenzen und Ihren Lernstil anpasst.
Jedes Dojo unterstützt vier fesselnde Trainingsmodi zur Lernverstärkung:
Home Page
Kana Selection
Training Mode
Customization & Themes
KanaDojo verbindet eine minimalistische Ästhetik mit maximaler Flexibilität. Die Design-Philosophie konzentriert sich auf:
KanaDojo wurde mit modernen Web-Technologien für optimale Leistung und Entwicklererfahrung erstellt:
git clone https://github.com/lingdojo/kanadojo.git
cd kanadojo
npm install
npm run dev
# Eine optimierte Produktions-Build erstellen
npm run build
# Den Produktionsserver starten
npm start
# ESLint ausführen
npm run lint
# Sitemap generieren (läuft automatisch nach dem Build)
npm run postbuild
Wenn Sie während der Entwicklung auf Probleme stoßen, versuchen Sie diese Lösungen:
macOS/Linux:
rm -rf .next
npm run dev
Windows (PowerShell):
Remove-Item -Recurse -Force .next
npm run dev
Windows (Command Prompt):
rmdir /s /q .next
npm run dev
macOS/Linux:
rm -rf node_modules package-lock.json
npm install
Windows (PowerShell):
Remove-Item -Recurse -Force node_modules, package-lock.json
npm install
Windows (Command Prompt):
rmdir /s /q node_modules
del package-lock.json
npm install
macOS/Linux:
rm -rf .next node_modules package-lock.json
npm cache clean --force
npm install
npm run dev
Windows (PowerShell):
Remove-Item -Recurse -Force .next, node_modules, package-lock.json
npm cache clean --force
npm install
npm run dev
Windows (Command Prompt):
rmdir /s /q .next
rmdir /s /q node_modules
del package-lock.json
npm cache clean --force
npm install
npm run dev
Wenn Port 3000 bereits verwendet wird:
macOS/Linux:
# Prozess finden, der Port 3000 verwendet
lsof -i :3000
# Prozess beenden (PID durch tatsächliche Prozess-ID ersetzen)
kill -9 PID
Windows (PowerShell/Command Prompt):
# Prozess finden, der Port 3000 verwendet
netstat -ano | findstr :3000
# Prozess beenden (PID durch tatsächliche Prozess-ID ersetzen)
taskkill /PID PID /F
Oder einfach auf einem anderen Port ausführen:
# macOS/Linux/Windows
PORT=3001 npm run dev
kanadojo/
├── app/ # Next.js App Router Seiten
│ ├── kana/ # Kana Dojo Seiten
│ │ └── train/[gameMode]/ # Trainingsseiten für jeden Spielmodus
│ ├── kanji/ # Kanji Dojo Seiten
│ │ └── train/[gameMode]/
│ ├── vocabulary/ # Vokabel Dojo Seiten
│ │ └── train/[gameMode]/
│ ├── preferences/ # Einstellungen und Anpassungsseite
│ ├── academy/ # Bildungsinhalte
│ ├── layout.tsx # Root-Layout mit Providern
│ └── page.tsx # Startseite
│
├── components/ # React Komponenten
│ ├── Dojo/ # Trainingsspezifische Komponenten
│ │ ├── Kana/ # Kana Auswahl und Karten
│ │ ├── Kanji/ # Kanji Auswahl und Karten
│ │ └── Vocab/ # Vokabel Auswahl und Karten
│ ├── reusable/ # Gemeinsame Komponenten
│ │ ├── Menu/ # Navigations- und Menükomponenten
│ │ └── ... # Andere wiederverwendbare компоненты
│ ├── Settings/ # Präferenzkomponenten
│ └── ui/ # shadcn/ui Komponenten
│
├── lib/ # Utilities und Helferfunktionen
│ ├── hooks/ # Benutzerdefinierte React Hooks
│ │ ├── useAudio.ts # Audio-Feedback-Hooks
│ │ └── ...
│ ├── interfaces.ts # TypeScript Interfaces
│ └── utils.ts # Utility-Funktionen
│
├── store/ # Zustand Zustandsmanagement
│ ├── useKanaKanjiStore.ts # Kana/Kanji Auswahlzustand
│ ├── useVocabStore.ts # Vokabel Auswahlzustand
│ ├── useStatsStore.ts # Statistiken und Fortschritt
│ └── useThemeStore.ts # Theme und Präferenzen
│
├── static/ # Statische Daten und Konfiguration
│ ├── kana.ts # Kana Zeichendaten
│ ├── kanji/ # Kanji Daten nach JLPT-Niveau
│ ├── vocab/ # Vokabeldaten
│ ├── themes.ts # Theme-Definitionen
│ ├── fonts.ts # Schriftart-Konfigurationen
│ └── info.tsx # Informationsinhalte
│
├── public/ # Statische Assets
│ ├── sounds/ # Audiodateien
│ └── wallpapers/ # Hintergrundbilder
│
├── CLAUDE.md # Entwicklerdokumentation
├── next.config.ts # Next.js Konfiguration
├── tailwind.config.js # Tailwind CSS Konfiguration
└── tsconfig.json # TypeScript Konfiguration
useKanaKanjiStore, useVocabStore) gespeichert.useStatsStore erfasst und persistent gespeichert.useThemeStore mit localStorage-Persistenz gespeichert.Jeder Spielmodus ist eine dynamische Route (/[contentType]/train/[gameMode]), die:
Beiträge sind willkommen! KanaDojo ist ein Open-Source-Projekt, das von der Community für die Community entwickelt wurde. Lesen Sie CONTRIBUTING.md für detailliertere Informationen zum Mitwirken.
git checkout -b feature/AmazingFeature).git commit -m 'Add some AmazingFeature').git push origin feature/AmazingFeature).Dieses Projekt ist unter der AGPL 3.0 Lizenz lizenziert – Details finden Sie in der Datei LICENSE.md.
Mit ❤️ gemacht für Japanischlernende weltweit
がんばって! (Ganbatte! - Geben Sie Ihr Bestes!)