Earthworm 连词成句英语学习:10 分钟本地部署与快速上手指南
【免费下载链接】earthwormLearning English through the method of constructing sentences with conjunctions项目地址: https://gitcode.com/GitHub_Trending/ea/earthworm
背单词时每个词都认识,自己写句子却排不对语序。Earthworm 把连词成句变成键盘小游戏:读中文,逐词敲出英文,答错立刻有反馈。适合想补英语基础的初学者,也适合想研究游戏化学习平台怎么实现的开发者。
项目定位与适用人群:谁适合玩这个连词成句英语游戏
核心是连词成句玩法,主要价值有四点:
- 解决语序混乱:孤立背单词容易,组装句子难。它用"中文提示 + 打字拼句"训练语序和短语搭配,对错即时判定。
- 两类目标用户:英语初学者,内置 55 个课程,从零基础到高考写作;开发者,NestJS + Nuxt + Drizzle 的全栈项目可直接当学习样例。
- 不同于一般背词 App:不只是背词,还会把你学过的内容拆进后续课程,形成间隔重复复习。
- 代码全开源:代码、课程数据、部署脚本都开放,本地部署后学习数据存在你自己的数据库里。
快速上手:三步在本地跑通 Earthworm 学习平台
全程约 10 分钟。需要 pnpm ≥ 8、Node.js ≥ 20、Docker 已安装并运行。
步骤一:克隆仓库并安装依赖
git clone https://gitcode.com/GitHub_Trending/ea/earthworm cd earthworm pnpm install成功的样子:终端无报错,项目根目录出现node_modules。
步骤二:配置环境并初始化数据库
# 复制前后端环境模板 cp ./apps/api/.env.example ./apps/api/.env cp ./apps/client/.env.example ./apps/client/.env # 初始化登录系统数据 unzip logto_db_init_data.zip -d .volumes/ # 启动 PostgreSQL、Redis、Logto pnpm docker:start # 初始化表结构,首次再导入 55 个课程 pnpm db:init pnpm db:upload两个注意点:db:init紧跟 docker 启动执行时可能报连接失败,稍等重跑一次即可;db:upload只在首次初始化执行,日常更新课程数据用pnpm db:update。
成功的样子:db:upload输出课程上传进度,无报错完成。
步骤三:启动前后端并进入学习页
pnpm dev:serve # 后端服务 pnpm dev:client # 前端服务,另开一个终端执行成功的样子:按终端提示的地址打开浏览器,看到注册/登录页;用邮箱注册后进入首页,能看到"零基础英语课程"等课程包卡片,下方还有一张学习日历。
值得了解的 3 个核心功能亮点
- 连词成句即时反馈:每拼完一句立刻知道语序哪里错了,还配有正确/错误的音效提示。输入、判定与反馈逻辑都在 QuestionInput,可以逐词看判定是怎么做的。
- 排行榜与学习日历:完成量按周、月、年三个周期排名,日历热力图一眼看出学习节奏。排行服务 用 Redis 有序集合计数,首页日历组件是 CalendarGraph.vue。
- 内置课程与间隔重复:从"零基础英语"到"小猪佩奇第一季"共 55 个课程,原始数据在 xingrong-courses/data/courses/,系统还会把学过的内容拆进后续课程重复出现,帮你巩固。
技术架构速览:前后端分离都用了什么
技术栈不复杂,全部是常见选型,Docker Compose 一键部署:
| 分层 | 选型 | 位置 |
|---|---|---|
| 前端 | Nuxt 3(Vue 3)+ Tailwind CSS | apps/client/ |
| 后端 | NestJS | apps/api/ |
| 数据库 | PostgreSQL 14 + Drizzle ORM | packages/db/ |
| 缓存与排行 | Redis 5 | docker-compose.yml |
| 登录系统 | Logto(邮箱/GitHub) | apps/api/src/logto/ |
| 部署 | Docker Compose 一键启动 | docker-compose.yml |
测试体系也比较完整:前端用 Vitest + Cypress,后端用 Jest,示例数据在 apps/client/tests/ 和 apps/api/test/。
如何参与:从哪读 Earthworm 源码
准备动代码的话,建议从三个入口开始:
- 官方文档:快速开始、如何注册、常见问题,都在 packages/docs/ 下。
- 贡献指南:contribution 目录,包含环境配置与提交流程。
- 典型源码目录:游戏核心逻辑在 apps/client/composables/main/(游戏状态、听力、总结);后端每个功能一个目录,见 apps/api/src/;数据库表定义在 packages/schema/src/schema/。
写在最后
克隆仓库,跑完 10 分钟命令,你就能在本地浏览器里看到这个拼句子页面。之后是拿来学英语,还是拆代码学习,由你决定。
【免费下载链接】earthwormLearning English through the method of constructing sentences with conjunctions项目地址: https://gitcode.com/GitHub_Trending/ea/earthworm
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考