Компонент агентства недвижимости

Дата релиза:
Задача. Создать универсальный компонент агентства недвижимости

В начальном техническом задании был определен обширный набор функционала в рамках разработки компонента Estate 3. Имея значительный опыт и понимая особенности создания компонентов под CMS Joomla 3 было принято решение предварительно создать библиотеку, позволяющую автоматизировать ряд рутинных задач. Библиотека взяла на себя функции автозагрузки классов, формирования интерфейсов административной части компонента, управления базой данных (что в итоге сформировалось в ORM систему под Joomla), перекрытии множества функционала CMS, который требовал доработки. В итоге на базе созданной библиотеки разработка и изменение компонента проводились значительно быстрее обычного.

Поскольку основной задачей проекта была разработка функционала компонента, макеты были значительно упрощены и на скриншотах и тестовом сайте estate3.malevich.com.ua отражают лишь наличие той или иной информации на странице почти без какого-либо оформления.

Фильтр объектов недвижимости

При разработке компонента одной из наиболее объемных и сложных задач была задача по реализации фильтра в категориях объектов недвижимости. Ее сложность заключалась в том, что для каждой из категорий должна быть возможность выбрать произвольный набор полей для фильтрации с различными типами данных. Для реализации этой структуры в базе данных за основу был взят паттерн EAV, который был реализован на php с учетом особенностей данной задачи. Кроме этого весьма универсально и независимо были реализованы типы полей, которые можно использоваться при фильтрации объектов недвижимости в категориях. Кроме стандартных типов, которые с легкостью можно представить обычными элементами html форм, как выпадающий список, список с множественным выбором или поле ввода, можно создавать значительно более сложные поля. Например, для категории "Жилая недвижимость" в качестве такого поля используется карта метро города Москва, с рядом собственных функциональных возможностей.

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

Фильтр объектов недвижимости

Категория

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

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

Категория

Страница объекта недвижимости

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

Страница объекта недвижимости

Запрос на объект недвижимости

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

Запрос на объект недвижимости

Карта

Для отображения объекта недвижимости на карте по известному адресу было использовано бесплатное Google Map API. Карта формируется и определяет расположение объекта автоматически если задан его адрес.

Карта

Расчет ипотеки

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

Технически расчет ипотеки ипотеки реализован на базе API Яндекс, которое позволяет произвести расчеты по имеющимся предложения банков и указать условия подбора данной услуги. В административной части компонента администратор сайта может указать ключ API своего Яндекс аккаунта для отправки запросов. Сами же запросы отправляются с помощью технологии AJAX, что позволяет менять параметры ипотеки в модальном окне и получать результирующие предложения без перезагрузки страницы часта.

Расчет ипотеки

Модули

Кроме основного компонента агентства недвижимости нами был разработан ряд модулей:

  • Модуль объектов недвижимости - позволяет выводить различный набор объектов в зависимости от указанных параметров
  • Модуль агентов - выводит агентов по указанным в административной части параметрам
  • Модуль категорий - позволяет вывести все категории недвижимости
  • Модуль запросов - позволяет пользователю предложить свой объект недвижимости для размещения в каталоге сайта или сделать запрос для покупки или аренды имеющегося в каталоге объекта недвижимости
Модули

Подпроекты

Административная часть компонента агентства недвижимости

Дата релиза:
Типы проекта: PHP, Javascript, Joomla, Программирование
Задача проекта: Разработать интерфейс и функционал административной части компонента агентства недвижимости.
В процессе разработки административной части проекта был реализован ряд универсальных решений, позволивших значительно быстрее разрабатывать и качественно поддерживать работу компонента и его составляющих.