В период с 2015 по 2016 я принял участие в создание сайта в Ижевске для дистанционного изучения удмуртского языка.

Проблема

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

Задача

В связи с этим, передо мной была поставлена следующая задача:

Разработать прототип сайта для дистанционного изучения удмуртского языка, который помогал бы людям из других городов и поселков изучать язык не выезжая на занятия в Ижевск

Процесс выполнения работ

Для достижения поставленной задачи, обозначил план работ:

  1. Определить портрет основных пользователей системы
  2. Выбрать подходящие инструменты. С учетом дальнейшего масштабирования и нагрузок на систему
  3. Использование национального алфавита на сайте
  4. Определить роли пользователей в системе
  5. Спроектировать интерфейс c учетом портрета пользователей
  6. Реализовать базовый функционал, с помощью которого уже можно приступить к изучению слов
  7. Добавить геймификацию в систему

 

Подготовительный этап

1. Первым делом, я стал определять: кто же является целевой аудиторией?

По итогу, сюда попали люди в возрасте от 7 и до 40+ лет. Получился очень большой диапазон по возрастной категории.

На этом этапе решил не распыляться, и сделали упор на людей в возрасте от 14 до 35 лет.

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

Так же учитывал индивидуальные особенности здоровья людей.

2. Вторым делом мы провели анализ двух систем для изучения иностранных языков: Lingualeo и Duolingo.

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

И для системы определил 4 модуля, такие как:

  1. Читаем и запоминаем
  2. Пишем правильно
  3. Составление слов
  4. Тренировка перевода

 

Роли системы

Обозначил 3 основных роли, которые будут в системе, это:

  1. Авторизованный – пользователю с данной ролью, доступны все разделы для выполнения практических заданий системы
  2. Администратор – пользователю с такой ролью, доступен весь функционал системы. В том числе, удаление, добавление и редактирование, как заданий, так и пользовательских данных
  3. Гость – с данной ролью пользователь мог использовать только функционал «Изучение 15 слов в день»

 

Разработка проекта и инструменты

Для разработки проекта выбрал следующие инструменты:

  1. Язык программирования PHP — для серверной части проекта
  2. Библиотеку JQuery — для клиентской части
  3. Bootstrap 4 UI с дополнениями — для использования готовых компонентов, что позволяет быстро спроектировать базовый интерфейс системы
  4. Asana — менеджер для управления задачами по проекту

 

Разработка интерфейса и функционала

Создание сайта - Основные разделы УдмуртКы

Страница с выбором упражнения

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

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

 

Упражнение “Читаем и запоминаем”

Основное назначение данного упражнения — это изучение слова и его перевода, а также как оно может использоваться в предложении.

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

Читаем и запоминаем

Упражнение «Читаем и запоминаем»

 

Упражнение “Пишем правильно”

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

Соответственно, пользователь мог отследить в каких словах он допустил ошибку, а какие написал правильно и их общее количество.

Пишем правильно - Создание сайта

Упражнение «Пишем правильно»

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

 

Упражнение «Составляем слова»

Основная задача данного упражнения — это проверить, насколько пользователь запомнил слова из упражнения «Читаем и запоминаем» и закрепить повторно то или иное слово.

Если пользователь не знает, что за слово там скрыто, то наведя курсор на него — получит подсказку

Составляем слова УдмуртКыл - Создание сайта в Ижевске

Упражнение «Составляем слова»

Упражнение “Тренируем перевод”

Аналогично предыдущему модулю, в этом пользователь получает случайное слово из базы и необходимо ввести перевод слова.

Переводим слова УдмуртКыл - Создание сайта

Упражнение «Тренируем перевод»

Но что к примеру делать, если ты не знаешь перевод?

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

Подсказка перевода слова

Подсказка, как можно перевести данное слово

 

 

Журнал ошибок

Все ошибки по модулям “Тренируем перевод” и “Составляем слова” выводятся в “Журнале ошибок”. Где каждый пользователь может увидеть, сколько ошибок он совершил и с возможностью исправить их

Журнали ошибок УдмуртКыл - Создание сайта

Журнал ошибок, где хранятся все ошибки пользователя

При нажатии на кнопку “Попробовать еще раз” пользователя перенаправляло на страницу для исправления данного слова.

Если вновь была совершена ошибка, то слово оставалось в журнале этого модуля

Ошибка в модуле

В каких словах была сделана та или иная ошибка

Раздел “15 слов каждый день”

Из-за большого количества слов и предложений, которые содержатся в упражнение “Читаем и запоминаем”, пользователи не могли запомнить такой объем информации. Поэтому я решил ограничить количество изучаемых слов каждый день.

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

