Задача

Требуется разработать веб-приложение - standalone-модуль для интерактивной карты зала ресторана. Система должна работать в двух режимах:

  • Редактор схемы зала: перетаскивание столов, стен, зон и декора.
  • Runtime-отображение: отображение статусов столов в реальном времени.

Ключевые технологии и требования

  • Frontend: React 18+, TypeScript
  • Canvas-библиотека: Fabric.js, Konva.js или аналог (с обоснованием выбора)
  • Real-time обновления: WebSocket (задержка менее 500 мс)
  • API/Webhooks: REST API + webhooks для двусторонней интеграции
  • Дефолтное развертывание: Docker Compose
  • Хранение данных: PostgreSQL + Redis

Функционал

  • Столы разных форм: круг, квадрат, ромб, с настройкой атрибутов
  • Статусы: свободен, забронирован, занят, заблокирован
  • Timeline бронирований: 15-минутные слоты
  • Декоративные элементы: стены, растения, зоны
  • Поддержка нескольких этажей и залов
  • API для получения и изменения статусов столов
  • Proactive webhooks при смене статусов

Этапы работы

  • Анализ canvas-библиотек + создание Proof of Concept (PoC)
  • Разработка редактора схемы зала
  • Реализация runtime-интерфейса, API и web-интеграций

Состав deliverables

  • Git-репозиторий с полным исходным кодом
  • Настроенный Docker Compose для развертывания
  • Документация OpenAPI
  • Коллекция запросов Postman
  • Демо-данные для тестирования

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

Интеграция и настройка базы данных для личного кабинета и админ-панели

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