M2LAB

О компании

M2LAB — IT компания, которая занимается разработкой решений для строительных организаций.
m2lab.ru

Задача

Исправить архитектурные ошибки клиентской части приложения. Реализовать гибкое решение, способное подстраиваться под конкретного клиента.

Решение

Принимая во внимание важность SEO оптимизации, а также то, что существующая реализация модуля была написана с использованием фреймворка Vue.js, было принято решение использовать при разработке фреймворк Nuxt.js, который позволил сохранить часть текущей кодовой базы, а также реализовать рендеринг страниц на сервере, для упрощения процесса индексирования их поисковиками.

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

Для получения всех необходимых данных, для корректной работы 3D Каталога, была улучшена существующая интеграция с API CRM системы «M2LAB застройщик». Которая также была адаптирована под архитектурные изменения приложения, в плотном сотрудничестве с командой разработки M2LAB.

Так же было необходимо реализовать возможность вставлять 3D Каталог на сайты застройщиков. Для этого был реализован модуль, дополняющий функционал Nuxt.js, который позволяет застройщикам загрузить себе на страницу скрипт, который установит 3D Каталог в нужное место на странице.

Сложности при реализации

В процессе реализации некоторых страниц и элементов, была необходимость находить центр svg элементов. 

Проблема заключалась в том, что центр самого элемента, как он отображается на странице, далеко не всегда, является реальным центром этого элемента в контексте SVG. Для решения этой проблемы, нужно было найти координаты этого самого центра, а затем конвертировать их координаты в контексте страницы.

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

Результаты

  • На данный момент к модулю подключились 10+ крупных застройщиков со всей России.
  • Все застройщики дают обратную связь для развития модуля.