Розробка мобільного додатку для виклику майстра додому (сантехнік, електрик)

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

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

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

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Розробка мобільного додатку для виклику майстра додому (сантехнік, електрик)
Середній
від 1 тижня до 3 місяців
Часті запитання

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

Етапи розробки

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

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Розробка мобільного додатку для виклику майстра на дім (сантехнік, електрик)

Завдання «з'єднати клієнта з майстром за 3 хвилини» на поверхні виглядає просто: форма заявки, список виконавців, кнопка «викликати». На практиці — це геолокаційний матчинг у реальному часі, черги завдань з пріоритетами, двосторонні сповіщення та проблема «холодного старту» з нульовим числом майстрів у базі.

Що реально ломається при розробці

Головна біль — жива карта з майстрами. Якщо кожен майстер шле location кожні 3 секунди через REST, при 50 одночасних виконавців сервер отримує 1000 запитів на хвилину лише на оновлення позиції. Рішення: WebSocket-канал (на Flutter — пакет web_socket_channel 2.x) плюс серверний throttle. Клієнт отримує дельта-оновлення, а не повний список. На карті — flutter_map з TileLayer від OpenStreetMap або Google Maps SDK, залежно від бюджету ліцензії.

Друга проблема — статусна машина заявки. Типичний граф: created → assigned → accepted → in_progress → completed | cancelled. Якщо не зафіксувати переходи на рівні бекенду та не синхронізувати їх з локальним станом (Riverpod StateNotifier або BLoC), клієнт бачить «майстер їде» навіть після скасування — тому що push-сповіщення прийшло пізніше, ніж користувач оновив екран. Розв'язуємо через FCM data messages замість notification messages: додаток сам вирішує, що показати, виходячи з поточного стану.

Ще момент: рейтинги та відгуки не можна відкривати до завершення заявки. Якщо не додати серверну перевірку статусу перед записом відгуку, майстра отримують оцінки за незбувшиеся візити — бачив таке у трьох різних проектах.

Стек та архітектура

Flutter + Dart як основний вибір для cross-platform: один кодовой базою закриваємо iOS та Android, при цьому нативні виклики через MethodChannel — для фонової геолокації (background_locator_2) та обробки вхідних дзвінків через VOIP (на iOS — CallKit, на Android — ConnectionService). Вбудований чат — через Firebase Realtime Database або власний WebSocket, медіафайли (фото несправності) — через Firebase Storage або S3 з presigned URLs.

Архітектурно: Clean Architecture зі шарами domain / data / presentation. Репозиторії ізолюють логіку від джерела даних — легко менять Firebase на власний API без переписування UI. GetIt як service locator для DI, Dio з interceptors для REST, hive для кешу заявок офлайн.

Ключові інтеграції:

  • Google Maps SDK / Yandex MapKit — маршрут майстра до клієнта
  • Firebase Cloud Messaging — сповіщення про зміну статусу
  • Stripe / CloudPayments / YooKassa — оплата після виконання
  • Twilio або Vonage — маскування номерів при дзвінку
  • OneSignal — маркетингові пуші та retention-кампанії

Окремо про онбординг майстрів

Верифікація виконавця — не просто форма з полями. Потрібна завантаження документів (паспорт, ліцензія), ручна модерація або інтеграція з сервісом перевірки (наприклад, російський «Контур.Фокус» для ІП). На Flutter: image_picker + dio multipart upload, статус перевірки через polling або WebSocket. Поки обліковий запис не верифіковано — флаг is_verified: false блокує приймання заявок на рівні API middleware.

Процес роботи

  1. Аудит вимог — з'ясовуємо: монетизація (комісія з заявки або передплата майстра), географія (один город або федеральна мережа), потрібен ли веб-кабінет диспетчера
  2. Проектування — ERD, State Machine діаграма заявки, API контракти (OpenAPI 3.0)
  3. UI/UX — Figma-прототип, окремі потоки для клієнта та майстра
  4. Розробка — спринти по 2 тижні, CI/CD через Fastlane + GitHub Actions
  5. Тестування — інтеграційні тести на flutter_test, ручна QA на реальних пристроях
  6. Публікація — App Store + Google Play, налаштування ASO, скриншоти та описи

Часова шкала

MVP (клієнт + майстер, базовий матчинг, оплата, пуші): 10–16 тижнів. Повна платформа з кабінетом диспетчера, аналітикою та верифікацією: 20–28 тижнів. Вартість розраховується після аналізу ТЗ — занадто багато залежить від кількості категорій майстрів та географії охоплення.

Типові помилки, які коштують дорого

  • Реалізувати геолокацію без background_locator — майстер «пропадає» з карти, коли сворачує додаток на Android 12+ через Doze Mode
  • Зберігати токени FCM у локальній БД без TTL — через 3 місяці 30% токенів протухають, пуші перестають доставляються
  • Не розділяти FCM-канали для клієнта та майстра в одному додатку — обидва отримують чужі сповіщення при зміні ролі