Учебный проект Ярослава Страхова и Данила Заичкина по курсу Python.
Цель проекта - разработать приложение с графическим интерфейсом, позволяющее тренировать десятипальцевый набор текста и методику слепой печати.
Система состоит из следующих основных функциональных блоков:
- Авторизация
- Просмотр статистики
- Режим тренировки печати
Тренажёр сохраняет результаты для каждого авторизированного пользователя, храня информацию о его:
- Попытках
- Времени прохождения
- Точности попадания по символам
- Лучшем результате в каждом режиме тренировки
- Динамике прохождения тренировок
Тренажёр хранит информацию о всех авторизованных пользователях и выводит общую таблицу статистики в виде топа.
В приложении нет конкретного плана тренировок, вместо этого существует деление на режимы сложности и рекомендательная система прохождения. В личной статистике отображается текущий прогресс, определяемый кол-вом пройденных уровней в каждом режиме, и полученное звание.
В зависимости от звания приложение предлагает выбрать указанный уровень сложности и пройти в нём некоторое количество уровней для его повышения.
Уровни сложности:
- Начальный - повторяющиеся слова и буквосочетания
- Продолжающий - разные слова и буквосочетания
- Реальный - осмысленные предложения
- Дополнительный - предложения со специальными знаками и цифрами
В зависимости от выбранного режима набираемые строки генерируются программно или подтягиваются из файла с заранее созданными текстами.
Во время игры пользователь видит набираемую строку, индикаторы прогресса и времени, а также подсказки, на какие клавиши и какими пальцами нажимать.
Не предполагается музыкального сопровождения и звуковой индикации. Не предполагается поддержка раскладки Mac клавиатур.
Для реализации системы предлагается следующий стек технологий:
- Язык Python
- Библиотека PyQT для реализации GUI
Минимализм, лаконичность, понятность, современность. Светлая и тёмная темы. Лёгкий интерфейс, корректно работающий на любом железе.
Работа строго в одном выбранном стиле. Не допускается использование стандартных элементов QT без оформления.
Дизайн-файл в Figma: https://www.figma.com/file/QWWfoQCWk9TDQGu0km6a0i/keyboard_trainer?node-id=0%3A1&t=AtPrtvnPMvX5pa4C-1