Прототип інструменту CourseYard
http://courseyard.com/Метою проєкту було створення прототипу інструменту для електронних публікацій, який буде використовуватися в сервісі для онлайн-навчання.
У сучасному світі онлайн-навчання надає великі можливості як для самих учнів, так і для освітніх установ і комерційних організацій. Завдяки йому організації можуть значно скоротити витрати на навчання та перекваліфікацію, а учні ефективно використовувати час, вивчаючи матеріали та виконуючи завдання з будь-якої точки світу.
CourseYard - це сервіс онлайн-навчання для вчителів та учнів, а також навчальних закладів, бібліотек та видавців. Він надає послуги зі створення впровадженого CourseWare (підручник + мультимедіа + інтерактивна взаємодія).
Ми розробили таку структуру функціоналу для інструменту створення електронних публікацій CourseYard:
Дизайн конструктора та готової публікації
Ми почали зі створення дизайну конструктора. Перед нами стояло таке завдання: розробити робочий продукт із мінімальним функціоналом і можливістю розширення в майбутньому. Ми використовували заглушки для кнопок і елементів управління, щоб усі майбутні можливості сервісу могли бачити користувачі та потенційні інвестори.
Конструктор демонстрував основні функції, а саме створення та редагування публікації. Ми підготували приклад публікації для того, щоб користувачеві було зрозуміло, як усе влаштовано.
Публікація може містити в собі такі віджети:
- текстовий блок;
- зображення або слайд-шоу;
- відео;
- інтерактивний тест.
Перевага конструктора полягає в тому, що публікація створюється і редагується "на льоту". При цьому автор одразу бачить, який вигляд матиме остаточний результат. Той чи інший віджет можна змінити або прибрати, просто клікнувши його. Щоб редагувати текст, необхідно виділити певну ділянку. Над нею одразу відкриється вікно редагування стилю. За допомогою віджета зображень можна додавати чи прибирати фото або змінювати порядок їхнього відображення.
Усю введену інформацію тут же зберігають у фоновому режимі за допомогою функції автозбереження. Таким чином, автор ніколи не втратить зроблені ним зміни. Також у конструкторі передбачена можливість спільної роботи над публікацією.
Після публікації автори можуть збирати статистику використання. З'ясовувати, які розділи були цікавіші читачам, які фотографії вони переглядали, які тести проходили і з якими результатами.
Звісно, будь-яка публікація, навіть електронна, повинна мати обкладинку. Створення обкладинок також передбачено в конструкторі:
Готові публікації розміщуються на "книжковій полиці":
Робота над бек-ендом
Функціонал бек-енду розроблявся на популярному PHP-фреймворку Symfony2.
Чому ми надали перевагу Symfony2? Для цього є декілька причин:
- висока продуктивність;
- надійність і безпека;
- простота розширення.
Важливою частиною функціоналу була можливість спільної роботи над публікаціями. Для реалізації спільної роботи над публікацією в режимі реального часу ми використовували протокол WebSocket. Завдяки йому можна дуже швидко виконувати синхронізацію даних між редакторами, відкритими на пристроях різних авторів.
Для більшої гнучкості у взаємодії із сервером було написано RESTful API. Це дало змогу не витрачати багато часу на зв'язування бек-енду з фронт-ендом і оперативно створити мобільний застосунок для проєкту.
Можливості Android-додатку
Сучасний сервіс електронного навчання буде неповноцінним без можливості працювати з ним за допомогою мобільного пристрою. Тому для CourseYard ми також розробили Android-додаток, розрахований на учнів, які хочуть займатися в дорозі або просто надають перевагу мобільним пристроям.
В Android-додатку можна переглядати публікації, оформлені на сайті. Сервіс запам'ятовує останню відкриту вами книжку, і вона одразу ж відкривається в додатку.
Команда проєкту:
- Oleg U.
Дизайнер
- Саша Ленський
Backend розробник
- Ігор Богдосаров
Frontend розробник
- Олександр
Android розробник
- Артур Мкртичян
Керівник проєктів