Earthworm 连词成句学语法,3 分钟本地跑起来
Earthworm 连词成句学语法3 分钟本地跑起来【免费下载链接】earthwormLearning English through the method of constructing sentences with conjunctions项目地址: https://gitcode.com/GitHub_Trending/ea/earthworm背单词、背课文坚持不下来多半是练法太干。Earthworm 是一个开源的连词成句英语学习工具把整句拆成单词和短语块让你一边拼句子一边记语法和用法。它内置 55 节中文对照课程支持中译英和听写两种玩法本地起一套服务就能上手。它解决什么问题句子被拆成一块块不用整句硬背。每节课的例句按我 → 我喜欢 → 我喜欢这个食物这样从单词逐级往上拼拼对当前这一层才解锁下一层。句子怎么组、词怎么搭配在反复拼的过程中自己就理顺了比死记一整句轻松很多。中译英 / 听写两种模式。中译英给中文提示让你拼英文练输出和拼写听写播放录音让你敲键盘练听力。两种玩法对应不同目标在 apps/client/components/mode/ 下分别实现随时切换。拼错了直接定位到具体的词。提交答案后系统逐词比对标红出错的单词光标自动跳到第一个错处你只改错的、不用整句重敲。错的词没改对会自动再进一轮直到全对才过关。3 分钟跑起来环境要求Node 20、pnpm 8本地能跑 DockerPostgres 和 Redis 都在里面不用单独装。先把仓库拉到本地装依赖git clone https://gitcode.com/GitHub_Trending/ea/earthworm cd earthworm pnpm install接着复制示例环境配置、解压 Logto 登录数据、起数据库并导入 55 节课。.env.example里已经带了示例配置数据库连不上就回头先查这个文件是否存在cp ./apps/api/.env.example ./apps/api/.env cp ./apps/client/.env.example ./apps/client/.env unzip logto_db_init_data.zip -d .volumes/ pnpm docker:start pnpm db:init pnpm db:upload pnpm dev:serve # 终端 1后端 pnpm dev:client # 终端 2前端两个终端分别跑起后端和前端后浏览器打开前端地址用邮箱注册或登录就能进主界面开始第一节课。功能走读挑三个最能代表这个项目的功能看看。中译英与听写双模式中译英给中文提示、你敲英文听写放录音、你听写逻辑分别在 apps/client/components/mode/chineseToEnglish/ 和 apps/client/components/mode/dictation/ 里。模式切换与偏好记录在 apps/client/composables/user/gamePlayMode.ts选过的模式会存进浏览器下次直接沿用。周 / 月 / 年排行榜每完成一课计一次分分别累加进周、月、年三个榜。榜单用 Redis 有序集合存接口返回前 10 名加你本人的名次逻辑在 apps/api/src/rank/ 下可以顺手看看它怎么按周期重置榜单。日历式学习记录首页的 apps/client/components/Home/CalendarGraph.vue 把每天的学习时长画成日历热力图配合最近用过的课程包卡片能直观看到自己坚持了多少天、学到哪一课了。课程内容长什么样课程数据都在 packages/xingrong-courses/ 下。每节课是一个 JSON 文件按中英对照加音标逐条列出例如data/courses/01.json里从 我 / I 一路堆到完整句子。这套数据不是手敲的src/parsePDF/里有一组解析工具能把课程 PDF 拆成这种结构化 JSON再经 packages/xingrong-courses/src/seed.ts 灌进数据库。想自己加课照着现有 JSON 的格式往data/courses/里放一个新文件再跑一次pnpm db:upload就能导入发现旧课数据有误改完用pnpm db:update更新即可。跑不起来先查这里第一次搭环境踩的坑README 的 FAQ 里基本都写了数据库连接失败。多半是.env没建或配置不对先确认这个文件存在、里面的库地址和账号能对上。pnpm install 报错Windows 的 argon2 模块。需要 C 编译环境装一个含 C 工具的 Visual Studio 组件即可。Docker 权限被拒WSL2 环境常见。把当前用户加进 docker 组再用newgrp docker刷新一下。代码目录结构前后端和课程数据拆成了独立的包改哪块就进哪个包互不干扰目录说明apps/clientNuxt 前端游戏模式和页面都在这里apps/apiNestJS 后端课程、用户、排行榜等接口packages/xingrong-courses55 节课的 JSON 数据与 PDF 解析工具packages/db/packages/schemaDrizzle 数据库与数据模型packages/docs基于 VitePress 的文档站到这里 Earthworm 已经能在本地完整跑起来。下一步建议先 clone 仓库把环境搭好或者读 packages/docs/contribution/ 的贡献指南发现课程或界面上的问题直接在仓库提 issue 就行。【免费下载链接】earthwormLearning English through the method of constructing sentences with conjunctions项目地址: https://gitcode.com/GitHub_Trending/ea/earthworm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Unity自动追踪导弹源码实战:比例导引法与C#调优指南

