{"id":15031090,"url":"https://github.com/realkai42/qwerty-learner","last_synced_at":"2025-05-13T17:03:47.056Z","repository":{"id":37408007,"uuid":"331603334","full_name":"RealKai42/qwerty-learner","owner":"RealKai42","description":"为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workers","archived":false,"fork":false,"pushed_at":"2025-04-15T02:57:55.000Z","size":185529,"stargazers_count":18467,"open_issues_count":215,"forks_count":1895,"subscribers_count":81,"default_branch":"master","last_synced_at":"2025-05-06T16:12:04.293Z","etag":null,"topics":["english-learning","typing","typing-game","typing-practice","typingspeedtest"],"latest_commit_sha":null,"homepage":"https://qwerty.kaiyi.cool/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RealKai42.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-01-21T11:14:16.000Z","updated_at":"2025-05-06T12:38:23.000Z","dependencies_parsed_at":"2024-01-01T04:10:44.393Z","dependency_job_id":"b68dde63-1b1b-4bd1-8e43-7bfbabd521eb","html_url":"https://github.com/RealKai42/qwerty-learner","commit_stats":{"total_commits":762,"total_committers":133,"mean_commits":"5.7293233082706765","dds":0.7440944881889764,"last_synced_commit":"9370375f0c7a3e64709a6a3ade184b41aca80f0e"},"previous_names":["kaiyiwing/qwerty-learner"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RealKai42%2Fqwerty-learner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RealKai42%2Fqwerty-learner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RealKai42%2Fqwerty-learner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RealKai42%2Fqwerty-learner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RealKai42","download_url":"https://codeload.github.com/RealKai42/qwerty-learner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253990455,"owners_count":21995773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["english-learning","typing","typing-game","typing-practice","typingspeedtest"],"created_at":"2024-09-24T20:14:52.899Z","updated_at":"2025-05-13T17:03:46.989Z","avatar_url":"https://github.com/RealKai42.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=center\u003e\n\u003cimg  src=\"src/assets/logo.svg\"/\u003e\n\u003c/div\u003e\n\n\u003ch1 align=\"center\"\u003e\n  Qwerty Learner\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"./docs/README_EN.md\"\u003eEnglish\u003c/a\u003e\n  \u003ca href=\"./docs/README_JP.md\"\u003e日本語\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件\n\u003c/p\u003e\n\n\u003cp align=\"center\" style=\"display: flex; justify-content: center; gap: 10px;\"\u003e\n  \u003ca href=\"https://github.com/Realkai42/qwerty-learner/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/Realkai42/qwerty-learner\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca\u003e\u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg\"/\u003e\u003c/a\u003e\n  \u003ca\u003e\u003cimg src=\"https://img.shields.io/badge/Powered%20by-React-blue\"/\u003e\u003c/a\u003e\n  \u003ca\u003e\u003cimg src=\"https://img.shields.io/github/stars/RealKai42/qwerty-learner\"/\u003e\u003c/a\u003e\n  \u003ca\u003e\u003cimg src=\"https://img.shields.io/github/forks/RealKai42/qwerty-learner\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cdiv align=center\u003e\n\u003cimg  src=\"docs/Screenshot.png\"/\u003e\n\u003c/div\u003e\n\n## 📸 在线访问\n\n**首选部署**: \u003chttps://qwerty.kaiyi.cool/\u003e\nGitHub Pages: \u003chttps://realkai42.github.io/qwerty-learner/\u003e\n\n镜像仓库:\n[GitCode: RealKai42/qwerty-learner](https://gitcode.com/RealKai42/qwerty-learner/overview)\n[Gitee: KaiyiWing/qwerty-learner](https://gitee.com/KaiyiWing/qwerty-learner)\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n项目已发布 VSCode 插件版，一键启动、随时开始练习\n[VSCode Plugin Market](https://marketplace.visualstudio.com/items?itemName=Kaiyi.qwerty-learner)\n[GitHub](https://github.com/Realkai42/qwerty-learner-vscode)\n\n\u003cbr /\u003e\n\n## 快速部署\n\n### Vercel\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FRealKai42%2Fqwerty-learner)\n\n#### 部署步骤\n\n1. 更新 `Vercel Build \u0026 Development Settings` -\u003e `Output Directory`：\"build\"\n2. Click Deploy Button\n\n\u003cbr /\u003e\n\n## ✨ 设计思想\n\n软件设计的目标群体为以英语作为主要工作语言的键盘工作者。部分人会出现输入母语时的打字速度快于英语的情况，因为多年的母语输入练就了非常坚固的肌肉记忆 💪，而英语输入的肌肉记忆相对较弱，易出现输入英语时“提笔忘字”的现象。\n\n同时为了巩固英语技能，也需要持续的背诵单词 📕，本软件将英语单词的记忆与英语键盘输入的肌肉记忆的锻炼相结合，可以在背诵单词的同时巩固肌肉记忆。\n\n为了避免造成错误的肌肉记忆，设计上如果用户单词输入错误则需要重新输入单词，尽可能确保用户维持正确的肌肉记忆。\n\n软件也对需要机考英语的人群有一定的帮助。\n\n**For Coder**：\n\n内置了程序员工作常用单词的词库，方便练习工作中常用的单词、提高输入速度。也内置了诸多语言的 API 的练习，帮助以程序员快速熟悉常用的 API，更多语言的 API 正在逐步添加中...\n\n\u003cdiv align=center\u003e\n\u003cimg  src=\"https://github.com/Realkai42/qwerty-learner/blob/master/docs/coder.png\"/\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## 🛠 功能列表\n\n### 词库\n\n内置了常用的 CET-4 、CET-6 、GMAT 、GRE 、IELTS 、SAT 、TOEFL 、考研英语、专业四级英语、专业八级英语，也有程序员常见英语单词以及多种编程语言 API 等词库。 尽可能满足大部分用户对单词记忆的需求，也非常欢迎社区贡献更多的词库。\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n### 音标显示、发音功能\n\n方便用户在记忆单词时，同时记忆读音与音标。\n\n\u003cdiv align=center\u003e\n\u003cimg  src=\"https://github.com/Realkai42/qwerty-learner/blob/master/docs/phonetic.jpeg\"/\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n### 默写模式\n\n在用户完成一个章节的练习后，会弹出选项是否默写本章，方便用户巩固本章学习的单词。\n\n\u003cdiv align=center\u003e\n\u003cimg  src=\"https://github.com/Realkai42/qwerty-learner/blob/master/docs/dictation.png\"/\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n### 速度、正确率显示\n\n量化用户输入的速度和输入的正确率，让用户有感知的了解自己技能的提升\n\n\u003cdiv align=center\u003e\n\u003cimg  src=\"https://github.com/Realkai42/qwerty-learner/blob/master/docs/speed.jpeg\"/\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## 如何贡献\n\n### 贡献代码\n\n[Call for Contributor](https://github.com/Realkai42/qwerty-learner/issues/390)\n[贡献准则](./docs/CONTRIBUTING.md)\n\n### 贡献词库\n\n[导入词典](./docs/toBuildDict.md)\n\n## 运行项目\n\n本项目是基于`React`开发的，需要 node 环境来运行。\n\n### 环境准备\n\n1. NodeJS\n2. Git\n3. Yarn\n\n\u003e **验证是否已经拥有相关环境**\n\u003e\n\u003e 1. 手动验证  \n\u003e    请在命令行下执行以下命令，查看是否有对应版本输出\n\u003e\n\u003e    ```sh\n\u003e    node --version\n\u003e    git --version\n\u003e    yarn --version\n\u003e    ```\n\u003e\n\u003e 2. 脚本验证  \n\u003e    使用我们提供的脚本对所需环境进行验证，如果确实依赖项会自动安装\n\u003e    - Windows 用户可以直接执行 [pre-check.ps1](scripts/pre-check.ps1) 脚本\n\u003e    - MacOS 用户可以直接执行 [pre-check.sh](scripts/pre-check.sh) 脚本\n\n如果有对应环境缺失，我们可以参考下列官方文档进行安装\n\n\u003e - [NodeJS](https://nodejs.org/en/download)\n\u003e - [Git](https://git-scm.com/downloads)\n\u003e - [yarn](https://classic.yarnpkg.com/lang/en/docs/install)\n\n### 手动安装\n\n1. 在命令行中执行 `git clone https://github.com/RealKai42/qwerty-learner.git` 将项目拉取到本地, 如果不使用 git 可能因为缺少依赖而无法运行\n2. 在命令行中执行 `cd qwerty-learner`，进入项目根目录，执行`yarn install`来下载依赖。\n3. 执行`yarn start`来启动项目，项目默认地址为`http://localhost:5173/`\n4. 在浏览器中打开`http://localhost:5173/`来访问项目。\n\n### 脚本执行\n\n对于 Windows 用户，可以直接执行 [install.ps1](scripts/install.ps1) 脚本，来一键安装依赖并启动项目。\n\n1. 打开 powershell，定位到项目根目录中的`scripts`目录\n2. 在命令行中，执行`.\\install.ps1`\n3. 等待脚本完成。\n\n\u003e 备注\n\u003e 脚本依赖`winget`来安装 node，仅在 Windows 10 1709（版本 16299）或更高版本上受支持！\n\n对于 MacOS 用户，可以直接执行 [install.sh](scripts/install.sh) 脚本来一键安装依赖并启动项目\n\n1. 打开终端，并进入此项目文件夹\n2. 在命令行中执行 `scripts/install.sh`\n3. 等待脚本完成\n\n\u003e 此脚本依赖于 `homebrew`，请确保自己电脑上可以执行`brew`命令\n\n## 🏆 荣誉\n\n- Github 全球趋势榜上榜项目\n- V2EX 全站热搜项目\n- Gitee 全站推荐项目\n- [少数派首页推荐](https://sspai.com/post/67535)\n- GitCode 开源摘星计划-毕业项目（[G-Star 计划](https://gitcode.com/g-star)）\n- Gitee 最有价值开源项目（[GVP](https://gitee.com/gvp)）\n\n## 📕 词库列表\n\n- CET-4\n- CET-6\n- GMAT\n- GRE\n- IELTS\n- SAT\n- TOEFL\n- 考研英语\n- 专业四级英语\n- 专业八级英语\n- Coder Dict 程序员常用词\n- 高考\n- 中考\n- 商务英语\n- BEC\n- 人教版英语 3-9 年级\n- 王陆雅思王听力语料库 [@Saigyouji_WKKun](https://github.com/ggehuliang)\n- 日语常见词、N1 ～ N5 [@xiaojia](https://github.com/wetery)\n- 哈萨克语基础 3000 词(哈拼版) 来源于 [@Elgar](https://github.com/Elgar17) 由 [@Herbert He](https://github.com/HerbertHe) 通过 [哈拼](https://ha-pin.js.org) 技术支持\n\n如果您需要背诵其他词库，欢迎在 Issue 中提出\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## 📗 API 词库\n\n- JavaScript API. [@sdu-gyf](https://github.com/sdu-gyf)\n- Node.js API. [@chrysalis1215](https://github.com/chrysalis1215)\n- Java API. [@darkSheep](https://github.com/SFAfreshman)\n- Linux Command. [@归谜](https://github.com/vhxubo)\n- C#: List API [@nidbCN](https://github.com/nidbCN)\n\n目前 API 相关词库主要依赖于社区贡献，如果您想贡献自己需要的 API 词库，建议参考 [Issue #42](https://github.com/Realkai42/qwerty-learner/issues/40) [pr #67](https://github.com/Realkai42/qwerty-learner/pull/67) 贡献词典。\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## 🎙 功能与建议\n\n目前项目处于开发初期，新功能正在持续添加中，如果你对软件有任何功能与建议，欢迎在 Issues 中提出\n\n项目的进展与未来计划在 [Issue](https://github.com/Realkai42/qwerty-learner/issues/42) 中详细介绍，内部也包含对未来功能的意见征询等，如果对 Qwerty Learner 的未来感兴趣，欢迎参与讨论。\n\n如果你也喜欢本软件的设计思想，欢迎提交 pr，非常感谢你对我们的支持！\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## 🏄‍♂️ 贡献指南\n\n如果您对本项目感兴趣，我们非常欢迎参与到项目的贡献中，我们会尽可能地提供帮助\n\n在贡献前，希望您阅读 [Issue #42](https://github.com/Realkai42/qwerty-learner/issues/42) 了解我们目前的开发计划，我们希望您能参与到\"计划中\"的工作亦或者 Issue 区 Label 为 \"Help Wanted\" 的工作，我们也非常欢迎您实现自己的想法。\n\n如果您确定了想要参与的工作，希望在有基本进展后提交 draft pr，我们可以在 draft pr 上进行讨论，也有利于听取其他 collaborator 的意见。\n\n再次感谢您对项目的贡献！🎉\n\n\u003cbr /\u003e\n\n## ☕️ Buy us a coffe\n\n非常感谢大家使用 Qwerty Learner, 目前该网站由三个人用业余时间在维护，我们希望在未来购买独立的域名(目前使用 vercel 部署)，并购买服务器以方便国内用户访问与云同步存储数据。\n\n如果您喜欢我们软件，非常感谢您对我们未来的支持!\n\n\u003cimg  src=\"https://github.com/Realkai42/qwerty-learner/blob/master/docs/alipay.png\" width=\"200px\"/\u003e\n\n## 👨‍💻 Contributors\n\n\u003ca href=\"https://github.com/Realkai42/qwerty-learner/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=Realkai42/qwerty-learner\" /\u003e\n\u003c/a\u003e\n\n## 🎁 大感谢\n\n### 灵感来源\n\n[Keybr](https://www.keybr.com/)\n以算法著称，功能非常完善的打字网站，根据用户输入每个字母的正确率与速度生成“伪英语”来帮助用户集中锻炼个别输入较慢的字母。并可以根据用户的输入记录生成完整的分析报告。\n\n也是本项目的核心灵感来源，Keybr 更多针对英语为母语的用户。在我使用 Keybr 练习打字时，觉得虽然生成的伪英语能够练习输入不顺畅的个别字母，但并不能提升非母语用户对单词的掌握，于是有了本项目。\n\n[Typing Academy](https://www.typing.academy)\n非常优秀的打字练习网站\n其优秀的 UI 风格，以及对速度、正确率的展示极大的影响了本项目的 UI 设计\n\n[react-code-game](https://github.com/webzhd/react-code-game)\n一个非常酷的开源项目，使用 ts 实现，可以在练习打字的同时练习 js 内置 api，项目中添加代码 api 的想法便来源自此项目。\n\u003cbr/\u003e\u003cbr/\u003e\n\n### 开源项目\n\n[React](https://github.com/facebook/react) \u0026 [CRA](https://github.com/facebook/create-react-app)\n完整和详细的文档对初学者非常友好，React 系的文档是我目前自学过程中读过最棒的文档，几乎解决使用中大部分问题。非常感谢 React 对开源世界的贡献，为我们搭建了很好的基础，让初学者也能构建非常棒的软件。\n\n[Tailwindcss](https://tailwindcss.com/docs)\n如果没有 tailwind，这个项目还有再拖一阵子，tailwind 的设计思路解决了 css 入门选手对写复杂 css 的恐惧，让新手以一个非常舒适的方式去设计 UI。\n\u003cbr/\u003e\u003cbr/\u003e\n\n### 数据来源\n\n字典数据来自于[kajweb](https://github.com/kajweb/dict)，项目爬取了常见的字典，也是这个项目让我看到了实现本项目的希望。\n\n语音数据来源于[有道词典](https://www.youdao.com/)开放 API，感谢有道的贡献让我们这种小项目也可以用上非常专业的发音资源，感谢有道团队以及考神团队为中国教育与中外交流做出的重要贡献。\n\nJS API 来自于[react-code-game](https://github.com/webzhd/react-code-game) ，感谢项目对 JS API 的爬取与预处理。\n\u003cbr/\u003e\u003cbr/\u003e\n\n### 项目 Icon\n\n感谢[libregd](https://github.com/libregd)提供图标设计，给项目贡献了多个好看的图标设计方案，同时也在项目的进行中提供了设计、建议、未来规划等诸多支持\n\n### 感谢支持\n\n感谢[云谦](https://github.com/sorrycc)、[大圣](https://github.com/shengxinjing) 在项目只有十几个 star 时关注了项目，给项目推进下去的动力。\n\n\u003cbr/\u003e\n\n也感谢在项目初期跟我讨论 idea、提供建议并时不时 Push 一下我的朋友们，没有你们这个 idea 可能还得再拖一年（🐶\n\n感谢 [Pear Mini](https://github.com/pearmini) ，最开始跟我讨论 idea 给我项目支持，也是他的项目让我相信即使是一个学生的 idea 实现出来也可以很酷。 他的 [Gossip](https://github.com/pearmini/gossip) 项目完全是 Next Generation Slides 级别的创意！\n\n感谢 [AZ](https://github.com/sailist)，鼓励我把 idea 实现出来（虽然我还是拖了很久），他无与伦比的行动力影响了我。他是一个非常酷的 lib maker，写了很多非常棒的 python 库，例如中文语音识别的框架[ASRFrame](https://github.com/sailist/ASRFrame)\n\n感谢 [Luyu Cheng](https://github.com/chengluyu)，我认识的最酷的前端大佬，给项目与我的前端自学提供了无尽的帮助。在项目初期帮助我进行技术选型，在开发阶段帮我解决技术问题，为我不知道如何实现的 feature 提供技术思路，也为项目贡献了很多非常受欢迎的 feature。\n\n## 🌟 Stargazers over time\n\n[![Stargazers over time](https://starchart.cc/Realkai42/qwerty-learner.svg)](https://starchart.cc/Realkai42/qwerty-learner)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frealkai42%2Fqwerty-learner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frealkai42%2Fqwerty-learner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frealkai42%2Fqwerty-learner/lists"}