LP Agency

Разработка UX/UI и frontend

для сервиса управления договорными типами Autodesk Revit

О проекте

Тип:
Веб-сервис / интерфейс управления данными
Направление:
Автоматизация проектирования
Отрасль:
Строительство / архитектура / инженерное проектирование
Формат:
UX/UI-дизайн + frontend-разработка
Стек:
Figma, JavaScript
Регион:
Венесуэла

Проект связан с автоматизацией работы с данными из Autodesk Revit.

Заказчику требовался удобный интерфейс для управления CFT (Contract Type) — наборами правил, определяющих, как различные элементы и параметры Revit должны использоваться при формировании отчетов.

Исходно данные представляли собой структурированные JSON-объекты с большим количеством параметров и вложенных фильтров. Основная задача заключалась в том, чтобы превратить эту техническую структуру в понятный интерфейс, с которым сможет работать пользователь без необходимости редактировать JSON вручную.

andres1

Задача

Необходимо было разработать UX/UI интерфейса, позволяющего:

  • просматривать существующие Contract Types в табличном виде;
  • отображать основные параметры каждого элемента;
  • редактировать значения;
  • работать с вложенными фильтрами;
  • использовать выпадающие списки для параметров с фиксированными значениями;
  • получать значения некоторых полей динамически через API;
  • сделать интерфейс понятным несмотря на большое количество технических параметров.

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

Ключевая сложность

Главная проблема проекта была не в объёме функционала, а в представлении сложной технической структуры.

Один Contract Type содержит несколько основных параметров и может дополнительно включать набор фильтров, каждый из которых также имеет собственные поля:

  • команда;
  • поле;
  • условие сравнения;
  • значение;
  • тип значения.

При этом часть параметров имеет фиксированные варианты, а часть должна подгружаться с backend через API в зависимости от выбранных значений.

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

andres2

Решение

UX/UI

На основе исходного технического задания разработали интерфейс управления Contract Types в Figma.

Основная информация была представлена в виде таблицы, а для работы с вложенными фильтрами предусмотрен отдельный интерфейс.

Для разных типов данных использовали соответствующие элементы управления:

  • текстовые поля для свободного ввода;
  • combobox для выбора типа отчёта;
  • combobox для выбора категории Revit;
  • динамические списки параметров;
  • выбор операторов сравнения;
  • выбор типа значения.

Таким образом, пользователь работает не с JSON-структурой напрямую, а с визуальным интерфейсом, который отражает её логику.

Работа с API

Для динамических полей frontend взаимодействует с готовым backend API.

В частности, значения для категорий и параметров загружаются через API в зависимости от выбранного типа отчёта и категории.

Это позволило не зашивать все возможные значения непосредственно в интерфейс и сохранить связь с актуальными данными backend.

Frontend

После утверждения дизайна реализовали frontend на JavaScript и интегрировали его с уже существующим backend.

Мы не разрабатывали backend с нуля — наша зона ответственности включала UX/UI и frontend-часть, включая подключение к готовым API.

Результат

В результате заказчик получил готовый интерфейс для управления CFT-структурами без необходимости работать непосредственно с техническим JSON.

Мы:

  • разработали UX/UI интерфейса;
  • спроектировали работу с основными параметрами Contract Type;
  • реализовали отображение и редактирование вложенных фильтров;
  • использовали динамические данные из API;
  • реализовали frontend на JavaScript;
  • интегрировали интерфейс с существующим backend.

Главный результат проекта — сложная техническая структура данных Autodesk Revit была преобразована в понятный рабочий интерфейс для пользователя.

При этом существующий backend заказчика был сохранён и использован как основа для работы frontend.