Розробка мобільного додатку для каршерингу: повний цикл

При розробці додатків для каршерингу ми стикаємося із завданням: як передати команду "відкрити двері" за 2–4 секунди без подвійного натискання? Якщо блок не відповідає 30 секунд, користувач натискає повторно — двері відчиняються двічі. Classic fire-and-forget. Рішення — використовувати idempotency k

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Розробка мобільного додатку для каршерингу: повний цикл
Складний
від 2 тижнів до 3 місяців

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    897
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    784
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1219
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1081
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1004
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    600

При розробці додатків для каршерингу ми стикаємося із завданням: як передати команду "відкрити двері" за 2–4 секунди без подвійного натискання? Якщо блок не відповідає 30 секунд, користувач натискає повторно — двері відчиняються двічі. Classic fire-and-forget. Рішення — використовувати idempotency key і підтвердження через callback: додаток надсилає унікальний ключ команди, сервер гарантує одноразове виконання, а результат приходить у push-сповіщенні.

Ми реалізували таку схему в 30+ каршерингових проектах. Досвід показує: навіть при втраті GPRS-з'єднання callback-механізм за 30 секунд повертає статус «автомобіль не відповів», а не «щось пішло не так». Це рятує користувацький досвід і знижує навантаження на підтримку на 30–40%.

Особливості розробки мобільного додатку для каршерингу

Серце каршеринг-платформи — телематичний блок (Teltonika FMB140, Queclink GV620, Neomatica ADM700), який з'єднується з сервером через GPRS/LTE і приймає команди: відкрити/закрити двері, дозволити/заборонити запуск двигуна, увімкнути сигналізацію. Мобільний додаток не спілкується з машиною напряму — все через сервер.

Схема команди:

  1. Додаток надсилає команду на API (POST /cars/{id}/commands) з idempotency-key
  2. Сервер записує команду в чергу (RabbitMQ або Kafka)
  3. Воркер надсилає команду на телематичний блок через TCP/UDP
  4. Блок підтверджує виконання
  5. Сервер надсилає push-сповіщення додатку про результат

Якщо крок 4 не відбувся за 30 секунд — сервер повертає помилку, додаток показує конкретний статус. Гарантуємо, що кожен перехід стану оренди (available → reserved → active → completed) атомарний на сервері.

Як забезпечити надійність команд керування автомобілем?

Idempotency key — UUID, який генерує клієнт і повторно використовує при повторних спробах. Сервер перевіряє ключ і не виконує команду повторно. Callback-механізм (Webhook або WebSocket) доставляє результат. Це вирішує проблему подвійного відкриття дверей.

Додатково: додаток відображає прогрес виконання команди — "Надсилаємо команду...", "Автомобіль підтвердив". Якщо через 30 секунд немає відповіді, показуємо "Автомобіль не знайдено". Так користувач розуміє, що робити.

Server-side clustering для відображення флоту

Відображення флоту на карті — 500+ автомобілів онлайн. Client-side clustering гальмує: 800 мс на рендеринг. Server-side clustering: сервер повертає кластери з центроїдами та лічильником, клієнт малює агреговані маркери. Час рендерингу — 200 мс. Порівняння:

Метод Час рендерингу (500 маркерів) Навантаження на клієнт
Client-side clustering 800 мс Високе (CPU, пам'ять)
Server-side clustering 200 мс Низьке (тільки відмальовка)

При зумі > 14 переходимо до окремих іконок з кольоровою індикацією заряду батареї або рівня палива. Пошук «знайти найближчу вільну машину» — запит з геолокацією користувача та радіусом. PostGIS на бекенді (ST_DWithin) + індекс на координатах. Відповідь — список з відстанню та маршрутом пішки через Google Maps Directions (режим WALKING).

Які етапи включає розробка каршеринг-додатку?

Ми використовуємо ітеративний підхід: аудит → архітектура → дизайн → розробка → тестування → публікація. Ось що входить у кожен етап:

Етап Зміст Результат
Аудит телематичної інфраструктури Аналіз встановлених блоків, протоколів, API Технічне завдання з сумісністю
Архітектура state machine Проектування станів оренди та API-контракту OpenAPI-специфікація
Дизайн Карта, пошук, онбординг, екрани сесії Figma-макети
Розробка Реалізація MVP (карта, бронювання, відкриття, оплата, завершення) Робочий білд
Верифікація Інтеграція KYC, тестування граничних кейсів Звіт про тестування
Публікація Підготовка до App Store (категорія Transport) та Google Play Сторіс-скріншоти, метадані

Терміни: MVP — 3–4 місяці, повна платформа з аналітикою, корпоративним кабінетом та розширеною телематикою — 6–9 місяців. Вартість розраховується індивідуально після аудиту вимог.

Верифікація та онбординг — розробка мобільного додатку

Каршеринг вимагає верифікації водійського посвідчення та паспорта. Інтеграція з сервісами liveness + document recognition: Smile Identity або Onfido для міжнародних проектів, Суфтех, GetID або ЄЦРН (через Держпослуги / ГІС МВС) для російського ринку.

Технічна реалізація: нативна камера з підказками щодо розташування документа (оверлей з рамкою), завантаження фото через multipart/form-data, polling статусу верифікації через WebSocket. Не зберігаємо фото документів на пристрої довше сеансу завантаження.

Оренда та оплата

Сесія оренди — state machine: available → reserved → active → completed. Кожен перехід атомарний на сервері. Мобільний клієнт відображає поточний статус через WebSocket subscription або long-polling з ETag.

Оплата — Stripe (міжнародно) або ЮKassa/CloudPayments (РФ). Важливий нюанс: холдування суми (payment_intent зі статусом requires_capture) при початку оренди, реальне списання після завершення з перерахунком за фактом часу. Stripe SDK для iOS та Android надають готові Payment Sheet, які вже обробляють 3DS, SCA, збереження карток.

Перевірка стану автомобіля

До початку оренди користувач фотографує подряпини та пошкодження. Це захист і для нього, і для оператора. Реалізуємо через CameraX з multiple captures, завантажуємо в хмару (S3/GCS) з геоміткою (EXIF GPS дані) та timestamp. Після завершення оренди — те саме.

Автоматичне розпізнавання пошкоджень через ML-модель (YOLOv8 fine-tuned на пошкодження авто) — опціональна фіча, яку реалізуємо через Core ML (iOS) або TensorFlow Lite (Android). Знижує навантаження на службу перевірки, але потребує якісного датасету.

Що входить у розробку (deliverables)

  • Архітектурна документація (OpenAPI, ER-діаграми)
  • Доступи до репозиторію, CI/CD пайплайну, тестового стенду
  • Навчання команди замовника (2 дні)
  • 3 місяці гарантійної підтримки після релізу

Замовте консультацію для оцінки вашої телематики – ми підберемо оптимальну архітектуру. Зв'яжіться з нами, щоб отримати детальний план розробки. 10+ років досвіду та 30+ каршерингових проектів гарантують стабільну роботу при будь-якому навантаженні.