Единая система, в которой каждая заявка становится назначенной, отслеживаемой и выполненной работой
Компании по ремонту автомобилей с выездной командой нужно было превращать заявки частных и корпоративных клиентов с фотографиями, данными автомобиля, местом и желаемой датой в запланированные работы для нескольких сотрудников, а каждое изменение статуса должно было сразу доходить до нужного человека. Система должна была работать на iOS и Android, в том числе для гостей без аккаунта, хранить данные в ЕС, позволять удалить аккаунт в приложении и быстро пройти проверку Apple. Сложность заключалась в четырёх ролях с разными правами на уровне базы данных, push-уведомлениях в реальном времени через APNs и FCM, общем календаре нескольких сотрудников, приглашениях по одноразовому коду, работе с фотографиями и соответствии требованиям магазинов приложений.
Что мы построили
- Единая кодовая база на React Native и TypeScript для iOS и Android, сборка и публикация через Expo EAS.
- Четыре роли — гость, клиент, сотрудник и Super Admin, разграниченные политиками row-level security в PostgreSQL.
- Оформление заявки с типом повреждения, данными автомобиля, местом, желаемой датой и до двух фотографий, доступное и без аккаунта.
- Входящие заявки Super Admin: назначение до трёх сотрудников с датой, временем и цветом за секунды.
- Общий календарь команды в режимах месяца и дня, с фильтрами по сотрудникам, цветовыми статусами и редактированием на месте.
- Push-уведомления через APNs и Firebase Cloud Messaging на каждом шаге: подтверждено, изменено, выполнено, автомобиль готов.
- Приглашение сотрудников по email с одноразовым кодом, хранение данных в ЕС, удаление аккаунта в приложении и отсутствие трекинга.
Результат
Разрозненные заявки превратились в единый процесс: клиент записывается, владелец назначает, сотрудник выполняет, и все получают уведомления. Путь от первого дизайна до одобрения в App Store занял около двух с половиной недель, включая полное тестирование на реальных устройствах, по итогам которого до релиза было внесено 47 исправлений.
Контекст
ART Smart Repair AB из Фагерсты (Швеция) устраняет вмятины без покраски и ремонтирует сколы для частных и корпоративных клиентов. При выездной команде каждая заявка с фотографиями, данными автомобиля, местом и желаемой датой должна становиться запланированной работой для нужных сотрудников, а каждое изменение — сразу доходить до клиента, владельца и команды. Приложение также должно было быстро пройти проверку Apple, работать для гостей без аккаунта, хранить данные в ЕС и позволять удалить аккаунт.
Что мы сделали
Единая кодовая база для iOS и Android с четырьмя ролями. Приложение работает на шведском и английском, русский добавляется в следующем релизе.
Клиенты и гости
- Заявка за несколько шагов: вмятина или скол, марка, модель и госномер, дата и при желании время, место, описание и до двух фотографий.
- Запись гостем с push-уведомлениями; аккаунты для частных лиц и компаний с 6-значным кодом из email или входом по телефону.
- Уведомления о подтверждении и переносе времени и о готовности автомобиля, оценка работы и удаление аккаунта.
Super Admin
- Входящие заявки с номерами заказов и назначением до трёх сотрудников с датой, временем и цветом.
- Календарь команды в режимах месяца и дня, фильтры по сотрудникам, цветовые статусы и редактирование на месте.
- Приглашения сотрудников по одноразовому коду, архив, центр уведомлений и обязательное обновление.
Сотрудники
- Свои задания с фотографиями клиента на весь экран и сохранением в телефон.
- Закреплённая кнопка «Отметить как выполнено»: задание становится зелёным, Super Admin получает уведомление.
Архитектура и технологии
- Expo, React Native, TypeScript: единая кодовая база, сборки и публикация через EAS.
- Supabase и PostgreSQL: row-level security по ролям, Auth, Storage для фотографий и Edge Functions, около 25 миграций.
- APNs и Firebase Cloud Messaging: push в реальном времени через Expo push.
- Соответствие требованиям: данные в ЕС, без трекинга, системный Photo Picker на Android.
Ценность для бизнеса
Разрозненные заявки превратились в единую систему: заявка становится назначенной, отслеживаемой и выполненной работой с уведомлением на каждом шаге. Полное тестирование на реальных устройствах с рабочей базой, настоящими письмами и push дало 47 исправлений до релиза.
Скриншоты
Есть проект?
Расскажем, какая технология подходит вашему проекту, и рассчитаем сроки и стоимость.