Описание проекта
Самое главное в задаче — слой реального времени. Каждый участник должен видеть живые курсоры других людей с их именами, а выделения и правки должны появляться без ручного обновления страницы; при этом доска обязана оставаться целостной, когда двое одновременно трогают один и тот же объект. Ждём надёжный движок рисования: карандаш от руки, прямые линии и стрелки, прямоугольники, эллипсы и текстовые блоки, а также перемещаемые и масштабируемые цветные стикеры. Пользователь должен плавно панорамировать и масштабировать большой холст, группировать и блокировать элементы, отменять и повторять свои действия. Доски должны сохраняться, чтобы сессию можно было открыть позже ровно в том виде, в котором её закрыли, а холст или выбранную область — экспортировать в PNG, SVG и PDF.
Сделайте это современным веб-приложением, которое работает в браузере без плагинов и корректно ведёт себя и на десктопе, и на планшете. Нам важна производительность при десятках объектов и нескольких одновременных редакторах, поэтому опишите подход к протоколу синхронизации и разрешению конфликтов. Что ждём в результате:
— Бесконечный масштабируемый холст с карандашом, фигурами, стрелками, текстом и цветными стикерами
— Совместное редактирование в реальном времени с именными живыми курсорами и индикацией присутствия
— Сохранение доски с автосейвом и экспорт в PNG, SVG и PDF
— Чистый документированный код, инструкция по развёртыванию и короткая передача проекта