Розроблення мобільного застосунку для кур'єрської служби (клієнт)
Клієнтський застосунок кур'єрської служби — це те, що користувач відкриває, коли чекає посилку або хоче її відправити. Конкурентна перевага тут не у функціональності (вона везде одинакова), а в тому, наскільки швидко та без тертя працює оформлення замовлення та наскільки зрозуміло відображається статус доставки.
Оформлення замовлення: адреси та розрахунок вартості
Форма замовлення — «звідки» та «куди». Автодополнення адрес через Google Places Autocomplete або Mapbox Search API з sessionToken для оптимізації білінгу. Визначення поточного місцезнаходження одним натиском з зворотнім геокодуванням: користувач не має вводити свою адресу вручну.
Розрахунок вартості в реальному часі: змінюється адреса — оновлюється ціна. Debounce 500мс на полі введення щоб не стріляти API-запитами на кожен символ. Skeleton loader поки рахується — пусте поле з «—» гірше за анімований placeholder.
Тип вантажу — габарити, вага, крихкість — впливає на ціну та вибір кур'єра. Простий селектор: XS / S / M / L / XL з ілюстраціями. Не форма з полями «ширина», «висота», «вага» — це вбиває конверсію.
Трекінг в реальному часі
Після оформлення користувач хоче бачити, де кур'єр. Карта з маркером кур'єра оновлюється кожні 3-5 секунд через WebSocket. Плавна анімація маркера — через ValueAnimator (Android) або CABasicAnimation (iOS) з інтерполяцією позиції.
Якщо застосунок згорнутий — push-сповіщення при ключових статусах: кур'єр прийняв, виїхав, прибуває (за 5-10 хвилин по розраховному часу прибуття), доставив. ETA розраховується на сервері через Distance Matrix API та оновлюється в реальному часі.
Push «кур'єр прибуде через 5 хвилин» вимагає серверної логіки: відслідковування відстані від кур'єра до точки доставки, тригер при перетині порогу. Клієнтський застосунок це не рахує — тільки отримує та відображає.
Live Activity (iOS 16+)
Для iOS варто реалізувати ActivityKit Live Activities — інтерактивний віджет на lock screen та в Dynamic Island, який показує статус доставки та ETA без відкриття застосунку. Оновлюється через ActivityKit push updates (окремий APNs канал). Користувач бачить прогрес прямо на lock screen — це значно знижує кількість відкриттів застосунку «перевірити де кур'єр».
Історія та повторний заказ
Список минулих замовлень з можливістю повторити одним натиском — адреси та тип вантажу заповнюються автоматично. Збережені адреси: дім, робота + до 5 довільних. Зберігання в Keychain (iOS) / EncryptedSharedPreferences (Android), синхронізація з backend.
Оплата
Stripe або місцевий процесор платежів з збереженням карти (SetupIntent у Stripe для токенізації без реального платежу). Apple Pay та Google Pay як швидкий варіант без введення номера карти. Промокоди — поле у формі з валідацією на сервері, не на клієнті.
Термін: від 6 до 10 тижнів. Вартість розраховується індивідуально після аналізу вимог.







