Skip to content

Этап 4: Работа с объектами доски

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


1. Реализация объектов доски

Section titled “1. Реализация объектов доски”

Необходимо реализовать поддержку следующих типов объектов:

  • текст;
  • изображение;
  • линия;
  • прямоугольник;
  • треугольник;
  • круг.

Для каждого объекта необходимо предусмотреть:

  • уникальный идентификатор;
  • тип объекта;
  • координаты размещения на доске;
  • параметры отображения;
  • возможность дальнейшего редактирования.

  1. Реализовать панель инструментов для выбора типа создаваемого объекта.
  2. Обеспечить возможность добавления на доску:
    • текстового блока;
    • изображения;
    • линии;
    • прямоугольника;
    • треугольника;
    • круга.
  3. После добавления объект должен отображаться на доске у всех подключенных пользователей.

3. Редактирование свойств объектов

Section titled “3. Редактирование свойств объектов”

Для объектов необходимо реализовать возможность изменения свойств.

Для графических объектов (линия, прямоугольник, треугольник, круг):

  • цвет;
  • толщина линии;
  • размер;
  • координаты;
  • при наличии — цвет заливки.

Для текстового объекта:

  • текстовое содержимое;
  • размер шрифта;
  • цвет текста;
  • координаты;
  • размеры блока.

Для изображения:

  • координаты;
  • размеры;
  • путь к изображению или загруженный ресурс.

4. Перемещение объектов

Section titled “4. Перемещение объектов”
  1. Реализовать механизм перемещения объектов по доске.
  2. Обеспечить обновление координат объекта после перемещения.
  3. Синхронизировать новое положение объекта между всеми подключенными пользователями.

  1. Реализовать удаление выбранного объекта.
  2. После удаления объект должен исчезать у всех пользователей, работающих с данной доской.

6. Синхронизация объектов в реальном времени

Section titled “6. Синхронизация объектов в реальном времени”
  1. Через WebSocket реализовать передачу событий:
    • create-object;
    • update-object;
    • move-object;
    • delete-object.
  2. Обеспечить обновление состояния доски у всех подключенных клиентов в реальном времени.
  3. Проверить корректную работу синхронизации при одновременном подключении нескольких пользователей.

  • реализовано не менее 6 типов объектов:
    • текст;
    • изображение;
    • линия;
    • прямоугольник;
    • треугольник;
    • круг;
  • для объектов должна поддерживаться возможность изменения основных свойств;
  • реализовано перемещение объектов;
  • реализовано удаление объектов;
  • синхронизация между клиентами работает корректно.

По итогам выполнения этапа в системе должна быть реализована интерактивная доска, на которой пользователи могут:

  • добавлять различные типы объектов;
  • изменять свойства объектов;
  • перемещать объекты;
  • удалять объекты;
  • видеть изменения в реальном времени у всех участников.

  • демонстрация работы всех типов объектов;
  • проверка редактирования свойств объектов;
  • проверка синхронизации между несколькими клиентами;
  • проверка корректности удаления и перемещения объектов.