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

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

CourseYard — это сервис онлайн-обучения для учителей и учащихся, а также учебных заведений, библиотек и издателей. Он предоставляет услуги по созданию внедренного CourseWare (учебник + мультимедиа + интерактивное взаимодействие).

Мы разработали следующую структуру функционала для инструмента создания электронных публикаций CourseYard:

Структура функционала CourseYard

Дизайн конструктора и готовой публикации

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

Главный экран CourseYard

Конструктор демонстрировал основные функции, а именно создание и редактирование публикации. Мы подготовили пример публикации для того, чтобы пользователю было понятно, как все устроено.

Примеры шаблонов CourseYard

Публикация может включать в себя такие виджеты:

  • текстовый блок;
  • изображение или слайд-шоу;
  • видео;
  • интерактивный тест.

Преимущество конструктора заключается в том, что публикация создается и редактируется «на лету». При этом автор сразу видит, как будет выглядеть окончательный результат. Тот или иной виджет можно изменить или убирать, просто кликнув его. Чтобы редактировать текст, необходимо выделить определенный участок. Над ним сразу откроется окно редактирования стиля. С помощью виджета изображений можно добавлять или убирать фото или менять порядок их отображения.

Инструменты редактирования CourseYard

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

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

Статистика в CourseYard

Конечно, любая публикация, даже электронная, должна иметь обложку. Создание обложек также предусмотрено в конструкторе:

Обложка книги в CourseYard

Готовые публикации размещаются на «книжной полке»:

Книжная полка в CourseYard

Работа над бек-эндом

Функционал бек-энда разрабатывался на популярном PHP-фреймворке Symfony2.

Почему мы отдали предпочтение Symfony2? Для этого есть несколько причин:

  • высокая производительность;
  • надежность и безопасность;
  • простота расширения.

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

Для большей гибкости во взаимодействии с сервером было написано RESTful API. Это позволило не тратить много времени на связывание бек-энда с фронт-эндом и оперативно создать мобильное приложение для проекта.

Возможности Android-приложения

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

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

Наша миссия — упрощать жизнь людей, создавая полезное и удобное программное обеспечение
Свяжитесь с нами, и мы поможем решить ваши задачи

Над проектом работали:

  • Олег Уласюк Олег Уласюк

    Дизайнер

  • Саша Ленский Саша Ленский

    Back-end разработчик

  • Игорь Богдосаров Игорь Богдосаров

    Front-end разработчик

  • Александр Зозуля Александр Зозуля

    Android разработчик

  • Артур Мкртычян Артур Мкртычян

    Руководитель проектов