Ежедневно в полночь, список данных слов обновлялся, что позволяло каждый день изучать новые слова.

15 слов каждый день

Вывод 15 слов каждый день после 00:00 по Москве

 

Геймификация (использование элементов игрового процесса)

Конечно использование базовых возможностей системы быстро надоедает.

Поэтому было принято решение — внедрить элементы игрового процесса на сайт

Для этого были придуманы два персонажа: мальчик и девочка. Данных персонажей нарисовали специального для этого проекта. С использованием национальных костюмов Удмуртии

 

Создание персонажа на сайте не являлось обязательным условием для использования базовых возможностей.

Но если пользователь хотел создать своего персонажа, то он переходил в пункт меню “Мой персонаж” и запускался процесс создания.

Создание персонажа

Страница создания персонажа

Я подумал, что процесс создания персонажа должен быть максимально простым и быстрым.

Поэтому сделал только две настройки — это:

  1. Внешний вид
  2. Имя

А ключевым показателем для прокачки персонажа сделали — интеллект.

Но как пользователю прокачивать данный параметр?

Для этого ввел 3 вида книг, каждая из которых добавляла определенное количество очков интеллекта.

  1. Синяя = 20 очков
  2. Зеленая = 100 очков
  3. Красная = 300 очков

Так же реализовал автоматический перевод из одной книги в другую, при накоплении определенного количества одного вида. Из синей в зеленую, из зеленой в красную

Страница персонажа

Страница персонажа авторизованного пользователя

Хорошо. А откуда брать эти самые книги?

Выполнять упражнения “Пишем правильно” и “Читаем и запоминаем”. За правильное выполнение и изучение определенного количества слов, пользователь получал синюю книгу.

После, мог либо перевести в параметр “Интеллект”, либо оставить и позже перевести в зеленую или красную книгу, и получить больше очков.

А чем суть данной прокачки?

На основе параметра “Интеллект” выводился общий рейтинг пользователей. За счет чего мог увидеть, кто больше и чаще пользуется сайтом и стимулировать других пользоваться им, предлагая дополнительные бонусы лидерам в рейтинге.

Методология разработки проекта

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

Для постановки и управления задачами по проекту использования менеджер задач Asana

Полученный результат
  1. Определен портрет целевой аудитории проекта
  2. Выбраны инструменты для разработки
  3. Разработаны основные модули упражнений
  4. Добавлена геймификация в систему
  5. Был разработан прототип сайта для тестирования пригодности данной идеи
  6. За все время разработки проекта, им воспользовалось больше 80 человека, как из Ижевска и регионов Удмуртской Республики, а так же из других регионов (к примеру: Санкт-Петербург)
  7. Собрано сообщество в группе ВКонтакте, участники которого давали обратную связь по ошибкам и улучшениям системы

Антон Чураков
Автор публикации
Антон Чураков
Руководитель IT-компании "Цифровой Волк"
Разработчик на C# и .NET Core

Да, эта статья уже закончилась. Но ничего страшного, для тебя у нас есть еще пара статей

Ответы на вопросы
Как научиться видеть проблемы в многопоточном коде ПО используемых С#
01.08.2021 Антон Чураков  20 Просмотров

Вопрос. Порой в проектах нужно использовать дополнительные потоки для обработки информации. Но работать с...

Технологии
Что входит в инфраструктуру SaaS. И в чем отличия между SaaS, IaaS и PaaS
31.07.2021 Антон Чураков  78 Просмотров

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

Ответы на вопросы
Нравится мобильная разработка, но боюсь что не найду работу. Стоит ли начать с JS в вебе
30.07.2021 Антон Чураков  20 Просмотров

Вопрос. Мне нравится мобильная разработка на Swift или Kotlin. Но боюсь, что не смогу найти работу когда изучу одну...

Ответы на вопросы
Как научиться правильно проектировать архитектуру будущего приложения
27.07.2021 Антон Чураков  30 Просмотров

Вопрос. Как правильно проектировать грамотную и легко поддерживаемую архитектуру приложения? Ответ....

Ответы на вопросы
Почему принято изначально разрабатывать проект с закрытым кодом
24.07.2021 Антон Чураков  40 Просмотров

Вопрос. Почему принято разрабатывать проект изначально с закрытым кодом. Даже если этот проект не является...

Технологии
Что такое облачный SaaS сервис и какую пользу он может принести бизнесу
23.07.2021 Антон Чураков  132 Просмотров

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