Почему для риелторского агентства нужно два отдельных приложения?
Представьте: агент едет на показ, а клиент уже передумал — не видит актуальных фото. Либо агент забыл распечатать договор, и сделку приходится откладывать. За смену агент проводит до 5 показов, каждый требует оперативного доступа к данным. Без мобильного приложения информация разрознена: звонки, бумажные записи, фотографии в галерее. Собственное приложение решает эти проблемы в моменте: CRM всегда под рукой, документы подписываются на планшете, клиент получает уведомления о новых объектах. Мы разрабатываем такие решения под ключ для риелторских агентств уже более 5 лет и реализовали 30+ проектов.
Типичная архитектурная ошибка — пытаться совместить клиентскую часть и агентскую в одном приложении с переключением роли. На практике это приводит к перегруженному интерфейсу и сложной логике доступа. Мы протестировали оба подхода на проектах с сотнями агентов и тысячами клиентов.
Сравнение: одно приложение против двух
| Характеристика | Одно приложение | Два приложения (наша практика) |
|---|---|---|
| Сложность кода | Высокая (условные ветвления) | Низкая (каждое приложение решает свою задачу) |
| Производительность | Ниже из-за лишнего функционала | Выше за счёт лёгкой сборки |
| Тестирование | Длинные сценарии | Параллельное тестирование двух модулей |
| Поддержка | Риск регрессии при изменениях | Изолированные обновления |
Оптимальное решение — два отдельных Flutter-приложения, объединённых общим API. Это упрощает CI/CD и позволяет командам работать параллельно.
Что входит в приложение агента и клиента?
Приложение агента
База объектов с фильтрами, карточка клиента с историей показов, маршрут на день, документы для подписи, чат с клиентом и коллегами, фиксация статуса сделки. Агент добавляет до 50 фотографий за показ — все они автоматически сжимаются и попадают в каталог.
Приложение клиента
Подборка объектов под параметры, фото/видео галерея, виртуальный тур, запись на показ, чат с агентом, статус сделки. Клиент получает push-уведомления о новых объектах, соответствующих его фильтрам — это повышает конверсию в показы до 40%.
Как решаем типичные проблемы: карты, медиа, документы
Как устранить лаги на картах при сотнях объектов?
Отображение объектов на карте через Yandex MapKit или Google Maps SDK — базовая задача. Но кластеризация маркеров при zoom out без оптимизации даёт заметный лаг на бюджетных Android-устройствах. Решение — server-side clustering через PostGIS (функция ST_ClusterKMeans), как описано в официальной документации PostGIS, и передача готовых кластеров в приложение. Это позволяет отображать без тормозов до 2000 объектов на карте.
| Подход | Производительность | Сложность |
|---|---|---|
| Client-side clustering | Лаги при 200+ маркерах | Низкая |
| Server-side clustering (PostGIS) | Плавно до 5000+ | Средняя |
Как организовать загрузку медиа без замедления?
Объект недвижимости — 20–50 фотографий, видео, иногда 3D-тур. Агент загружает фото с современных смартфонов в оригинальном качестве — 10–15 МБ на снимок. На бэкенде нужен асинхронный pipeline: resize через Sharp (Node.js) или ImageMagick, генерация WebP-версий нескольких размеров, хранение на S3. Приложение отдаёт нужный размер через srcset-логику. Среднее время загрузки галереи сокращается до 200 мс.
Как организовать подпись документов на планшете?
Агент на показе даёт клиенту подписать согласие на обработку персональных данных или предварительный договор прямо на планшете. Реализуем через canvas-компонент для рукописной подписи + генерация PDF с embedded signature через pdf_flutter или server-side через WeasyPrint. Это экономит до 30 минут на сделку.
Интеграции с агрегаторами и CRM
- Синхронизация объектов с Циан и Авито через XML-фиды (автоматически по расписанию через Laravel Queue).
- Интеграция с AmoCRM или Bitrix24 через REST API — двусторонняя синхронизация клиентской базы.
- SMS и WhatsApp уведомления через СМСЦентр или WABA API.
Стек и архитектура
Flutter 3.x (два приложения), Laravel 10 + PostgreSQL + PostGIS, MinIO для медиа, Redis для кешей и очередей.
Этапы разработки под ключ
- Аналитика и прототипирование — согласование ТЗ и макетов.
- Проектирование API и базы данных.
- UX/UI дизайн — два интерфейса, объединённых стилем.
- Разработка — параллельно агентское и клиентское приложение.
- Тестирование на реальных устройствах Android/iOS.
- Публикация в App Store и Google Play.
- Поддержка и развитие.
Типичные ошибки при выборе стека
- Гибридные фреймворки (Cordova, Ionic) — дают тормоза при картах и анимациях.
- Отсутствие серверной кластеризации — при 500+ объектах приложение подвисает.
- Хранение медиа на одном сервере — лучше облачное S3-хранилище.
Что входит в работу под ключ
- Исходный код двух приложений (Flutter) и API (Laravel).
- Документация по архитектуре и развёртыванию.
- Настройка CI/CD (GitHub Actions / GitLab CI).
- Обучение команды агентства (2–3 сессии).
- 3 месяца бесплатной поддержки после запуска.
Почему стоит заказать разработку у нас?
Мы специализируемся именно на риелторской мобильной разработке — более 5 лет опыта, 30+ реализованных проектов. Гарантируем соблюдение сроков, прозрачную отчётность и полное сопровождение на всех этапах. Получите консультацию по вашему проекту — мы оценим задачу за 1–2 дня. Закажите разработку — в каждый проект входит 3 месяца бесплатной поддержки.
Ориентировочные сроки: MVP (агентское + клиентское приложение) — от 14 до 20 недель. Полный функционал с CRM, интеграциями и документооборотом — от 28 недель. Стоимость рассчитывается индивидуально после анализа требований.







