Об этом проекте
## Обзор
GRE 镇考 3000 — это чисто фронтендное прогрессивное веб-приложение (PWA) для изучения лексики GRE, разработанное специально для готовящихся к экзамену GRE. Оно включает полный словарь «GRE 镇考 3000 词 (乱序版)» (всего 3275 словарных статей с китайскими толкованиями, транскрипцией и английскими примерами) и использует кривую забывания Эббингауза для планирования интервалов повторения, помогая пользователям эффективно запоминать слова.
## Основные функции
- **Ежедневные новые слова**: по умолчанию изучается 100 новых слов в день, количество можно изменить в настройках (50–150, шаг 10). Новые слова выбираются из неизученных слов в порядке перемешанного списка.
- **Интервальные повторения по Эббингаузу**: у каждой карточки 8 стадий (0–7), интервалы от 8 минут до 15 дней, с динамической корректировкой коэффициента ease в зависимости от ответов пользователя (начальное значение 2.5, правильный ответ +0.1, неправильный −0.2), фактическое время ожидания = базовый интервал × (ease / 2.5).
- **Тип заданий для повторения**: показывается английское слово, нужно выбрать правильный вариант из 4 китайских толкований (1 правильный + 3 отвлекающих).
- **Офлайн-доступность**: словарь поставляется вместе с приложением, после первого открытия Service Worker кэширует оболочку приложения и данные словаря, после чего слова можно учить даже без сети.
- **Устанавливаемое PWA**: поддерживает добавление на главный экран телефона (iOS Safari / Android Chrome) и запуск в отдельном окне.
- **Настольное приложение**: доступен установочный пакет для macOS (сборка Electron), также можно локально собрать версию для Linux.
- **Горячие клавиши**: на странице новых слов пробел/Enter разворачивает толкование, 1/2/3 отмечают «не знаю»/«смутно помню»/«знаю»; на странице повторения 1–4 выбирают ответ, пробел/Enter — следующий вопрос.
## Интерфейс и навигация
Четыре вкладки внизу:
- **Сегодня**: панель прогресса, показывает статус обучения за день, количество дней непрерывных занятий и т. д.
- **Учить**: страница изучения новых слов, слово сверху, толкование по умолчанию скрыто, разворачивается по клику на карточку или нажатию пробела. Снизу три кнопки: не знаю, смутно помню, знаю.
- **Повторять**: страница повторения, слово сверху, четыре варианта расположены вертикально.
- **Словарь**: фильтрация по категориям «не изучено», «в процессе повторения», «освоено», толкование показывается только при открытии слова. Слова, перешедшие на 7-дневную стадию, считаются освоенными.
## Техническая реализация
- **Фронтенд-фреймворк**: сборка на основе Vite, используется React (или аналогичный фреймворк, явно не указан, но соответствует современной фронтенд-практике).
- **Поддержка PWA**: через vite-plugin-pwa (Workbox) генерируются Web App Manifest и Service Worker, реализуются офлайн-кэширование и возможность установки.
- **Хранение данных**: весь прогресс обучения хранится в localStorage браузера (ключ gre3000.vocab.v1), без зависимости от бэкенд-сервера.
- **Парсинг словаря**: исходный словарь взят из PDF «GRE 镇考 3000 词 (乱序版)», с помощью Python-скрипта (pymupdf) выполнены разбор таблиц, удаление водяных знаков, объединение перенесённых слов, дедупликация и генерация JSON-файла.
## Использование
### Онлайн
Просто откройте https://gre-3000-vocab.vercel.app и начните учиться. Рекомендуется добавить на главный экран телефона для наилучшего опыта.
### Локальный запуск
```bash
git clone https://github.com/jayden-dong411/gre-3000-vocab.git
cd gre-3000-vocab
npm install
npm run dev
```
Сервер разработки по умолчанию работает на http://127.0.0.1:43173.
### Продакшен-сборка
```bash
npm run build
npm run preview
```
Результат сборки находится в каталоге dist/ и может быть развёрнут на любом статическом хостинге.
### Настольное приложение
Скачайте установочный пакет macOS из GitHub Releases или запустите локально `npm run desktop` для открытия окна напрямую, `npm run pack:mac` / `npm run pack:linux` для сборки дистрибутива.
## Примечания
- При смене устройства прогресс обучения не синхронизируется (данные хранятся локально в браузере).
- Для установки на главный экран телефона требуется HTTPS (кроме localhost).
- Установочный пакет macOS не нотаризован Apple, при первом открытии система может заблокировать его, для снятия блокировки выполните в терминале команду `xattr -cr`.
## Итог
GRE 镇考 3000 — это полнофункциональный и хорошо продуманный инструмент для изучения лексики GRE, который в полной мере использует офлайн-возможности и устанавливаемость PWA, а также предлагает поддержку настольного приложения. Его алгоритм повторения по Эббингаузу учитывает результаты ответов пользователя и является более гибким, чем фиксированные интервалы. Источник словаря ясен, процесс парсинга прозрачен. Подходит для готовящихся к GRE, которым нужно систематически заучивать лексику.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.