Разработка сервиса выноса мусора — 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 — от ситуации к результату
Мне нужно вынести мусор, но я занят или плохо себя чувствую и не хочу выходить к контейнеру.
Хочу поручить эту бытовую задачу другому человеку и заранее знать стоимость базовой услуги.
Подготавливаю пакеты, а исполнитель забирает их у двери и относит в контейнер. Мне не нужно выходить из дома и отвлекаться от своих дел.
Что внутри
Оформление заказа с подсказками адреса
Личный кабинет клиента со статусом заказа
Регистрация исполнителей, загрузка документов и модерация
Лента заказов района с принятием заказа одним исполнителем
Мини-карта и переход к маршруту в Яндекс Картах
Закрытие заказа с фотографиями у двери и у контейнера
Панель оператора с показателями, заказами и исполнителями
Выгрузка данных для выплат в CSV
SMS-авторизация по одноразовому коду
Приватное хранение документов с журналом открытий
Как это выглядит




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