Unity自动追踪导弹源码实战:比例导引法与C#调优指南

简介:一份面向Unity开发者与游戏编程学习者的自动追踪导弹源码工程,完整实现了导弹对目标的实时锁定、追踪与命中反馈。代码基于C#脚本,深度融合Unity物理引擎、碰撞检测与自定义追踪算法,涵盖目标探测、提前量预测、路径规划与控…

2026/9/20 15:04:24 阅读更多 →
默认模型调用报 401?TaoToken 这样改 deepagents 的 Base URL

默认模型调用报 401?TaoToken 这样改 deepagents 的 Base URL

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 15:03:24 阅读更多 →
CC Switch 切到 TaoToken:Claude Code 与 Codex 一键换供应商

CC Switch 切到 TaoToken:Claude Code 与 Codex 一键换供应商

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 15:03:24 阅读更多 →

最新新闻

Faker 入门与进阶实战指南:用 Python 生成高质量假数据的完整方案

Faker 入门与进阶实战指南:用 Python 生成高质量假数据的完整方案

Faker 入门与进阶实战指南:用 Python 生成高质量假数据的完整方案 【免费下载链接】faker Faker is a Python package that generates fake data for you. 项目地址: https://gitcode.com/gh_mirrors/fak/faker Faker 是 Python 生态中一款生成假数据的工具包…

2026/9/20 20:27:58 阅读更多 →
OpCore-Simplify 使用指南:从硬件检测到 OpenCore EFI 生成的实操流程

OpCore-Simplify 使用指南:从硬件检测到 OpenCore EFI 生成的实操流程

OpCore-Simplify 使用指南:从硬件检测到 OpenCore EFI 生成的实操流程 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpCore-Simplify 是…

2026/9/20 20:27:58 阅读更多 →
DTI图像畸变矫正全流程:eddy_topup原理、参数与实战经验

DTI图像畸变矫正全流程:eddy_topup原理、参数与实战经验

做DTI数据处理的人,恐怕没有谁没被涡流畸变和磁化率畸变折磨过。尤其是用单次激发EPI序列采集的扩散加权像,几何变形、错位、信号丢失,这些问题几乎不可避免。早期大家要么忍痛手动配准,要么用各种“土办法”凑合,直到…

2026/9/20 20:27:58 阅读更多 →
Redisson之RAtomicLong

Redisson之RAtomicLong

^^ 《榴芒客服系统》是我们工作室开发的在线客服系统,欢迎下载试用: 《榴芒客服系统》https://blog.csdn.net/look4liming/article/details/164755808 package bright.redisson;import org.redisson.Redisson; import org.redisson.api.RAtomicLong; im…

2026/9/20 20:27:58 阅读更多 →
Redisson连接Redis服务器

Redisson连接Redis服务器

^^ 《榴芒客服系统》是我们工作室开发的在线客服系统,欢迎下载试用: 《榴芒客服系统》https://blog.csdn.net/look4liming/article/details/164755808 package bright.redisson;import org.redisson.Redisson; import org.redisson.api.RedissonClient;…

2026/9/20 20:27:58 阅读更多 →
Unity资源提取指南:3步用AssetRipper导出完整Unity工程

Unity资源提取指南:3步用AssetRipper导出完整Unity工程

Unity资源提取指南:3步用AssetRipper导出完整Unity工程 【免费下载链接】AssetRipper GUI application to analyze game files 项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper AssetRipper是一款开源的GUI工具,专门做Unity资源提…

2026/9/20 20:26:57 阅读更多 →

日新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →