Сервисы и платформы

Разработка сервиса выноса мусора — Takeway

Сервис позволяет жителям поручить вынос мусора исполнителям поблизости, а оператору — управлять заказами и готовить выплаты

Next.js 16App RouterTypeScriptPostgreSQL 16Prisma 7Tailwind 4PWAYandex Maps JS APISuggestGeocoderGreenSMSWeb PushS3-совместимое хранилище
Takeway

Задача

Создать сервис, через который житель сможет поручить вынос бытового мусора исполнителю поблизости. Исполнитель забирает подготовленные пакеты у двери и относит их в контейнер. Продукт должен объединить оформление заказа, работу исполнителя и управление со стороны оператора. Клиентский интерфейс и интерфейс исполнителя рассчитаны прежде всего на мобильные экраны.

От заказа до фотоподтверждения

Собрали пилотный MVP с клиентским веб-интерфейсом, PWA исполнителя и панелью оператора. Клиент указывает адрес с помощью подсказок, оформляет заказ и получает доступ к его статусу в личном кабинете.

Исполнитель регистрируется, загружает документы и после модерации получает доступ к заказам района. Один заказ может принять только один исполнитель. Мини-карта помогает сориентироваться, а переход в Яндекс Карты — построить маршрут до клиента.

Закрытие заказа связали с двумя фотографиями: у двери и у контейнера. Оператор работает с заказами, проверяет исполнителей и выгружает данные для выплат в CSV.

Дизайн повседневного заказа

На экране заказа в работе разместили адрес, маршрут и последовательность действий исполнителя. Основные кнопки вынесли в нижнюю часть экрана. Голубые акценты выделяют информационные действия, зелёные — переход к следующему шагу.

Для клиента спроектировали сохранённые адреса «Дом» и «Работа» с подъездом, этажом и квартирой. В дизайне завершённого заказа объединили оценку исполнителя и повтор заказа: эти действия доступны сразу после выполнения услуги.

Заказ в работе: адрес, маршрут и этапы помогают исполнителю сориентироваться и сообщить о прибытии
Заказ в работе: адрес, маршрут и этапы помогают исполнителю сориентироваться и сообщить о прибытии
Адреса «Дом» и «Работа» с деталями подъезда, этажа и квартиры для следующих заказов
Адреса «Дом» и «Работа» с деталями подъезда, этажа и квартиры для следующих заказов
Завершённый заказ с оценкой исполнителя и кнопкой повтора услуги
Завершённый заказ с оценкой исполнителя и кнопкой повтора услуги

Связь во время выполнения

Спроектировали чат с клиентом с готовыми сообщениями о прибытии. Исполнитель может быстро сообщить, что он в пути или уже у двери, и попросить клиента спуститься.

Для поддержки подготовили отдельный чат с типовыми обращениями по оплате и возврату. Также продумали сценарий, когда клиент не отвечает: ожидание, завершение с отметкой «не удалось забрать» и передача спорной ситуации в поддержку.

Чат с клиентом: быстрые ответы помогают сообщить о прибытии без набора сообщения
Чат с клиентом: быстрые ответы помогают сообщить о прибытии без набора сообщения
Чат поддержки для вопросов о получении пакетов, платеже и возврате
Чат поддержки для вопросов о получении пакетов, платеже и возврате

Общая основа сервиса

Клиентский интерфейс, PWA исполнителя, панель оператора и API объединили в монолит на Next.js 16. Для данных использовали PostgreSQL 16 и Prisma 7, для интерфейсов — TypeScript и Tailwind 4.

Авторизацию по одноразовому SMS-коду реализовали через GreenSMS. Для остальных уведомлений подготовили Web Push и связали активацию исполнителя с успешной доставкой тестового уведомления. Подготовили интеграцию ЮKassa.

Документы исполнителей отделили от фотографий заказов и поместили в приватное S3-совместимое хранилище. Доступ к документам выдаётся по подписанным ссылкам, каждое открытие записывается в журнал.

Цели

  • Дать жителям возможность заказать вынос мусора от двери до контейнера
  • Помочь исполнителям находить и выполнять заказы поблизости
  • Дать оператору инструменты для работы с заказами, исполнителями и выплатами

Целевая аудитория

  • Жители, которые заняты, плохо себя чувствуют или хотят поручить бытовую задачу другому человеку
  • Исполнители, готовые забирать пакеты и относить их в контейнер рядом с собой
  • Операторы сервиса

Что нужно пользователю

Job to be done — от ситуации к результату

Ситуация

Мне нужно вынести мусор, но я занят или плохо себя чувствую и не хочу выходить к контейнеру.

Задача

Хочу поручить эту бытовую задачу другому человеку и заранее знать стоимость базовой услуги.

Результат

Подготавливаю пакеты, а исполнитель забирает их у двери и относит в контейнер. Мне не нужно выходить из дома и отвлекаться от своих дел.

Что внутри

1

Оформление заказа с подсказками адреса

2

Личный кабинет клиента со статусом заказа

3

Регистрация исполнителей, загрузка документов и модерация

4

Лента заказов района с принятием заказа одним исполнителем

5

Мини-карта и переход к маршруту в Яндекс Картах

6

Закрытие заказа с фотографиями у двери и у контейнера

7

Панель оператора с показателями, заказами и исполнителями

8

Выгрузка данных для выплат в CSV

9

SMS-авторизация по одноразовому коду

10

Приватное хранение документов с журналом открытий

Как это выглядит

Нужен похожий проект?

Расскажите о задаче — оценим объём, сроки и стоимость, предложим решение. Есть ТЗ — загрузите его и получите предварительную цифру за несколько минут.

Оценить по ТЗ