About this project
## Overview
GRE Zhenkao 3000 is a pure front-end progressive web app (PWA) for GRE vocabulary learning, designed for GRE test takers. It includes the complete word bank of the GRE Zhenkao 3000 Words (Shuffled Edition) (3,275 entries with Chinese definitions, phonetic symbols, and English example sentences), and uses the Ebbinghaus forgetting curve to schedule review intervals, helping users memorize words efficiently.
## Core Features
- **Daily new words**: Learn 100 new words per day by default, adjustable in settings (50–150, step 10). New words are selected from unlearned words in shuffled word list order.
- **Ebbinghaus spaced review**: Each card has 8 stages (0–7), with intervals ranging from 8 minutes to 15 days, and the ease factor is dynamically adjusted based on user answer performance (initial value 2.5, +0.1 for correct, −0.2 for incorrect). Actual wait time = base interval × (ease / 2.5).
- **Review question type**: Shows an English word, and the user selects the correct one from 4 Chinese definitions (1 correct + 3 distractors).
- **Offline availability**: The word bank ships with the app. After the first open, the Service Worker caches the app shell and word bank data, so vocabulary can be reviewed offline afterward.
- **Installable PWA**: Supports adding to the phone home screen (iOS Safari / Android Chrome) and running in a standalone window.
- **Desktop app**: Provides a macOS installer (Electron packaged), and a Linux version can also be built locally.
- **Keyboard shortcuts**: On the new word page, Space/Enter expands the definition, and 1/2/3 mark Don't Know / Fuzzy / Know respectively. On the review page, 1–4 selects an answer, and Space/Enter goes to the next question.
## Interface and Navigation
Four entries at the bottom:
- **Today**: Progress dashboard, showing the day's learning status, consecutive check-in days, etc.
- **Study**: New word learning page, with the word on top and the definition collapsed by default. Click the card or press Space to expand. Three buttons below: Don't Know, Fuzzy, Know.
- **Review**: Review page, with the word on top and four options arranged vertically.
- **Word Bank**: Filter by Unlearned, Reviewing, and Mastered. The definition is shown only after opening a word. Words that enter the 7-day tier are marked as mastered.
## Technical Implementation
- **Front-end framework**: Built with Vite, using React (or a similar framework; not explicitly stated but consistent with modern front-end practices).
- **PWA support**: Uses vite-plugin-pwa (Workbox) to generate the Web App Manifest and Service Worker, enabling offline caching and installability.
- **Data storage**: All learning progress is stored in browser localStorage (key name gre3000.vocab.v1), with no backend server dependency.
- **Word bank parsing**: The original word bank comes from the GRE Zhenkao 3000 Words (Shuffled Edition) PDF. A Python script (pymupdf) parses tables, removes watermarks, joins line-broken words, deduplicates, and generates a JSON file.
## Usage
### Online use
Visit https://gre-3000-vocab.vercel.app directly to start learning. Adding it to the phone home screen is recommended for the best experience.
### Local development
```bash
git clone https://github.com/jayden-dong411/gre-3000-vocab.git
cd gre-3000-vocab
npm install
npm run dev
```
The dev server runs at http://127.0.0.1:43173 by default.
### Production build
```bash
npm run build
npm run preview
```
The build output is in the dist/ directory and can be deployed to any static host.
### Desktop app
Download the macOS installer from GitHub Releases, or run `npm run desktop` locally to open the window directly. Use `npm run pack:mac` / `npm run pack:linux` to package for distribution.
## Notes
- Learning progress is not synced across devices because data is stored locally in the browser.
- Installing to the phone home screen requires HTTPS (except localhost).
- The macOS installer is not notarized by Apple, so it may be blocked by the system on first open. Run the `xattr -cr` command in the terminal to remove the restriction.
## Summary
GRE Zhenkao 3000 is a fully functional and well-designed GRE vocabulary learning tool that makes full use of PWA offline capabilities and installability, while also providing desktop app support. Its Ebbinghaus review algorithm takes user answer performance into account, making it more flexible than fixed intervals. The word bank source is clear and the parsing process is transparent. It is suitable for test takers who need to systematically memorize GRE vocabulary.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.