В работе рассматривается создание веб сайта для тренировки метода слепого набора текста на любых раскладках клавиатуры (для клавиатур со стандартным расположением клавиш).
Метод слепого набора текста является важным навыком для тех, кому приходиться много печатать на компьютере. Набор текста, при использовании этого метода, осуществляется не смотря на клавиатуру, всеми десятью пальцами, что позволяет увеличить скорость печати текста, а также позволяет при печати смотреть на сам текст на дисплее, не переключая зрение на клавиатуру [1].
Альтернативные qwerty раскладки клавиатуры [2] позволяют печатать текст быстрее (dvorak, colemak) или на другом языке (русская, итальянская, татарская).
На данный момент существует множество решений позволяющих освоить метод слепого набора [3], однако все они либо имеют низкую интерактивность, либо сделаны под конкретную раскладку клавиатуры, либо их необходимо устанавливать на свой компьютер. На мой взгляд лучшим решением на сегодняшний день является программа klavaro [4], однако она имеет запутанный интерфейс, её необходимо устанавливать на свой компьютер, тренировки символов, печатающихся через кнопку Shift, пользователю приходиться добавлять самому.
ВВЕДЕНИЕ.................................................................................................... 3
1. МЕТОД СЛЕПОЙ ПЕЧАТИ................................................................... 4
2. ТРЕБОВАНИЯ К ПРИЛОЖЕНИЮ....................................................... 6
3. АРХИТЕКТУРА ПРИЛОЖЕНИЯ.......................................................... 9
3.1. HTTP API............................................................................................... 9
3.2. Архитектура Django проекта.............................................................. 11
3.3. Архитектура React проекта................................................................ 11
4. РЕАЛИЗАЦИЯ......................................................................................... 12
4.1. Реализация Django проекта................................................................. 12
4.1.1. Приложение accounts.................................................................... 12
4.1.2. Приложение trainer........................................................................ 13
4.2. Реализация React проекта................................................................... 23
4.2.1. Выполнение урока......................................................................... 23
4.2.2. Клавиатура-подсказка................................................................... 24
4.2.4. Регистрация................................................................................... 26
4.2.5. Вход............................................................................................... 27
5. ОБЗОР ГОТОВОГО ПРИЛОЖЕНИЯ.................................................. 27
ЗАКЛЮЧЕНИЕ........................................................................................... 32
СПИСОК ЛИТЕРАТУРЫ.......................................................................... 33
ПРИЛОЖЕНИЕ 1........................................................................................ 35
1. Touch typing [Электронный ресурс]. –2020. – URL: https://en.wikipedia.org/wiki/Touch_typing (дата обращения: 14.06.2020).
2. Раскладка клавиатуры [Электронный ресурс]. –2020. – URL: https://ru.wikipedia.org/wiki/Раскладка_клавиатуры (дата обращения: 14.06.2020).
3. Список клавиатурных тренажёров [Электронный ресурс]. –2020.
– URL: https://ru.wikipedia.org/wiki/Список_клавиатурных_тренажёров (дата обращения: 14.06.2020).
4. Клавиатурный тренажёр Klavaro [Электронный ресурс]. –2020. – URL: https://klavaro.sourceforge.io/ru/index.html (дата обращения: 14.06.2020).
5. Django documentation [Электронный ресурс]. –2020. – URL: https://docs.djangoproject.com/en/3.0/ (дата обращения: 14.06.2020).
6. Django REST Framework [Электронный ресурс]. –2020. – URL: https://www.django-rest-framework.org/ (дата обращения: 14.06.2020).
7. Simple JWT [Электронный ресурс]. –2020. – URL: https://django- rest-framework-simplejwt.readthedocs.io/en/latest/ (дата обращения: 14.06.2020).
8. JSON Web Token [Электронный ресурс]. –2020. – URL: https://ru.wikipedia.org/wiki/JSON_Web_Token (дата обращения: 14.06.2020).
9. React documentation [Электронный ресурс]. –2020. – URL: https://reactjs.org/docs/ (дата обращения: 14.06.2020).
10. Introduction to Django Project and Applications and Understanding Directory Structure. [Электронный ресурс]. –2019. – URL: https://medium.com/srp-labs/tutorial-5-introduction-to-django-project-and- applications-and-understanding-directory-structure-7886d753f442 (дата обращения: 14.06.2020).
11. Django REST framework how to structure your app [Электронный ресурс]. –2020. – URL: http://danielhnyk.cz/django-rest-framework-how-to- structure-your-app/ (дата обращения: 14.06.2017).
12. Связный список [Электронный ресурс]. –2020. – URL: https://ru.wikipedia.org/wiki/Связный_список (дата обращения: 14.06.2020).
13. InlineModelAdmin objects [Электронный ресурс]. –2020. – URL: https://docs.djangoproject.com/en/3.0/ref/contrib/admin/#inlinemodeladmin- objects (дата обращения: 14.06.2020).
14. Адаптивная вёрстка [Электронный ресурс]. –2017. – URL: https://htmlacademy.ru/blog/boost/frontend/short-16 (дата обращения: 14.06.2020).