Прототип инструмента CourseYard
http://courseyard.com/Целью проекта было создание прототипа инструмента для электронных публикаций, который будет использоваться в сервисе для онлайн-обучения.
В современном мире онлайн-обучение предоставляет обширные возможности как для самих учащихся, так и для образовательных учреждений и коммерческих организаций. Благодаря ему организации могут значительно сократить расходы на обучение и переквалификацию, а учащиеся эффективно использовать время, изучая материалы и выполняя задания из любой точки мира.
CourseYard — это сервис онлайн-обучения для учителей и учащихся, а также учебных заведений, библиотек и издателей. Он предоставляет услуги по созданию внедренного CourseWare (учебник + мультимедиа + интерактивное взаимодействие).
Мы разработали следующую структуру функционала для инструмента создания электронных публикаций CourseYard:
Дизайн конструктора и готовой публикации
Мы начали с создания дизайна конструктора. Перед нами стояла следующая задача: разработать рабочий продукт с минимальным функционалом и возможностью расширения в будущем. Мы использовали заглушки для кнопок и элементов управления, чтобы все будущие возможности сервиса могли видеть пользователи и потенциальные инвесторы.
Конструктор демонстрировал основные функции, а именно создание и редактирование публикации. Мы подготовили пример публикации для того, чтобы пользователю было понятно, как все устроено.
Публикация может включать в себя такие виджеты:
- текстовый блок;
- изображение или слайд-шоу;
- видео;
- интерактивный тест.
Преимущество конструктора заключается в том, что публикация создается и редактируется «на лету». При этом автор сразу видит, как будет выглядеть окончательный результат. Тот или иной виджет можно изменить или убирать, просто кликнув его. Чтобы редактировать текст, необходимо выделить определенный участок. Над ним сразу откроется окно редактирования стиля. С помощью виджета изображений можно добавлять или убирать фото или менять порядок их отображения.
Вся введенная информация тут же сохраняются в фоновом режиме с помощью функции автосохранения. Таким образом, автор никогда не потеряет сделанные им изменения. Также в конструкторе предусмотрена возможность совместной работы над публикацией.
После публикации авторы могут собирать статистику использования. Выяснять, какие разделы были более интересны читателям, какие фотографии они просматривали, какие тесты проходили и с какими результатами.
Конечно, любая публикация, даже электронная, должна иметь обложку. Создание обложек также предусмотрено в конструкторе:
Готовые публикации размещаются на «книжной полке»:
Работа над бек-эндом
Функционал бек-энда разрабатывался на популярном PHP-фреймворке Symfony2.
Почему мы отдали предпочтение Symfony2? Для этого есть несколько причин:
- высокая производительность;
- надежность и безопасность;
- простота расширения.
Важной частью функционала была возможность совместной работы над публикациями. Для реализации совместной работы над публикацией в режиме реального времени мы использовали протокол WebSocket. Благодаря ему можно очень быстро выполнять синхронизацию данных между редакторами, открытыми на устройствах разных авторов.
Для большей гибкости во взаимодействии с сервером было написано RESTful API. Это позволило не тратить много времени на связывание бек-энда с фронт-эндом и оперативно создать мобильное приложение для проекта.
Возможности Android-приложения
Современный сервис электронного обучения будет неполноценным без возможности работать с ним с помощью мобильного устройства. Поэтому для CourseYard мы также разработали Android-приложение, рассчитанное на учащихся, которые хотят заниматься в дороге или просто предпочитают мобильные устройства.
В Android-приложении можно просматривать публикации, оформленные на сайте. Сервис запоминает последнюю открытую вами книгу, и она сразу же открывается в приложении.
Команда проекта:
- Олег У.
Дизайнер
- Саша Ленский
Back-end разработчик
- Игорь Богдосаров
Front-end разработчик
- Александр
Android разработчик
- Артур Мкртычян
Руководитель проектов