Техническое задание: Клиент-серверная система удаленного USB-доступа

Цель проекта

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

Основные требования к функционалу

Клиентская часть (мульти-ОС)

  • Графический интерфейс пользователя (GUI) с основной панелью, разделенной на две части:
    • Слева - древовидный список (TreeView) для отображения подключенных серверов и их доступных USB-портов.
    • Справа - текстовое поле для вывода системной информации и логов от USBIP.
  • Модальное диалоговое окно для добавления нового сервера с полями: "Имя сервера / IP-адрес", "Логин", "Пароль", а также флажком "Использовать единую систему аутентификации (SSO)".
  • Контекстное меню в TreeView с командами: "Новое подключение", "Удалить подключение", "Обновить список".
  • Архитектура, заложенная под будущее шифрование трафика (на первом этапе - передача данных в открытом виде).

Серверная часть (Astra Linux)

  • Управление доступом к USB-портам в зависимости от пользователя.
  • Поддержка двух методов авторизации: локальная (логин/пароль) и через единую систему (SSO).
  • Возможность скрывать от пользователя порты, к которым у него нет прав доступа.
  • Реализация REST API для управления сервером и интеграции с другими системами.
  • Предоставление документации по REST API.

Технические и инфраструктурные требования

  • Язык программирования: C++ (стандарт 17/20).
  • Предпочтительные среды разработки (IDE): Embercadero C++ Builder 10.3.3 или Microsoft Visual C++ 2022/2026.
  • В основе работы с USB должен лежать протокол USBIP.
  • Исходный код должен быть передан в виде полного проекта для выбранной IDE.
  • Код должен быть хорошо структурирован и содержать необходимые комментарии.
  • Необходимо предоставить краткую инструкцию по сборке и компиляции проекта.

Разработка UX/UI дизайн-системы и макетов для промышленного сайта

Требуется создать комплексную дизайн-систему и 11 ключевых макетов для сайта компании в сфере высокоточной металлообработки. Задача - перевести техническую экспертизу в современный и понятный цифровой интерфейс.

Размещение и оформление статей на сайте Joomla 3

Требуется разместить 16 статей на сайте с использованием готовой разметки. Каждая статья должна быть структурирована на отдельные блоки с изображениями и иконками. Графику можно предоставить или сгенерировать.