Skip to content

YarStr/keyboard_trainer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Клавиатурный тренажёр

Учебный проект Ярослава Страхова и Данила Заичкина по курсу Python.

1. Цель проекта

Цель проекта - разработать приложение с графическим интерфейсом, позволяющее тренировать десятипальцевый набор текста и методику слепой печати.

2. Описание системы

Система состоит из следующих основных функциональных блоков:

  1. Авторизация
  2. Просмотр статистики
  3. Режим тренировки печати

2.1. Сохранение прогресса

Тренажёр сохраняет результаты для каждого авторизированного пользователя, храня информацию о его:

  1. Попытках
  2. Времени прохождения
  3. Точности попадания по символам
  4. Лучшем результате в каждом режиме тренировки
  5. Динамике прохождения тренировок

2.2. Scoreboard

Тренажёр хранит информацию о всех авторизованных пользователях и выводит общую таблицу статистики в виде топа.

2.3. Режимы тренировок

В приложении нет конкретного плана тренировок, вместо этого существует деление на режимы сложности и рекомендательная система прохождения. В личной статистике отображается текущий прогресс, определяемый кол-вом пройденных уровней в каждом режиме, и полученное звание.

В зависимости от звания приложение предлагает выбрать указанный уровень сложности и пройти в нём некоторое количество уровней для его повышения.

Уровни сложности:

  1. Начальный - повторяющиеся слова и буквосочетания
  2. Продолжающий - разные слова и буквосочетания
  3. Реальный - осмысленные предложения
  4. Дополнительный - предложения со специальными знаками и цифрами

2.4. Генерация текста

В зависимости от выбранного режима набираемые строки генерируются программно или подтягиваются из файла с заранее созданными текстами.

2.5. Режим тренировки

Во время игры пользователь видит набираемую строку, индикаторы прогресса и времени, а также подсказки, на какие клавиши и какими пальцами нажимать.

Не предполагается музыкального сопровождения и звуковой индикации. Не предполагается поддержка раскладки Mac клавиатур.

3. Стек технологий

Для реализации системы предлагается следующий стек технологий:

  • Язык Python
  • Библиотека PyQT для реализации GUI

4. Требования к дизайну

Минимализм, лаконичность, понятность, современность. Светлая и тёмная темы. Лёгкий интерфейс, корректно работающий на любом железе.

Работа строго в одном выбранном стиле. Не допускается использование стандартных элементов QT без оформления.

Дизайн-файл в Figma: https://www.figma.com/file/QWWfoQCWk9TDQGu0km6a0i/keyboard_trainer?node-id=0%3A1&t=AtPrtvnPMvX5pa4C-1

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published