Как мы создавали единый портал управления коммерческой недвижимостью для BI Group

Привет, меня зовут Максим, я глава студии разработки Sailet, мы создаем полезные IT-решения для государственного и корпоративного сектора. За годы работы накопилось множество интересных кейсов, которыми хочется поделиться с широкой аудиторией.

Заказчик

BI Group — крупнейший инвестиционно-строительный холдинг Казахстана. Компания занимает 164-е место в рейтинге крупнейших строительных компаний мира. Наш непосредственный заказчик одна из семи компаний холдинга — BI Property, специализируется на управлении объектами коммерческой недвижимости.

У директора, Айдына Рахимбаева положительный имидж продвинутого и открытого бизнесмена.

Задача и предыстория

Заказчик обратился к нам по рекомендации, старое незаменимое «сарафанное радио».

У BI Group изначально было несколько сайтов и порталов, не соединенных базами друг с другом. Так делают, когда хотят протестировать новую идею или направление. Например был сайт-сервис по обслуживанию коммерческой недвижимости и отдельный сервис по поиску, сдаче и продаже недвижимости. Они находились на облачных сервисах и ежемесячно оплачивались.

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

Поэтому перед нами встала задача создания портала, соединяющего в себе все базы и сервисы. Кроме этого, сайт должен быть комфортным, интуитивно понятным, с удобным пользовательским интерфейсом для размещения и просмотра информации о компании, ее объектах, поиска недвижимости и офисов по всем регионам Казахстана, где у BI есть строительство.

Как было

Сервис ODIN
Сервис ODIN
Сервис Prorent
Сервис Prorent
Предыдущий публичный сайт
Предыдущий публичный сайт

Как стало

Одна из многих страниц дизайна Sailet
Одна из многих страниц дизайна Sailet
property.bi.group Sailet
property.bi.group Sailet
Внутрянка Sailet
Внутрянка Sailet

Приложение

Структура сайта

Роли в системе

В системе есть два вида пользователей: авторизованный и неавторизованный. Неавторизованный посетитель видит основную информацию сайта и мобильного приложения: каталог недвижимости, списки услуг, команду и предложение о регистрации. Авторизованный пользователь видит информацию о своем профиле, читает документы, получает заявки и уведомления.

Систему поддерживает сервисная компания, которая выполняет четыре основные роли:

  1. Администратор — управляет ролями, сотрудниками и справочниками. Также администратор может выгружать данные в Excel из баз по каждому разделу и отображать в интерфейсе все функции без права редактирования.
  2. Инженер — отвечает за планово-предупредительные работы (ППР), распределение сотрудников по объектам, обходы, чек-листы и профиль пользователя. Инженер имеет права на удаление и создание ролей для исполнителей.
  3. Диспетчер — перераспределяет заявки, сотрудников и обслуживаемые объекты.
  4. Исполнитель — осуществляет исполнение заявок, обходов, ППР.

Со стороны заказчика также есть три роли:

  1. Администратор — курирует работоспособность системы и имеет права на модерацию пользователей, доступ к документам и управление ролями.
  2. Отдел продаж — имеет доступ к разделам: контрагентов, документов, статистики, баз данных в Excel, управление каталогом недвижимости.
  3. Администратор БЦ — имеет доступ к отчетам, заявкам, документам, а также получает уведомления и имеет свой профиль пользователя.

Эта система охватывает все стороны процесса, начиная с неавторизованного пользователя и заканчивая администраторами.

Роли Sailet
Роли Sailet

Программирование и запуск первой версии

На реализацию первой версии проекта отводилось три месяца. По плану, после сдачи, технический отдел компании презентовал портал маркетинговому отделу.

В отличие от кейса про автоматизацию управления электричками КТЖ (ссылочка на прошлый кейс) у нас теперь были ответственные лица, с которыми решались вопросы. Мы работали с компетентными технарями и все запросы обрабатывались быстро. Это одно из самых приятных отличий частной компании от госкорпорации. Такой подход ускоряет процесс разработки.

Мы уложились в два месяца. Была произведена первичная презентация руководству. Все одобрили и началась подготовка знакомства сотрудников с системой.

На разработку потратили 1350 человеко-часов супер команды:

  • 2 frontend разработчика;

  • 2 backend разработчика;
  • Дизайнер;
  • React Native разработчик;
  • PM;
  • DevOps.

Стек технологий:

  • Phalcon;
  • VueJS;
  • React Native;
  • MongoDB;
  • Git;
  • Kebernetes;
Процесс работы глазами заказчика Sailet
Процесс работы глазами заказчика Sailet

Фишки и выгоды для компании

Изначально, в ТЗ от компании были прописаны стандартные справочники. Мы сделали динамические справочники в едином интерфейсе с фильтрацией, которая позволяет сотрудникам самим вносить необходимые изменения и удобно ориентироваться при поиске информации. Также их можно масштабировать бесконечно, сколько потребуется пользователю-администратору.

Благодаря несложным подсчетам, система окупит себя через полтора года.

Прототип роль "Инженер" Sailet
Прототип роль "Инженер" Sailet

Итоги

Мы создали первую, рабочую версию портала в рекордно сжатые сроки. Он решает вопросы заказчика, заменяет арендованные сервисы своим функционалом и приносит клиентов.

Немного благодарностей от технического отдела BI Property:

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

Елдар, Менеджер проекта со стороны Заказчика

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

55
4 комментария

По команде, не очень понятно по тестированию? Тестировщиков в команде не указано. Аутсорс? TDD?
По времени было б прикольно если б расписали на что времени ушло больше, бэк или фронт.
Использовали только свои наработки или готовые ui решения, например.
Чем обусловлен выбор react native? Арр-ом занимались отдельные разрабы или фронты?
Если выбрали react native зачем на вебе vue? Почему отказались от полной инфраструктуры react.
В разделе про разработку, мало инфы про разработку. Больше инфа для PM)

1

В целом закидывали в личный опыт, vc перекинул в разработку)

По тестировщикам - аутсорс, не стали указывать.

По времени, больше всего бэк занял. С точки зрения бизнес-логики было много вопросов, что от кого зависит и куда передается. Фронт и мобилка естественно все берут по Api.

Использовали только свои наработки.

По поводу стека в целом, вопрос во времени стоял в первую очередь. Все, что расписано в статье - некое MVP, которое нужно было быстро запустить и презентовать бизнесу (в корп. структуре заказчика, технари презентуют бизнесу разработки и дальше принимается решение развивать ли его). Поэтому и react native, и vue. 

1

Огонь, шикарная работа!

1