Files
rmm-openwrt/UI_ROADMAP.md
2026-06-04 20:10:31 +03:00

12 KiB
Raw Blame History

UI/UX Roadmap

Цель

Сделать RMM-интерфейс удобным для оператора, который обслуживает роутеры, но не обязан знать OpenWrt, UCI и внутренние команды агента.

Главный экран должен за несколько секунд отвечать на три вопроса:

  1. Какие роутеры требуют внимания?
  2. Что именно не работает?
  3. Какое безопасное действие можно выполнить?

Скриншоты Netcraze используются как ориентир по плотности, навигации и представлению данных, без копирования бренда и интерфейса один в один.

Роли

Оператор

  • Видит состояние объектов, клиентов, сети и предупреждений.
  • Запускает готовые диагностики и безопасные операции.
  • Открывает удаленный доступ и LuCI.
  • Не работает с raw JSON, UCI-командами и техническими параметрами туннеля.

Эксперт

  • Имеет доступ ко всем существующим низкоуровневым функциям.
  • Просматривает raw inventory, историю команд и аудит.
  • Выполняет произвольные команды, UCI-операции и управление пакетами.

На первом этапе экспертный режим будет отдельным разделом интерфейса. Разграничение прав можно добавить позже.

Принципы интерфейса

  • Плотный рабочий интерфейс без маркетинговых блоков и декоративных карточек.
  • Единая навигация и предсказуемые вкладки.
  • Статусы читаются по тексту и цвету: норма, внимание, ошибка, недоступен.
  • Основные действия доступны сразу, редкие и опасные спрятаны в меню.
  • Одна глобальная кнопка обновления вместо кнопок обновления в каждом блоке.
  • Автообновление данных с понятным временем последнего контакта.
  • Русские операторские названия; технические термины остаются в экспертном режиме.
  • Любая опасная операция требует подтверждения и объясняет последствия.
  • Ошибки показывают понятное описание; request ID доступен в раскрываемых деталях.

Целевая структура

1. Объекты

Первый экран после входа: полноширинная таблица всех роутеров.

Основные колонки:

  • Статус.
  • Имя объекта.
  • Модель и группа.
  • WAN / интернет.
  • Клиенты.
  • Проблемы.
  • Последний контакт.

Доступные действия:

  • Поиск.
  • Фильтры по статусу, группе и проблемам.
  • Открытие объекта кликом по строке.
  • Массовые действия появляются только после выбора объектов.

2. Карточка объекта

Верхняя часть содержит имя, статус, последний контакт и основные действия.

Вкладки:

  • Обзор — здоровье роутера, предупреждения, основные метрики и графики.
  • Клиенты — единый список DHCP- и Wi-Fi-клиентов.
  • Сеть — WAN, интерфейсы, Wi-Fi, маршруты и счетчики.
  • Операции — диагностика, удаленный доступ, обновления и безопасные настройки.
  • Сведения — модель, прошивка, группа, теги и идентификаторы.
  • Эксперт — raw inventory, команды, UCI, пакеты, история и аудит.

Что меняем в текущем UI

Сейчас После редизайна
Список устройств в узкой боковой панели Полноширинная таблица объектов
Длинная страница со всеми функциями Карточка объекта с вкладками
Много кнопок Reload / Refresh Автообновление и одна глобальная кнопка
Raw Inventory на обзорной странице Раздел «Эксперт»
Выбор произвольной команды на обзорной странице Раздел «Эксперт»
Пять отдельных кнопок диагностики Единый сценарий «Запустить диагностику»
Raw UCI и множество кнопок Пошаговое применение безопасных настроек; raw UCI в «Эксперт»
Preview и Stage как отдельные действия Сценарий «Проверить изменения → Применить»
Технические поля SSH-туннеля Выбор длительности и кнопки «Открыть LuCI» / «Скопировать SSH»
Редактирование группы и тегов в обзоре Вкладка «Сведения»
Все статусы истории команд отдельными кнопками Основные фильтры и меню дополнительных фильтров
Опасные действия рядом с обычными Отдельное меню с подтверждением

Этапы реализации

Этап 0. UX-аудит и фундамент

  • Сопоставить каждый текущий элемент с действием: оставить, перенести, объединить или скрыть.
  • Зафиксировать операторские названия и статусы.
  • Подготовить общий layout, компоненты статусов, кнопок, таблиц и уведомлений.
  • Определить адаптивное поведение для desktop и mobile.

Этап 1. Навигация и список объектов

  • Добавить постоянную навигацию по основным разделам.
  • Перенести список роутеров в плотную таблицу.
  • Добавить поиск, фильтры и сортировку.
  • Показывать проблемы и последний контакт непосредственно в строке объекта.
  • Показывать массовые действия только после выбора строк.

Этап 2. Обзор объекта

  • Добавить верхнюю панель объекта и вкладки.
  • Собрать компактную строку состояния.
  • Показать WAN, загрузку, память, uptime, клиентов и предупреждения.
  • Добавить основные графики за выбранный период.
  • Оставить только главные действия: LuCI, диагностика и меню операций.

Этап 3. Клиенты и сеть

  • Объединить DHCP leases и Wi-Fi stations в таблицу клиентов.
  • Добавить поиск и фильтры клиентов.
  • Создать отдельный экран интерфейсов и подключений.
  • Показать понятные состояния WAN, LAN и Wi-Fi.

Этап 4. Операторские операции

  • Сделать пошаговую диагностику с прогрессом и итогом.
  • Упростить создание удаленной сессии.
  • Добавить безопасные формы настроек вместо raw UCI.
  • Представить обновления и пакеты как понятные операции.
  • Показывать ход, результат и рекомендации после операции.

Этап 5. Экспертный режим

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

Этап 6. Состояния и полировка

  • Добавить skeleton, empty, loading, offline и error states.
  • Добавить toast-уведомления и единый стиль подтверждений.
  • Проверить навигацию клавиатурой и фокус.
  • Проверить таблицы, переносы текста и отсутствие наложений.
  • Проверить desktop, tablet и mobile.

Этап 7. Недостающие данные API

  • Нормализовать запись клиента из DHCP и Wi-Fi.
  • Нормализовать состояние интерфейсов и подключений.
  • Подготовить временные ряды для графиков.
  • Добавить операторские операции поверх сырых команд.
  • При необходимости добавить серверную пагинацию, поиск и сортировку.

Приоритет первой итерации

  1. Новый layout и полноширинный список объектов.
  2. Карточка объекта с вкладками.
  3. Новый обзор объекта.
  4. Упрощенный удаленный доступ и LuCI.
  5. Перенос технических функций в «Эксперт».

Критерии готовности

  • Оператор за 10 секунд понимает, какие объекты требуют внимания.
  • Состояние объекта понятно без просмотра JSON и истории команд.
  • LuCI открывается не более чем за два клика.
  • Диагностика запускается не более чем за три клика.
  • В обычном режиме нет raw UCI, произвольных команд и параметров туннеля.
  • Опасные операции всегда требуют явного подтверждения.
  • Интерфейс корректно работает на ширине 1366, 1920 и на мобильном экране.
  • Нет случайного горизонтального скролла, наложений и обрезанного текста.
  • Ошибки API отображаются понятно и позволяют раскрыть технические детали.