Go to file
Zyronon 45dbac5012 feat: normalize user input to match target text 2026-04-28 01:16:33 +08:00
.cursor/rules save 2026-03-29 01:43:51 +08:00
.github/workflows wip 2026-03-24 00:19:13 +08:00
.husky fix:remove husky 2026-02-01 16:09:50 +08:00
.vscode Refactor resource categories in doc.vue 2026-01-15 14:31:59 +08:00
apps feat: add new TTS sound option 2026-04-21 16:45:17 +08:00
docs wip 2026-04-20 19:25:13 +08:00
packages feat: normalize user input to match target text 2026-04-28 01:16:33 +08:00
scripts wip 2026-02-02 07:41:27 +00:00
.cursorignore Refactor resource categories in doc.vue 2026-01-15 14:31:59 +08:00
.dockerignore fix: fix docker build error caused by missing vscode-web tsconfig 2026-03-26 14:50:47 +08:00
.editorconfig Refactor resource categories in doc.vue 2026-01-15 14:31:59 +08:00
.gitignore wip 2026-04-14 22:49:20 +08:00
.prettierignore Refactor resource categories in doc.vue 2026-01-15 14:31:59 +08:00
.prettierrc Refactor resource categories in doc.vue 2026-01-15 14:31:59 +08:00
Dockerfile fix: fix docker build error caused by missing vscode-web tsconfig 2026-03-26 14:50:47 +08:00
LICENSE Refactor resource categories in doc.vue 2026-01-15 14:31:59 +08:00
README.md wip 2026-04-13 02:36:52 +08:00
docker-compose.yml fix:update docker-release.yml(it's just a static file,doesn't require arm64) 2026-02-25 01:32:51 +08:00
package.json fix:can not type Chinese & modify the ui of the word test function 2026-04-19 15:23:29 +08:00
pnpm-lock.yaml fix:restore group list 2026-04-20 23:55:20 +08:00
pnpm-workspace.yaml fix:update monorepo 2026-04-19 02:07:08 +08:00
tsconfig.json wip:move components 2026-03-15 02:29:10 +08:00

README.md

TypeWords

English | Español | Deutsch | Français | Português | Русский | Українська | 日本語 | 한국인 | ไทย | Tiếng Việt | Bahasa Indonesia | 繁體中文 | 简体中文

Learn English, one keystroke at a time; smarter memorization, more efficient learning - an open-source word and article practice tool

Online Access

https://typewords.cc

practice words practice articles

Features

Word Practice

  • Practice modes: Follow-along / Dictation / Self-test / Spelling from memory
  • Smart mode: Automatically calculates learning words based on memory curves, deepening memory through dictation
  • Free mode: No restrictions, plan your own learning
  • Provides phonetics, pronunciation (American/British), example sentences, phrases, synonyms, root words, etymology, error statistics, and more

Article Memorization

  • Built-in classic textbooks; you can also add or import articles with one-click translation and bilingual comparison
  • Follow-along + dictation dual modes, sentence-by-sentence input with automatic pronunciation for more efficient memorization
  • Supports listening while writing from memory to reinforce learning

Favorites, Wrong Words, Mastered

  • Words typed incorrectly while learning are automatically added to your wrong word book for later review
  • Actively add words to mastered to automatically skip them in future sessions
  • Add words to favorites for consolidation and review

Highly Customizable

  • Rich keyboard sound effects
  • Customizable shortcuts
  • Highly configurable settings

Clean and Efficient

  • Clean design, modern UI, ad-free
  • Refreshing interface, simple operation
  • No forced subscription to any platform

Vocabulary Library

Built-in commonly used vocabulary including CET-4, CET-6, GMAT, GRE, IELTS, SAT, TOEFL, Graduate English, TEM-4, TEM-8, and more. Designed to meet most users' vocabulary learning needs. Community contributions of additional vocabulary are welcome.

Running the Project

Note: This project can run standalone with data saved locally. Manual backup is required when switching devices; this does not affect normal usage.

Option 1: Running from Source

This project is built with Nuxt and requires a Node.js environment.

  1. Install NodeJS, refer to the official documentation
  2. The project is large. It's recommended to use git clone --depth 1 https://github.com/zyronon/TypeWords.git to clone only the latest commit. GitHub's Download ZIP feature will not work properly.
  3. In the project root directory, open a terminal and run pnpm install to download dependencies.
  4. Run pnpm run dev to start the project. The default address is http://localhost:5567
  5. Open http://localhost:5567 in your browser to access the project.
  6. Run pnpm run generate to build the project files.

Option 2: Using Docker

The easiest way to run TypeWords is using Docker:

# Pull the image from Docker Hub
docker pull zyronon/typewords:latest

# Run the container
docker run -d -p 3000:80 --name typewords zyronon/typewords:latest

Then open http://localhost:3000 in your browser to access the project.

Or use Docker Compose:

# Start with docker-compose
docker-compose up -d

# Stop the service
docker-compose down

Or build and run locally:

# Build the Docker image
docker build -t typewords .

# Run the container
docker run -d -p 3000:80 --name typewords typewords

Features and Suggestions

The project is currently in early development, with new features being added continuously. If you have any suggestions or feature requests, feel free to open an Issue. If you like the design philosophy of this software, please submit a PR. Thank you for your support!

Contributing Guide

Contributing Guidelines

If you're interested in this project, we welcome your contributions and will provide as much help as possible.

Before contributing, please communicate with the developers to avoid code conflicts.

Thank you again for your contributions!