[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73464":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":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},73464,"earthworm","cuixueshe\u002Fearthworm","cuixueshe","Learning English through the method of constructing sentences with conjunctions","https:\u002F\u002Fjulebu.co",null,"TypeScript",10881,1321,38,12,0,7,16,39,21,44.36,"GNU Affero General Public License v3.0",false,"main",true,[],"2026-06-12 02:03:13","\u003Cdiv align=\"center\">\n  \u003Cimg alt=\"Earthworm\" width=\"120\" height=\"120\" src=\".\u002Fassets\u002Flogo\u002Flogo-1000.png\">\n  \u003Ch1>Earthworm\u003C\u002Fh1>\n  \u003Cspan>English | \u003Ca href=\".\u002FREADME.zh-CN.md\">中文\u003C\u002Fa>\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n  \u003Cbr\u002F>\n  \u003Ca href=\"https:\u002F\u002Fhellogithub.com\u002Frepository\u002F9433615761f548cf9648434c670cd85b\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fabroad.hellogithub.com\u002Fv1\u002Fwidgets\u002Frecommend.svg?rid=9433615761f548cf9648434c670cd85b&claim_uid=249cPWvjfNmU7dp\" alt=\"Featured｜HelloGitHub\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" \u002F>\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n## ⚡ Introduction\n\nBy constructing sentences with conjunctions, it helps you learn English better~ 😊\n\n## 🚀 How To Start?\n\n**The mentioned operations below are based on the root directory of the current project, please be attentive to ensure there are no errors!**\n\n### Requirements\n\n- **pnpm version >= 8**\n\n  ```bash\n  corepack enable\n  ```\n\n- **Node.js version >= v20**\n  > Use the version from .node-version. [Supported tools](https:\u002F\u002Fgithub.com\u002Fshadowspawn\u002Fnode-version-usage#compatibility-testing)\n- **Postgres version >= 14.0.0**\n- **Redis version >= 5.0.0**\n- **Docker**. please make sure it is installed and running successfully on your local machine.\n\n```bash\ndocker --version # Docker version 24.0.7, build afdd53b\n\nnode --version # v20+\n\npnpm -v # 8+\n```\n\n### Editor\n\n#### VSCode\n\n- Install the recommended extensions [extensions.json](.\u002F.vscode\u002Fextensions.json)\n\n### 1. Install Dependencies\n\n```bash\npnpm install\n```\n\n### 2. Configure the `.env` File\n\nYou can choose to copy the contents of `.\u002Fapps\u002Fapi\u002F.env.example` to`.\u002Fapps\u002Fapi\u002F.env`. note that the' example' file contains sample configuration. the main storage system's environment variable information, such as database connection address, user name, password, port, key, etc. the back-end service will read the configuration from this file, **of course you can also change it to your own configuration information**.\n\nWindows users recommend shortcut keys to copy and paste, Linux users can operate through the following command.\n\n#### Server\n\n```bash\ncp .\u002Fapps\u002Fapi\u002F.env.example .\u002Fapps\u002Fapi\u002F.env\n```\n\n#### Client\n\n```bash\ncp .\u002Fapps\u002Fclient\u002F.env.example .\u002Fapps\u002Fclient\u002F.env\n```\n\n### 3. Restore Data Of Logto\n\nUncompress `logto_db_init_data.zip` to `.volumes\u002F`\n\n```bash\nunzip logto_db_init_data.zip -d .volumes\u002F\n```\n\n- Admin URL: http:\u002F\u002Flocalhost:3011\n- Username: admin\n- Password: WkN7g5-i8ZrJckX\n\n> if you want to [Manual Configuration Logto](https:\u002F\u002Fgithub.com\u002Fcuixueshe\u002Fearthworm\u002Fwiki\u002F%E8%BF%81%E7%A7%BB-Logto-%E7%94%A8%E6%88%B7%E7%B3%BB%E7%BB%9F%E5%90%8E%E6%9C%AC%E5%9C%B0%E5%90%AF%E5%8A%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%A1%88%EF%BC%88%E8%B4%A1%E7%8C%AE%E8%80%85%EF%BC%89)\n\n### 4. Start Docker Compose Service\n\nThe backend relies on Postgres and Redis services. Start and stop these services using the commands configured in `package.json` below.\n\n```bash\n# start\npnpm docker:start\n\n# When needed, execute the following command\n# stop\npnpm docker:stop\n# delete\npnpm docker:delete\n# Complete deletion (including Volume data)\npnpm docker:down\n```\n\nIf you prefer manual, you can use the commands below.\n\n```bash\ndocker compose up -d\ndocker compose stop\ndocker compose down\n\n# commands compatible with older versions of Docker\ndocker-compose up -d\n```\n\n### 5. Initialize Database Schema\n\nWhen executing this command, try to keep a little time from the previous command, because the `-d` parameter just used will suspend its service execution in the background. At this time, the docker service may still be running. If an error is found, execute it again.\n\n```bash\npnpm db:init\n```\n\n### 6. Create and Upload Course Data\n\n**Only Execute This During the Initial Database Initialization**.\n\n```bash\npnpm db:upload\n```\n\n### 7. Start the Backend Service\n\n```bash\npnpm dev:serve\n```\n\n### 8. Start the Frontend Service\n\n```bash\npnpm dev:client\n```\n\n## 🛠️ About testing\n\n**Run the test before submitting the commit, and submit the code after the test passes, so as to avoid multiple commits to solve the test problem**.\n\n### Front-end Testing\n\nThe main is the single test of Vitest and the automated test of cypress, execute the following command:\n\n```bash\n# Enter the front-end project directory\ncd apps\u002Fclient\n\n# vitest\npnpm test:unit:run\n# cypress\npnpm test:e2e:run\n\n# monitor vitest, convenient hot update to see test results\npnpm test:unit:watch\n```\n\n### Backend Testing\n\nMainly Jest single test and end-to-end test, but need to access the test database, so you need to ensure that:\n\n1. testdb and testRedis services in Docker Compose started normally.\n2. The configuration information in the `.env.test` file is correct. If there is no such file, you can copy the contents of the `apps\u002Fapi\u002F.env.test.example` file to the `apps\u002Fapi\u002F.env.test` file. The following command is provided to directly use.\n\nExecute the following command:\n\n```bash\n# Enter Backend Project Directory\ncd apps\u002Fapi\n\n# If you have an.env.test file, you don't need to run this step\ncp .env.test.example .env.test\n\n# Single test\npnpm test:unit\n# End-to-end testing\npnpm test:e2e\n# Single test and end-to-end test run together\npnpm test\n```\n\n## Docs Project\n\nProject based on Vitepress documentation，execute the following command:\n\n```bash\n# Local Development\npnpm docs:dev\n```\n\n## ❓ FAQ\n\n### Database connection failed\n\nMy Docker and the database inside are running normally, but when I run the `db:init` command, I still report an error, indicating that the database connection failed.\n\nYou can check whether the database configuration in the `.env` file is correct, or even whether this file has it! 😠\n\n### How To Correctly Update Course Data?\n\nwhen you identify incorrect course data and make modifications, you should use the following command to update the course data in the database.\n\n```bash\npnpm db:update\n```\n\n### pnpm Install Error?\n\nSome dependencies require compilation during installation, necessitating the presence of relevant build environments.\nIf these environments are not available, the compilation process may fail. Additionally, different modules may require different build environments, so specific issues need to be analyzed individually.\nBelow are specific problems encountered along with their solutions.\n\nFirst try the following command to update `pnpm`.\n\n```shell\npnpm i -g\n# or\npnpm i -g pnpm\n# or\nnpx pnpm i -g pnpm@latest\n```\n\n**Error Installing the argon2 Module On Windows**\n\n- Install Visual Studio 2015 or later, specifically the \"Desktop development with C++\" component. (In practice, any component containing C++ development tools and libraries will suffice.)\n- If you encounter Chinese characters display issues during compilation, execute `chcp 437` in the command prompt, then rerun the install command.\n\n### Docker Permission Denied in Docker?\n\nWhen using WSL2 as a development environment in Windows, the following error occurs when starting Docker with `docker compose up -d` :\n\n```bash\npermission denied while trying to connect to the Docker daemon socket at unix:\u002F\u002F\u002Fvar\u002Frun\u002Fdocker.sock: Get \"http:\u002F\u002F%2Fvar%2Frun%2Fdocker.sock\u002Fv1.24\u002Fcontainers\u002Fjson\": dial unix \u002Fvar\u002Frun\u002Fdocker.sock: connect: permission denied\n```\n\n> Solution\n\nAdd the current user to the docker group\n\n```bash\n# Add docker user group\nsudo groupadd docker\n# Add the logged-in user to the docker user group\nsudo gpasswd -a $USER docker\n# Update user group\nnewgrp docker\n# Test if docker command is working properly\ndocker images\n```\n\n## 🤝 Frontend Development Guideline\n\n1. Do not Destructure Pinia store.\n\n   - The readability will be better when using `store`\n   - Destructuring can lead to reactivity loss and using `storeToRefs` is also quite cumbersome\n\n2. Avoid including UI logic in composables.\n\n   - Such as `toast.info()`\n   - We categorize the router as UI logic, and for ease of testing, avoid including routerrelated logic in there\n\n## 🚀 Star History\n\n[![Stargazers over time](https:\u002F\u002Fstarchart.cc\u002Fcuixueshe\u002Fearthworm.svg?variant=adaptive)](https:\u002F\u002Fstarchart.cc\u002Fcuixueshe\u002Fearthworm)\n\n## 🌟 Contributing\n\nThanks to everyone who has already contributed to Earthworm! 🎉\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002F\u002Fcuixueshe\u002Fearthworm\u002Fgraphs\u002Fcontributors\">\u003Cimg src=\"https:\u002F\u002Fcontributors.nn.ci\u002Fapi?repo=cuixueshe\u002Fearthworm\" \u002F>\u003C\u002Fa>\n","Earthworm 是一个通过连接词构造句子来帮助学习英语的工具。项目采用 TypeScript 编写，支持 Docker 容器化部署，依赖于 Postgres 和 Redis 服务以实现数据存储与缓存功能。用户可以通过配置环境变量、安装依赖并启动相关服务来运行该项目。Earthworm 适合需要提高英语写作和语法能力的学习者使用，在个人学习或教育场景中都能发挥良好作用。",2,"2026-06-11 03:45:41","high_star"]