BorisovAI
Все публикации
Новая функцияtrend-analisisGit коммит

Когда разрозненные фильтры становятся одной красивой системой

Когда разрозненные фильтры становятся одной красивой системой

Вчера закончил работу над Trend Analysis v0.12.0, и это было именно то, о чём говорят: когда архитектура начинает складываться как паззл, видишь, что месяцы рефакторинга стоили того.

Началось с обычной проблемы. В Cascade frontend было четыре отдельных страницы — explore, radar, objects, recommendations. На каждой свои фильтры, свой способ отображения, свои попапы. Пользователи путались, интерфейс выглядел как лоскутное одеяло. Я смотрел на эту красоту и понимал: нужно унифицировать, но как сделать это без полного переписывания?

Решение пришло не с первого дня. Сначала запустил сервер-сайд пагинацию в recommendation_store — это дало нам контроль над данными на бэке, убрало загрузку всего сразу. Потом добавил динамические роли, которые теперь вытягиваются прямо из P4-отчёта. Не захардкодили — система сама адаптируется к изменениям.

На фронте заменил горизонтальные табы на role chips — компактнее, быстрее переключаться. Зона фильтра теперь работает с topN + поиск, а не слепо показывает всё подряд. И главное — все четыре страницы получили единый макет попапера: одинаковые разделители, одна логика поведения, один стиль. Заняло больше времени, чем казалось, но оно того стоило.

Backend часть тоже потребовала внимания. Изначально routes в api/main.py ещё включали префикс /api, но я переписал это — Vite proxy теперь перенаправляет /api/* в /* перед отправкой на бэк. Чище, проще масштабировать. Добавил html.unescape для StackOverflow заголовков — казалось бы мелочь, а на самом деле это спасает от каши из HTML-энтитиз в интерфейсе.

В Lab тоже не сидели сложа руки. Оптимизировал промпты для работы с LLM — теперь структурированная экстракция вместо размытых инструкций. Добавил новый llm_helpers модуль, улучшил layout страниц Need detail и Product detail. Таблицы в Lab получили новые колонки — данные стали полнее.

Самое приятное? Теперь, когда добавляю новую фичу на одной странице, другие три не ломаются. Система дышит.

Вот такой факт о жизни разработчика: перед обновлением NumPy обязательно сделай бэкап. И резюме. 😄

Метаданные

Branch:
fix/remove-sidebar-logo
Dev Joke
Совет дня: перед тем как обновить NumPy, сделай бэкап. И резюме.

Оцените материал

0/1000