Разработка мобильного приложения для поиска парковки
Поиск парковки — задача с данными в реальном времени. Пользователь хочет знать не «парковка есть по адресу X», а «сколько свободных мест прямо сейчас». Без актуальных данных приложение бесполезно — водитель приедет на парковку и увидит «мест нет». Поэтому первый вопрос при разработке — откуда берутся данные о заполненности.
Источники данных о парковках
Умные паркинги с датчиками (ультразвуковые, магнитные) передают данные через IoT-шлюзы. Интеграция через REST API или MQTT. Данные обновляются каждые 30-60 секунд. Это лучший сценарий — точность близка к 100%.
Городские API — многие города публикуют данные о муниципальных паркингах через открытые API. Лондон, Берлин, Барселона — есть готовые фиды. Формат обычно JSON REST или CSV.
Crowdsourcing — пользователи отмечают «занял место» / «освободил место». Точность низкая, подходит как дополнение к другим источникам.
Провайдеры данных — ParkWhiz API, SpotHero API, Parkopedia — агрегаторы с данными о паркингах в США/Европе. Платные, но с покрытием.
Архитектура: сервер агрегирует данные из всех источников, нормализует в единую модель ParkingSpot { id, lat, lng, capacity, available, price, type, schedule }, клиент получает через REST или WebSocket.
Карта с парковками
Маркеры на карте цветом показывают заполненность: зелёный (>50% свободно), жёлтый (20-50%), красный (<20%), серый (нет данных). Google Maps SDK GMSMarker с кастомным iconView или Mapbox SymbolLayer с data-driven styling — цвет маркера из available_percent поля GeoJSON.
Кластеризация при малом zoom: кластер показывает суммарное количество свободных мест из всех парковок внутри. DefaultClusterRenderer (Google Maps Utility) переопределяется для кастомного отображения.
При приближении к парковке (tap по маркеру) — bottom sheet с деталями: схема подъезда, цены по часам, режим работы, фото входа.
Поиск по адресу с построением маршрута
Пользователь вводит адрес назначения → приложение показывает парковки в радиусе 300-500 метров от него, отсортированные по расстоянию + наличию мест. Кнопка «Маршрут» → построение маршрута до выбранной парковки через Google Maps SDK openWithBundleId deep link или in-app навигация через Mapbox.
Бронирование и оплата
Pre-booking — резервирование места на конкретное время. Не все парковки это поддерживают, зависит от наличия шлагбаума с дистанционным управлением.
Форма бронирования: дата/время въезда и выезда, расчёт стоимости на сервере. Оплата через Stripe, ЮКасса, Apple Pay / Google Pay. После оплаты — подтверждение с QR-кодом для въезда или PIN для шлагбаума.
Для парковок без автоматического шлагбаума — оплата паркомата через приложение. Push-уведомление за 15 минут до истечения оплаченного времени с предложением продлить прямо из уведомления (UNNotificationAction).
История и избранное
Недавно посещённые парковки — автоматически из истории заказов. Избранные — ручное добавление. Синхронизация через backend, доступно на всех устройствах пользователя.
Уведомление «ваша любимая парковка у офиса освободилась» — геофенс + наблюдение за available > 0 через WebSocket. Пользователь подписывается на конкретную парковку.
Навигация внутри паркинга
Advanced-фича для крупных торговых центров: indoor-навигация по парковке (этаж, сектор). Требует отдельных карт помещений (Google Indoor Maps или кастомные SVG-планы), позиционирования через WiFi fingerprinting или BLE-маяки.
Простой вариант: фото схемы парковки с описанием «въезд со стороны ТЦ, этаж -2, сектор C».
Стек: Flutter или нативный iOS/Android, Google Maps SDK или Mapbox, Stripe/ЮКасса, WebSocket для real-time обновлений.
Срок: от 8 до 14 недель. Стоимость рассчитывается индивидуально.







