Никита Митусов Обсудить задачу

Automost: Сделка на сайте включает настоящий компьютер

Автомобильная площадка, у которой внутри реальное оборудование. Бэкенд, кабинет и API на Laravel, 13 месяцев задач в команде агентства.

RDBox у заказчика включён
Машина исполнителя Running

Снаружи объявления. Внутри цепь

Покупатели видят обычную доску: машины, услуги, прошивки. За ней сделки, деньги и устройства, встроенные в чужой покупной движок. Потяните шторку.

Главная страница automost.ru

Снимок automost.ru, ноябрь 2026. Сегодняшнюю витрину делали другие люди. Под шторкой модули, которые я строил в 2024–2026 годах.

Перечень элементов

Поз.ЧтоКто
A1Сделки: создание, принятие, отказ, оплата, запрос отмены, завершение, таймеря
A2Деньги: снятие, начисление за вычетом комиссии, возврат, счета, вывод, дашбордя, логику дала постановка
A3RDBox: устройства в профиле, виртуальные машины, запуск и остановка по SSHя, скрипты на Python у администраторов заказчика
A4CAN-мост: второе устройство и рефакторинг, чтобы следующие подключались дешевлея, API моста у другого разработчика
A5API для приложения: роуты и документацияя, приложение у другой команды
A6Пуши: серверная часть и разбор, почему они не доходятя, SDK и сборки у команды приложения, остаток довёл руководитель агентства
A7Распознавание: фото в госномер, госномер в VIN, VIN в данные автомобиляя
A8Загрузка из Excel: массовая загрузка объявлений с проверкойя, шаблон и поля вместе с руководителем
A9Чат на сокетах: транспорт реального времени, интерфейс чата остался прежнимя
A10Склад автосалонов: интеграция с партнёрским API и её автозапускя
A11Переезд: новый сервер, PHP 8.3, обновление Laravelя
A12Мелочи: отзывы, партнёрская цена, скрытые ссылки, город в профиле, причины отклоненияя
A0Платформа: покупной движок объявлений, штатный API, админка, плагиныразработчики движка

Платформа на покупном движке. Приложение вела другая команда, устройства настраивали администраторы заказчика, руководитель агентства ставил задачи и писал часть кода. Период: декабрь 2024 – январь 2026. automost.ru

Проведите сделку

Заказчик принимает удалённую работу на своём устройстве, исполнитель заходит в собственную виртуальную машину. Кнопка на сайте двигает деньги и включает железо.

Устройство

Заказчик

Баланс 10 000 ₽

Сделка

Нет сделки

В пути 0 ₽

Исполнитель

Баланс 0 ₽

RDBox заказчика

Выключен

Головной сервер

Ждёт команду по SSH

Машина исполнителя

Выключена

Сделки пока нет. Начните с первого шага.

Пример, суммы и комиссия условные. Комиссия на площадке зависит от категории.

В файле 3.0, в базе 3

Перекупщикам нужно заливать сотни машин, вручную это невозможно. Настоящий файл не совпал с ТЗ, а каждая ячейка хранилась в базе иначе. Нажимайте на ячейки.

fxВыберите ячейку, и здесь появится, что с ней было не так.
Марка
Модель
Объём
Город
КПП
Статус

Номера условные. 26 июня на показе импорт падал в 504 примерно от 200 объявлений, к 1 июля готовили загрузку 3 000 автомобилей.

13 месяцев по одной шине

От двух кнопок в декабре до склада автосалона, который обновляется сам. Задачи шли пакетами, с паузами на согласование.

Две кнопки

За 2 дня первая рабочая версия сделок. За 11 дней от старта всё на сайте: счета, вывод, комиссия по категории, таймеры, админка.

Команда не находится

Из PHP запуск машины отвечал ошибкой, хотя у сисадмина под тем же пользователем всё работало. Похоже, окружение не доживало до запуска: активация и скрипт шли отдельными командами. Одной командой сработало, и на следующий день сделка включала машину.

Пуши, которых нет

Сайт отправлял пуши, ответ был один: получатели не подписаны. Когда мне дали исходник приложения, оказалось, что SDK там не подключён. Поставил его на своей сборке и показал, как должно работать. Логику получателей и оставшиеся пуши довёл руководитель агентства.

Второе устройство

CAN-мост: пара соединяется и разрывается через API, старая связь рвётся заранее, чтобы не остаться с зависшей парой. 21 марта боевые тесты показали, что машина должна браться у исполнителя. В постановке этого не было, за вечер перевёл запуск, остановку и статус.

Машина по фотографии

API распознавания: фото превращается в госномер, номер в VIN, VIN в данные автомобиля. Разработчик CRM техосмотров подключил его к своей системе.

Переезд

Старый CentOS 7 не тянул нужный PHP. Новый сервер, PHP 8.3 с запасом, обновлённый Laravel. После переезда сломались названия автомобилей: функцию 2023 года переписал, больше 350 строк. 11 июня я перепутал серверы и сломал загрузку, сам всё вернул.

Чат на сокетах

Штатный чат узнавал о сообщении, только пока человек на сайте. Предупредил, что задача неприятная, и просил 2–3 недели. К 28 июня сообщения шли мгновенно. Интерфейс остался прежним, поменялся транспорт.

Публичный запуск

Площадка вышла к людям, пошли регистрации. Сегодня она живёт на automost.ru с новой витриной.

Склад, который обновляется сам

Самый трудный участок проекта. От ТЗ на склад автосалонов до работающего автозапуска, интервал поставили 12 часов.

Склад усыпил чат

Салоны ведут машины в стороннем сервисе, площадка забирает их по API и сверяет: снятые в архив, изменённые обновить, новые добавить. На больших данных сайт выбивал 504. Я перевёл задачи в фон, и уснул чат: оба жили на общей настройке очередей.

  1. Машина ещё продаётся?дошло сразу
общая очередь
задачи склада

Сообщение ждёт, пока пройдут машины со склада.

Пример, время условное. Настоящая починка: разделил очереди чата и фоновых задач.

  • 25 секунд готовилась страница автомобиля. Движок сам не обрабатывает фото, их надо готовить при сохранении. Для фото сделал отдельную фоновую задачу
  • 100 объявлений хватало, чтобы упал кабинет: постраничного вывода там нет
  • Не закрыто: снятые машины, вероятно, всё ещё попадали в импорт. Адрес без координат тоже остался проблемой, партнёрский API их не отдаёт

Площадка работает

Каталог автомобилей на automost.ru
Сервисы Automost
Каталог на телефоне

Снимки automost.ru, ноябрь 2026. Новую витрину делали другие люди.

Находит проблему и добирается до корня. Выпрямляет проект целиком и обходится без костылей.

Руководитель агентства Solution, общая характеристика. Пересказ из переписки.

Я спросил, как понять, что проект закончен. Ответа не было

У длинного проекта должно быть определение готовности, записанное в начале. Без него разговор о качестве возникает на последних процентах работы, когда спокойно разбираться уже поздно.

Нужно похожее? Доработка и поддержка: от 3 000 ₽