Open-source AI education platform that turns study materials into quizzes, flashcards, Cornell-style notes, and podcasts, inspired by NotebookLM.
cuixueshe/earthworm
A TypeScript English-learning app that teaches grammar and vocabulary by having you build sentences with conjunctions.
- Stars
- 11,118
- Forks
- 1,359
- Open issues
- 11
- Last commit
- 2 years ago
What is it?
Earthworm is an English learning project built around constructing sentences with conjunctions. Learners practice combining clauses with connecting words, which is the core method the project is organized around.
The repository is a pnpm monorepo with a Vue client under apps/client and a backend API under apps/api. The backend uses Postgres and Redis, which are started locally through Docker Compose, and Logto is used for user authentication. Course data is loaded into the database with a dedicated upload command.
Setup involves installing dependencies, copying example .env files, starting Docker services, initializing the database schema, and running the API and client dev servers. The project includes Vitest and Cypress tests for the frontend and Jest tests for the backend.
Key features
- 01Teaches English by building sentences with conjunctions
- 02Vue client and TypeScript backend API in one pnpm monorepo
- 03Postgres and Redis services provided through Docker Compose
- 04Logto-based user authentication
- 05Course data import and update commands
Use cases
- Self-studying English grammar through sentence construction
- Reference implementation of a full-stack TypeScript app with Vue, Postgres and Redis
- Studying a monorepo setup with Docker-based local development
Quick start
- 1
Enable pnpm via corepack
corepack enable - 2
Install dependencies
pnpm install - 3
Copy the server environment file and start Docker Compose services
cp ./apps/api/.env.example ./apps/api/.env - 4
Initialize the database schema, then start the backend and frontend
pnpm db:init
Things to know
- Requires Postgres 14+, Redis 5+, Docker and Node.js 20+ running locally before setup.
- Setup involves multiple manual steps including restoring Logto data and configuring .env files.
Topics
FAQ
- What is earthworm?
- A TypeScript English-learning app that teaches grammar and vocabulary by having you build sentences with conjunctions. Earthworm is an English learning project built around constructing sentences with conjunctions. Learners practice combining clauses with connecting words, which is the core method the project is organized around.
- Is earthworm free to use? What license does it have?
- earthworm is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
- Is earthworm still maintained?
- No commits for 6+ months. The last commit to earthworm was on Nov 14, 2024.
- What can I use earthworm for?
- Self-studying English grammar through sentence construction Reference implementation of a full-stack TypeScript app with Vue, Postgres and Redis Studying a monorepo setup with Docker-based local development
- How do I install earthworm?
- Enable pnpm via corepack: corepack enable Install dependencies: pnpm install Copy the server environment file and start Docker Compose services: cp ./apps/api/.env.example ./apps/api/.env Initialize the database schema, then start the backend and frontend: pnpm db:init
- Where can I get earthworm?
- The source code and installation instructions are on GitHub: https://github.com/cuixueshe/earthworm
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A typing-practice web app that combines English vocabulary memorization with keyboard muscle-memory training, built for people who work in English on a keyboard.
A Flutter app for English listening and speaking practice that automates intensive listening, shadowing, blind listening, retelling and spaced review.
A free, bilingual 3D museum in the browser where young children and their grown-ups explore prehistoric animals on land, sea, and sky.
A free, open-source primary-school study platform covering grades 1-6 with unit quizzes, lesson explanations, read-along text and AI-generated stories.
Interactive 3D insect field guide where 63 species are modeled procedurally in the browser with TypeScript and Three.js, with no model files.