Разработка сайта Атомстройкомлекса
Клиент
«Атомстройкомплекс», или просто Атом — крупнейший строительный холдинг в Уральском регионе. Компания занимается постройкой жилой и коммерческой недвижимости, реконструкцией социальных объектов, производством материалов для строительства и отделки. У Атома есть свой проектный институт, подрядные организации, собственный парк техники и 12 заводов.
Задача проекта
Создать новый сайт, который упростит пользователю процесс подбора недвижимости.
Ключевые недостатки старого сайта:
- Визуальный шум из-за избытка информации и слабой навигации.
- Устаревший дизайн, который не соответствовал новому фирменному стилю компании.
Новый интерфейс был призван решить эти проблемы.
Разработка концепции
Мы разработали три версии дизайн-концепции, ими занимались дизайнер Динара Лихачева, арт-директор Артем Сурин и основатель компании Иван Ребиков.
- Концепт Динары получился простым, функциональным и привычным большинству пользователей. По сути, он был похож на сайты застройщиков-конкурентов, но с учетом фирменного стиля Атома.
- Ивану удалось сохранить привычный функционал и при этом показать его свежим взглядом. Концепт оформлен в темной теме, с крупной типографикой и большими карточками. Копирайтинг также был пересмотрен: тексты стали более дружелюбными.
- Концепт Артема вышел за рамки привычного понимания сайта застройщика: идея была в том, чтобы создать актуальный и в будущем макет. В итоге получился такой airbnb среди застройщиков.
На встрече клиент оценил все три концепта, но решил сделать симбиоз из первого и второго варианта. От сайта ожидали привычный для пользователей функционал, поданный свежее, с крупной типографикой и юзер-френдли. Фишкой финального концепта стало использование двух тем — светлой и темной.
Технологический стек
При выборе стека для фронтенд-разработки выбор пал на React.js:
- Популярный фреймворк с развитым сообществом.
- Скорость работы интерфейса в разы быстрее, чем на менее современных платформах.
- Фреймворк позволил быстрее сделать и оптимизировать интерактивные инструменты сайта: калькулятор и карты.
Для бэкенда использовали стек Symfony. Это позволило:
- Разработать гибкие API для интеграции с различными внешними системам.
- Собрать максимально кастомную административную панель для удобной работы контент-менеджера.
- Вести разработку бэкенда и фронтенда независимо друг от друга.
В ходе разработки мы придерживались идеи единого бэкенда. Суть в том, чтобы делать бэк для экосистемы (например, API), к которой потом сможет обратиться любой продукт клиента: сайт, приложение, личный кабинет и так далее. Бэкенд не имеет строгой привязанности к самому сайту, он лишь передает информацию, которую впоследствии выводит фронтенд. Взаимодействие бэкенда и фронтенда происходит путем запросов на языке GraphQL. Технология обеспечивает хорошую интеграцию с фронтендом. GraphQL позволяет запрашивать только то, что необходимо в конкретный момент времени, и поддерживает вложенные запросы.
Ход разработки
Проектирование и дизайн
Совместная работа с Атомом началась с аудита старого сайта. Год спустя компания вернулась за новой дизайн-концепцией.
Перед стартом проекта мы организовали интервью с ключевыми стейкхолдерами компании Атом для того, чтобы понять требования разных специалистов к новому сайту. Встретились с коммерческим директором и представителями отдела продаж, маркетинга, рекламы, медиа и контента. Итоги встреч зафиксировали в виде карты пользовательских историй интерфейса.
Проектирование сайта начали с разработки варфреймов, чтобы определиться с информационной архитектурой. По готовым варфреймам мы прорабатывали дизайн — страница за страницей, параллельно выстраивая систему дизайн-компонентов.
Запомнившиеся сложности
Самым сложным для проектирования оказался сценарий выбора жилой недвижимости. Это разветвленный сценарий, где нужно было учитывать уже имеющиеся паттерны поведения пользователей сайта и других агрегаторов недвижимости. С этой задачей мы успешно справились, теперь квартиру можно подобрать любым удобным способом:
- на странице жилого комплекса на генплане;
- на плане каждого этажа;
- в таблице с фильтром по особенностям квартир;
- в «шахматке» со статусом доступности;
- в отдельном списке квартир по всем ЖК с расширенным фильтром.
Команда была уже на финишной прямой разработки дизайна, когда Атом принял решение изменить фирменный стиль. Изначально были заложены крупные «жирные» заголовки в верхнем регистре. При работе над сайтом дизайнерам стало очевидно, что с такой типографикой сложновато собирать интерфейс: информации и элементов много, и весь этот объем сложно разместить на экране. В новом фирменном стиле Атом отказался от заголовков в верхнем регистре. Интерфейс стал гармоничнее, но дизайн сайта пришлось полностью переделывать.
Текущую структуру страниц сайта мы пересобрали, сократив путь пользователя для более быстрого выполнения его задач.
Получившиеся разделы и страницы сгруппировали в три этапа разработки:
- главная страница и приоритетный раздел жилой недвижимости, технические страницы (404, контентная страница);
- коммерческая недвижимость и Медиа;
- остальные страницы.
Разработка
Далее Атом предложил нам воплотить дизайн в жизнь. Мы основательно подготовились к реализации этой задачи:
- Выделили отдельную команду под проект. На старте проекта в звене разработки было 2 специалиста, в самые сложные моменты — 6 человек. В дальнейшем меняли состав команды в зависимости от требований проекта.
- Заранее познакомились с новыми элементами стека, исключив фактор автобуса: позаботились, чтобы на GraphQL и Next.js писал не один член команды.
Особенности реализации интеграции с 1С
Ещё один сложный этап разработки — интеграция базы загружаемых на сайт объектов с системой 1С. Структура выгрузки данных идеально подходила для старого сайта, но не годилась для нового. У Атома сформировалась собственная и достаточно большая структура информации, под которую нам пришлось подстраиваться. Чтобы синхронизировать данные, нам пришлось учитывать множество индивидуальных особенностей имеющейся иерархии и свойств объектов, а также их разные типы – квартиры, апартаменты, парковочные места, кладовые. Понадобилось больше полугода, чтобы адаптировать выгрузку и подготовить базу данных.
В основном для идентификации использовались шифры «Объектов», куда заносилась информация по всем помещениям. В отдельных случаях требовались дополнительные поля, чтобы определить очередь, дом, уровень, этаж и тому подобное.
Основная информация про квартиры интегрировалась без проблем, а вот с кладовыми и паркингами пришлось поработать дополнительно. Дело в том, что информация по этим объектам «нанизывалась» на скелет информации по квартире. В итоге какие-то из полей оказывались ненужными, а где-то информации для идентификации не хватало. Мы обратились к команде поддержки 1С на стороне клиента. По нашим рекомендациям они создавали отдельные поля, которые мы использовали для идентификации объектов, например, <Паркинг>, <Уровень> и <Кладовая>. При появлении новых объектов мы также взаимодействуем с поддержкой 1С, чтобы объекты заводились корректно и потом легко идентифицировались на нашей стороне.
В финальном варианте интеграция работает следующим образом:
Мы предусмотрели два вида загрузки данных:
- Полная выгрузка каталога. Периодичность — каждые полтора часа в течение рабочего дня. Эта выгрузка основана на xml-файле от 1С, в котором содержится список объектов со списком квартир, их свойствами и статусами. Если помещение уже есть в базе сайта и найдено в файле, то его статус и цена перезаписываются на предоставленные в файле.
- Обновление «по требованию». Отрабатывает мгновенно. Эта выгрузка данных затрагивает только одно поле – статус объекта недвижимости.
Для быстрого контроля в панели администратора предусмотрен дашборд, по которому можно отслеживать, всё ли в порядке с оперативным обменом.
Тестирование интерфейса
Параллельно с разработкой мы регулярно проводили тестирование результатов и собирали обратную связь:
- в виде кликабельного прототипа макетов;
- на демо-версии, доступной только для сотрудников Атома;
- на предрелизной версии, на которую пользователи могли перейти с действующего сайта, а затем безопасно вернуться к привычному интерфейсу.
Инструменты в работе с сайтом
Сайт Атома в конечном итоге состоял из большого количества шаблонов. Всей командой держать в памяти, куда и откуда можно попасть, было практически невозможно, а в лучшем случае малоэффективно. Чтобы облегчить работу над проектом, оперативно собирать фидбэк от команды и оставаться прозрачными для клиента, мы использовали следующие инструменты и сервисы:
- Карта проекта на Miro;
- Дневники разработчиков;
- Trello для клиента;
- EasyRetro.
Нас часто выручала платформа Miro — с ее помощью удобно визуализировать и структурировать различные процессы, например обновление информации или загрузку контента.
Карта проекта в Miro позволила нам понять, насколько «глубоко» находятся те или иные разделы, и вынести ближе наиболее важные. Также мы смогли оценить, насколько сложен и вариативен путь до разделов.
Не менее сложной получилась и структура сущностей сайта, их иерархия и взаимосвязь. Для визуализации также использовали Miro — это позволило упростить понимание для команды, а новым сотрудникам клиента – снизить порог входа в работу с сайтом. Карты мы передали клиенту как дополнительные материалы.
Дневники разработчиков мы вели в гугл-таблицах: записывали все необычные баги и ситуации, а также решения к ним. Это позволяет в случае необходимости легко вернуться к проблеме и изучить ситуацию.
Чтобы клиент мог отслеживать текущую ситуацию на проекте в онлайн-режиме, мы дублировали процесс разработки в Trello. Впоследствии мы перешли на гугл-таблицы: в них можно вносить больше «измеримой» информации, а затем превращать её в инфографики. Эти графики клиент мог сразу использовать для внутренних отчётов.
Для проведения ретроспективы и сбора фидбека со всех участников команды использовали платформу EasyRetro. Весь процесс разделили на три блока, в рамках которых отвечали на вопросы, предлагали изменения, голосовали и обсуждали проект. Такая относительно простая структура позволяет держать фокус на обсуждении.
Создаваемые в рабочем процессе карты и схемы часто становятся основой для последующих улучшений, ведь визуальная подача позволяет увидеть различные нюансы.
Релиз сайта
Перед релизом мы обсудили с клиентом, как будет происходить замена адресов и ссылок, зафиксировали зоны ответственности и подготовили план действий.
Замена адресов была необходима по следующим причинам :
- на старом сайте еще оставался большой перечень функций, которые не успели реализовать на новом;
- на новом сайте могли вылезать баги. Чтобы клиент не переживал, решили оставить старый сайт как запасной вариант;
- хостинг и поддержку старого сайта клиент проплатил на несколько месяцев вперёд.
Сам релиз прошел относительно гладко. Перед релизом из-за нехватки времени и тестеров у нас не вышло полностью полностью протестировать staging-площадку — это привело к бóльшей части багов на релизе. Часто баги выявлял клиент. Отметим, что тесное взаимодействие с контент-менеджером клиента позволило быстро находить баги и вносить правки.
Помогло и то, что сотрудники Атома активно распространяли сайт среди своих знакомых и друзей, что увеличило базу «тестировщиков» и позволило оперативно найти и исправить много неточностей.
К концу первой недели после запуска новый сайт работал в штатном режиме, а к концу августа мы поправили выявленные баги. Текущий функционал сайта (без кладовых) был выполнен.
Работа с сайтом после релиза
После релиза мы продолжили работу над сайтом Атома. Обсудили с клиентом обязанности и актуальные задачи, закрыли ранее поднимавшиеся вопросы и начали с чистого листа. Это особенность длительных проектов: нужно уметь вовремя договариваться и перепроверять накопившиеся задачи и появившиеся друг к другу вопросы, одним словом, делать реструктуризацию. Списки, блоки и правильно расставленные приоритеты способствуют успешному решению задач и комфортному общению между клиентом и исполнителем.
Ретроспектива
По завершению основных работ на проекте мы обязательно проводим ретроспективу. Ее основная цель — улучшение не только продукта, но и процесса работы и взаимодействия внутри команды. Мы выявили как моменты, которые нам понравились, так и моменты, которые стоило бы улучшить.
Сильной стороной этого проекта стала удачно подобранная команда: слаженная, оперативная и профессиональная.
Из улучшений хотелось бы видеть: более тесное взаимодействие дизайнеров с разработчиками в вопросах возможности и времени реализации тех или иных вещей. Мы надеемся, что в будущем это позволит нам ускорить процесс разработки: разработчики будут лучше понимать задумку дизайнера, а дизайнеры будут лучше понимать возможности разработчиков.
Планы на будущее
Мы продолжаем работать над улучшением сайта Атомстройкомплекса. В планах разработка личного кабинета риэлтора, интеграция объявлений в новые агрегаторы недвижимости и соцсети, создание темной темы в мобильной версии и добавление анимации на сайт.
Команда проекта
-
Артём
Дизайнер
-
Динара
Дизайнер
-
Вера
Проект-менеджер
-
Евгения
Дизайнер
-
Влад
Дизайнер
-
Иван
Управляющий партнер
-
Всеволод
Руководитель департамента развития
-
Константин
Проект-менеджер
-
Натали
Лид-менеджер
Давайте обсудим ваш проект
Этот сайт защищен reCAPTCHA и применяются Политика конфиденциальности и Условия обслуживания Google, Политика Landau Interactive