[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73883":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":47,"readmeContent":48,"aiSummary":49,"trendingCount":16,"starSnapshotCount":16,"syncStatus":50,"lastSyncTime":51,"discoverSource":52},73883,"kana-dojo","lingdojo\u002Fkana-dojo","lingdojo","Aesthetic, minimalist platform for learning Japanese inspired by Duolingo and Monkeytype, built with Next.js and sponsored by Vercel. Beginner-friendly with plenty of good first issues - all contributions are welcome!","https:\u002F\u002Fkanadojo.com",null,"TypeScript",2615,2258,7,52,0,33,103,302,99,32,"GNU Affero General Public License v3.0",false,"main",true,[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"beginner","beginner-friendly","contribute","contribution","contributions-welcome","first-contributions","first-timers-only","good-first-contribution","good-first-issue","good-first-pr","hacktoberfest","help-wanted","japanese","japanese-language","language-learning","learn-japanese","nextjs","open-source","react","up-for-grabs","2026-06-12 02:03:19","\u003Cp align=\"center\">\n\u003Cb>This project is backed by\u003C\u002Fb>\n\u003Cbr\u002F>\n\u003Cbr\u002F>\n\u003Ca href=\"https:\u002F\u002Fvercel.com\u002Foss\">\n  \u003Cimg alt=\"Vercel OSS Program\" src=\"https:\u002F\u002Fvercel.com\u002Foss\u002Fprogram-badge-2026.svg\" \u002F>\n\u003C\u002Fa>\n\u003Cbr\u002F>\n\u003Cbr\u002F>\n\u003Ca href=\"https:\u002F\u002Fcossistant.com\u002Fopen-source-program\">\n  \u003Cimg alt=\"Cossistant OSS Program\" src=\"https:\u002F\u002Fcdn.cossistant.com\u002Foss\u002Foss-friends.svg\" \u002F>\n\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003C!--\u003Cdiv id=\"top\">\u003C\u002Fdiv>-->\n\n# KanaDojo かな道場\n\n\u003Cdiv align=\"center\">\n\n![KanaDojo Banner](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F56716ee9-9347-4224-9fe2-ef1beb93e286)\n\n![Training](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fd491708f-2ad3-41c7-9717-dec8a90afd03)\n\n**An aesthetic, minimalist, and highly customizable platform for mastering Japanese, inspired by Duolingo and Monkeytype. Built with Next.js and sponsored by Vercel.**\n\n[![Vercel OSS Program](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVercel-OSS%20Program-black?style=for-the-badge&logo=vercel)](https:\u002F\u002Fvercel.com\u002Fopen-source-program)\n[![Sponsored by Vercel](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSponsored%20by-Vercel-black?style=for-the-badge&logo=vercel)](https:\u002F\u002Fvercel.com\u002Foss)\n\u003C!--[![Sponsored by Cossistant](https:\u002F\u002Fcdn.cossistant.com\u002Foss\u002Foss-friends.svg)](https:\u002F\u002Fcossistant.com\u002Fopen-source-program)-->\n[![Live Demo](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdemo-kanadojo.com-blue?style=for-the-badge)](https:\u002F\u002Fkanadojo.com)\n[![DeepWiki](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-DeepWiki-purple?style=for-the-badge)](https:\u002F\u002Fdeepwiki.com\u002Flingdojo\u002Fkana-dojo)\n[![Good First Issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-search\u002Flingdojo\u002Fkana-dojo?query=is%3Aissue+is%3Aopen+label%3A%22good%20first%20issue%22&style=for-the-badge&label=good%20first%20issues&color=brightgreen)](https:\u002F\u002Fgithub.com\u002Flingdojo\u002Fkana-dojo\u002Fissues?q=is%3Aissue+is%3Aopen+label%3A%22good%20first%20issue%22)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-AGPL--v3-blue?style=for-the-badge)](LICENSE.md)\n[![Next.js](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNext.js-15-black?style=for-the-badge&logo=next.js)](https:\u002F\u002Fnextjs.org\u002F)\n[![TypeScript](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTypeScript-5.3-blue?style=for-the-badge&logo=typescript)](https:\u002F\u002Ftypescriptlang.org\u002F)\n[![Zustand](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FZustand-00C7B7?style=for-the-badge&logo=zustand&logoColor=white)](https:\u002F\u002Fgithub.com\u002Fpmndrs\u002Fzustand)\n[![Tailwind CSS](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTailwind%20CSS-06B6D4?style=for-the-badge&logo=tailwind-css&logoColor=white)](https:\u002F\u002Ftailwindcss.com)\n[![Vitest](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTests-Vitest-yellow?style=for-the-badge)](https:\u002F\u002Fvitest.dev\u002F)\n[![AGPL-3.0](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fopen-source-green?style=for-the-badge)](https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fagpl-3.0)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-Join%20Community-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https:\u002F\u002Fdiscord.gg\u002FCyvBNNrSmb)\n[![Email](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FEmail-dev%40kanadojo.com-EA4335?style=for-the-badge&logo=gmail&logoColor=white)](mailto:dev@kanadojo.com)\n\n---\n\n\u003C!--\n## 🌐 Translations \u002F 번역 \u002F 翻訳\n\nThis README is available in multiple languages:\n\n**English** (current) · [한국어 (Korean)](.\u002Fdocs\u002Ftranslations\u002FREADME.ko.md) · [日本語 (Japanese)](.\u002Fdocs\u002Ftranslations\u002FREADME.ja.md) · [Español (Spanish)](.\u002Fdocs\u002Ftranslations\u002FREADME.es.md) · [Français (French)](.\u002Fdocs\u002Ftranslations\u002FREADME.fr.md) · [Deutsch (German)](.\u002Fdocs\u002Ftranslations\u002FREADME.de.md) · [Português (Portuguese)](.\u002Fdocs\u002Ftranslations\u002FREADME.pt-br.md) · [Русский (Russian)](.\u002Fdocs\u002Ftranslations\u002FREADME.ru.md) · [Türkçe (Turkish)](.\u002Fdocs\u002Ftranslations\u002FREADME.tr.md) · [العربية (Arabic)](.\u002Fdocs\u002Ftranslations\u002FREADME.ar.md) · [हिन्दी (Hindi)](.\u002Fdocs\u002Ftranslations\u002FREADME.hin.md) · [Italiano (Italian)](.\u002Fdocs\u002Ftranslations\u002FREADME.it.md) · [Bahasa Indonesia (Indonesian)](.\u002Fdocs\u002Ftranslations\u002FREADME.id.md) · [Українська (Ukrainian)](.\u002Fdocs\u002Ftranslations\u002FREADME.ua.md) · [Tiếng Việt (Vietnamese)](.\u002Fdocs\u002Ftranslations\u002FREADME.vi.md) · [简体中文 (Simplified Chinese)](.\u002Fdocs\u002Ftranslations\u002FREADME.zh-CN.md) · [繁體中文 (Traditional Chinese)](.\u002Fdocs\u002Ftranslations\u002FREADME.zh-tw.md)\n\n-->\n\n## About\n\nKanaDojo is an engaging and user-friendly web-based Japanese learning platform that makes mastering Hiragana, Katakana, Kanji, and vocabulary fun and intuitive. Built with a focus on aesthetics, customization, and effective learning, it provides an immersive training environment for Japanese language learners at all levels.\n\n## Contributing\n\n### For Complete Beginners\n\nStart with the [Beginner's Contribution Guide](.\u002Fdocs\u002FCONTRIBUTING-BEGINNERS.md) for a step-by-step walkthrough that explains everything from creating a GitHub account to opening your first PR.\n\n### Not a Beginner?\n\nAll contributions are welcome! Whether you're fixing bugs, adding features, improving documentation, or translating — check out [CONTRIBUTING.md](.\u002FCONTRIBUTING.md) to get started.\n\n[Live Demo](https:\u002F\u002Fkanadojo.com) · [Documentation](.\u002Fdocs\u002F)\n\n\u003C\u002Fdiv>\n\n## Key Features\n\n- **Three Training Dojos** — Kana (Hiragana\u002FKatakana), Kanji (JLPT N5-N1), and Vocabulary\n- **Four Game Modes** — Pick, Reverse-Pick, Input, and Reverse-Input for varied practice\n- **100+ Themes** — Beautiful light and dark themes with 28 Japanese fonts\n- **Progress Tracking** — Statistics, streaks, and 80+ achievements\n- **Fully Responsive** — Works seamlessly on desktop, tablet, and mobile\n\n## Quick Start\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Flingdojo\u002Fkana-dojo.git\ncd kana-dojo\nnpm install\nnpm run dev\n```\n\nOpen [http:\u002F\u002Flocalhost:3000](http:\u002F\u002Flocalhost:3000) to start learning.\n\nTo validate changes before opening a PR:\n\n```bash\nnpm run check\n```\n\n> **Having issues?** See the [Troubleshooting Guide](.\u002Fdocs\u002FTROUBLESHOOTING.md)\n\n\u003C!--\n## Screenshots\n\n\u003Cdiv align=\"center\">\n\n### Home Page\n\n![Home](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fcac78e72-4d31-43e8-8160-104c431e55be)\n\n### Training Screen\n\n![Training](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fd491708f-2ad3-41c7-9717-dec8a90afd03)\n\n### Themes & Customization\n\n![Themes](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Ff664a280-0344-4ff9-8639-83f9c1c4223b)\n\n\u003C\u002Fdiv>\n-->\n\n## Documentation\n\n| Document                                                  | Description                                    |\n| --------------------------------------------------------- | ---------------------------------------------- |\n| [Architecture](.\u002Fdocs\u002FARCHITECTURE.md)                    | Project structure, patterns, and conventions   |\n| [UI Design](.\u002Fdocs\u002FUI_DESIGN.md)                          | Theming, styling, and component guidelines     |\n| [Translation Guide](.\u002Fdocs\u002FTRANSLATION_GUIDE.md)          | How to translate the app                       |\n| [Troubleshooting](.\u002Fdocs\u002FTROUBLESHOOTING.md)              | Common issues and solutions                    |\n| [Beginner Contributing](.\u002Fdocs\u002FCONTRIBUTING-BEGINNERS.md) | Step-by-step guide for first-time contributors |\n| [All Documentation](.\u002Fdocs\u002F)                              | Complete documentation index                   |\n\n## Tech Stack\n- [Next.js](https:\u002F\u002Fnextjs.org\u002F) 15  \n- [React](https:\u002F\u002Freact.dev\u002F) 19  \n- [TypeScript](https:\u002F\u002Fwww.typescriptlang.org\u002F)  \n- [Tailwind CSS](https:\u002F\u002Ftailwindcss.com\u002F)  \n- [shadcn\u002Fui](https:\u002F\u002Fui.shadcn.com\u002F)  \n- [Zustand](https:\u002F\u002Fgithub.com\u002Fpmndrs\u002Fzustand)  \n- [Framer Motion](https:\u002F\u002Fwww.framer.com\u002Fmotion\u002F)\n\n> See [Architecture docs](.\u002Fdocs\u002FARCHITECTURE.md) for full technical details.\n\n## Credits\n\n### Logo\n\n- [Brandon Haupt](https:\u002F\u002Fwww.instagram.com\u002Ftalorash\u002F) — creator of the KanaDojo logo.\n\n### Sponsors\n\n- [Vercel](https:\u002F\u002Fvercel.com\u002Foss) — part of Vercel's Open-source Software Sponsorship Program.\n- [Cossistant](https:\u002F\u002Fcossistant.com\u002F) — part of Cossistant's Open-source Program.\n\n### Inspiration\n\n- [Duolingo](https:\u002F\u002Fwww.duolingo.com\u002F) — main inspiration.\n- [Monkeytype](https:\u002F\u002Fgithub.com\u002Fmonkeytypegame\u002Fmonkeytype) — UI and design inspiration.\n\n### Japanese Language Libraries\n\n- [Kuroshiro](https:\u002F\u002Fgithub.com\u002Fhexenq\u002Fkuroshiro) — Japanese text conversion and romanization.\n- [Kuromoji](https:\u002F\u002Fgithub.com\u002Ftakuyaa\u002Fkuromoji.js) — Japanese tokenizer used for text analysis.\n- [Wanakana](https:\u002F\u002Fgithub.com\u002FWaniKani\u002FWanaKana) — kana and romaji transliteration helpers.\n\n### Data Sources\n\n- [JMdict](https:\u002F\u002Fwww.edrdg.org\u002Fjmdict\u002Fj_jmdict.html) — Japanese-English dictionary data.\n- [KANJIDIC](http:\u002F\u002Fwww.edrdg.org\u002Fwiki\u002Findex.php\u002FKANJIDIC_Project) — kanji readings and meanings database.\n- [Jonathan Waller's JLPT Resources](https:\u002F\u002Fjapanesetest4you.com\u002F) — JLPT study references.\n- [jlptsensei.com](https:\u002F\u002Fjlptsensei.com\u002F) — JLPT vocabulary and study material.\n\n## Star History\n\n\u003Cdiv align=\"center\">\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=lingdojo\u002Fkana-dojo&type=Date)](https:\u002F\u002Fstar-history.com\u002F#lingdojo\u002Fkana-dojo&Date)\n\n\u003C\u002Fdiv>\n\n## License\n\nThis project is licensed under the AGPL 3.0 License — see [LICENSE.md](.\u002FLICENSE.md) for details.\n\n## Contact\n\n- **Discord**: https:\u002F\u002Fdiscord.gg\u002FCyvBNNrSmb\n- **Email**: dev@kanadojo.com\n\n---\n\n\u003Cdiv align=\"center\">\n\n**Made with ❤️ by the open-source community for Japanese language learners worldwide**\n\nがんばって！ (Ganbatte! — Do your best!)\n\n[⬆ Back to top](#top)\n\n\u003C\u002Fdiv>\n","KanaDojo かな道場是一个美观、极简且高度可定制的日语学习平台，灵感来源于Duolingo和Monkeytype。项目使用Next.js构建，并由Vercel赞助。其核心功能包括丰富的日语学习资源、个性化的学习路径以及直观的用户界面设计，旨在为初学者提供友好的学习体验。技术上，KanaDojo采用了TypeScript进行开发，确保代码质量和可维护性；同时利用Zustand进行状态管理，Tailwind CSS实现响应式布局，Vitest进行单元测试，从而保证了项目的稳定性和扩展性。此平台非常适合希望以互动和有趣方式提高日语水平的学习者，无论是零基础还是有一定基础的人都能从中受益。",2,"2026-06-11 03:47:46","high_star"]