предоставить людям возможность (программу), улучшающую их навык, не прилагая особых усилий. В данном случае это печать вслепую или умение печатать быстро. Данный скилл очень сильно экономит время и нервы во время работы за ПК. А на сегодняшний день время на вес золота.
Реализовано три класса авторизации в аккаунт: форма входа (SingInForm ), форма регистрации (RegistrationForm), форма восстановления пароля (RecoverPage). Основой является главное окно (MainWindow). Оно позволяет переключаться между вкладками: окно профиля (ProfilePage), окно рейтинга среди локальных пользователей (RatingPage), окно претеста (PretestPage). Уже от окна претеста можно перейти к окну тестирования (TestingPage). После выполнения тестирования диалоговое окно ResultPage сообщает о результате окну статистики (StatisticPage). Из вкладки профиля можно попасть в окно информации (InfoPage) и окно статистики (StatisticPage). Все данные пользователей (почта, имя, фамилия, фото, хэш пароля, соль) и их попытки (скорость, точность) хранятся в 3 таблицах одной БД.
Примечание: статистика за год, месяц и день составляется за текущий год, месяц и день соответственно. То есть выбрав "за год", появится статистика за 2021 год (текущий)
Готовая программа имеет следующие функции:
- Регистрация нового аккаунта
- Авторизация аккаунта в системе
- Смена пароля аккаунта
- Удаление аккаунта с подтверждением действия
- буквенные сочетания
- целые слова
- цифры
- специальные символы (знаки препинания)
- набор текста на скорость
- набор текста до первой ошибки
- скорость печати
- дата и время прохождения
- точность печати
- редактирование профиля
- выбор текущего урока (упражнения)
- смена языка ввода
- Выведение окна помощи с инструкцией к программе.
- Чтобы запустить приложение, нужно открыть файл enter_page.py или же enter_page.exe. (если у вас нет интерпретатора python).
- Пароль при регистрации будет сгенерирован автоматически и отправлен на указанную почту.
- В директории проекта есть файл-установщик шрифта расширения “.ttf” (лучше установить для удобства).
- А теперь можете выполнять тестирование. Улучшайте свои скорость и точность печати и повышайте свой локальный рейтинг!
- Pyqt5 – основной интерфейс
- hashlib – хеширование паролей
- smtplib – отправка писем при регистрации и восст. пароля
- sqlite3 – чтение и запись данных пользователя и его результата.
- random – выбор случайного тренировочного предложения
- re – соответствие символов с нужными
- time – счёт времени
- datetime – получение даты
- pyqtgraph – построение графика статистики