Skip to content

gramrate/SpeedReading

Repository files navigation

Speed Reading

Speed Reading — это MVP веб-приложения для быстрого чтения книг из локальных .txt файлов. Пользователь загружает текст, приложение разбирает его на короткие chunk-и и показывает их по одному в центре экрана с выбранной скоростью. Идея простая: убрать лишние движения глазами по строкам и дать более ровный ритм чтения.

Проект сделан как легкий локальный ридер без серверной части. Файл читается прямо в браузере, настройки сохраняются локально, а само приложение можно установить на телефон или компьютер как PWA.

Что делает приложение

После загрузки .txt файла приложение нормализует текст, разбивает его на токены, собирает их в удобные для быстрого чтения фрагменты и запускает показ в режиме ридера. Скорость регулируется в WPM, есть управление play, pause, resume, stop, переход вперед и назад, а также прогресс-бар для быстрого перемещения по книге.

Chunking сделан с учетом русского языка: короткие служебные слова и слишком короткие токены по возможности не показываются отдельно, длинные слова чаще выносятся в отдельный показ, а знаки препинания влияют на длину паузы. За счет этого ритм чтения получается более естественным, чем при простом показе одного слова через одинаковый интервал.

Интерфейс минималистичный и адаптивный. По умолчанию используется темная тема, основной фокус остается на центральной зоне чтения, а элементы управления остаются простыми и удобными для телефона.

Технологии

Проект собран на TypeScript, React и Vite. Для установки приложения как PWA используется vite-plugin-pwa. Вся логика разбита на отдельные части: обработка текста, токенизация, chunking, воспроизведение и UI.

Возможности

  • загрузка локального .txt файла;
  • нормализация и разбор текста в браузере;
  • токенизация на слова и знаки препинания;
  • chunking под русский язык;
  • центральный экран показа chunk-ов;
  • настройка скорости чтения в WPM;
  • play / pause / resume / stop / next / previous;
  • плавная остановка без резкого обрыва текущего chunk-а;
  • прогресс-бар;
  • сохранение настроек в localStorage;
  • адаптивный интерфейс;
  • installable PWA.

Запуск

npm install
npm run dev

Сборка production-версии:

npm run build
npm run preview

Android APK

Проект можно собрать в Android APK через Capacitor. После сборки debug-файл появляется по пути:

android/app/build/outputs/apk/debug/app-debug.apk

Быстрая сборка APK из корня проекта:

npm install
npm run apk:debug

Если нужно запускать шаги вручную:

npm run build
npx cap sync android
cd android
./gradlew assembleDebug

Для чего этот проект

Это не универсальный книжный ридер и не сложная платформа для чтения. Это компактный MVP, который решает одну конкретную задачу: быстро и удобно показывать текст из .txt в формате, подходящем для скоростного чтения. Проект можно использовать как готовую основу для дальнейшего развития или как простой личный инструмент для чтения.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors