Мобільний застосунок для пошуку парковки
Пошук парковки — задача з даними в реальному часі. Користувач хоче знати не «парковка є по адресі 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) перевизначається для кастомного відображення.
При наближенні до парковки (натиск по маркеру) — 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-маяки.
Простий варіант: фото схеми парковки з описом «entrada з боку ТЦ, поверх -2, сектор C».
Стек: Flutter або нативний iOS/Android, Google Maps SDK або Mapbox, Stripe/місцевий процесор, WebSocket для real-time оновлень.
Термін: від 8 до 14 тижнів. Вартість розраховується індивідуально.







