2 000 000
Услуги
Лендинг пейдж, Корпоративный сайт, Порталы и сервисы
Битрикс24
Август 2026
Необходимо было создать единую систему, которая заменит большое количество ручных операций и разрозненных инструментов.
Пользователь должен был иметь возможность работать через единый личный кабинет: создавать задания, управлять операциями, отслеживать их состояние, контролировать баланс и получать результат без необходимости вручную взаимодействовать с каждым внутренним сервисом.
При этом система должна была обслуживать не только пользовательский интерфейс, но и большое количество фоновых процессов.
Основные задачи проекта:
— разработать личный кабинет пользователя;
— реализовать регистрацию, авторизацию и разграничение прав доступа;
— создать систему управления заданиями и их статусами; — автоматизировать выполнение длительных операций в фоне;
— реализовать финансовую логику, баланс и учёт операций;
— организовать хранение большого объёма связанных данных;
— создать очередь задач с автоматической обработкой и повторным запуском при ошибках;
— обеспечить обновление данных в интерфейсе в реальном времени;
— подключить внешние API и webhook-интеграции;
— реализовать внутренние административные инструменты;
— создать отдельный слой автоматизации для управления физическими Android-устройствами;
— обеспечить масштабирование проекта без необходимости полностью переписывать систему при росте количества пользователей и операций.
Отдельной задачей стало объединение web-приложения и физической инфраструктуры.
Часть операций выполнялась не только сервером, но и собственным парком Android-смартфонов. Поэтому система должна была распределять задания между устройствами, контролировать выполнение и возвращать результат обратно в основное приложение.
Архитектура была разделена на несколько независимых уровней.
Web-приложение
Основной backend разработан на PHP и Laravel.
Laravel отвечает за:
— бизнес-логику;
— работу с пользователями;
— задания и статусы;
— финансовые операции;
— API;
— права доступа;
— работу с базой данных;
— интеграции с внешними сервисами.
Пользовательский интерфейс разработан на Vue.js 3.
Для связи Laravel и Vue используется Inertia.js, благодаря чему приложение работает как современный SPA-интерфейс, при этом Laravel остаётся центральным framework проекта.
Для управления состоянием frontend используется Pinia, сборка выполняется через Vite.
База данных
Основное постоянное хранилище построено на MySQL 8.
В базе хранятся пользователи, задания, операции, финансовые данные, настройки и связанные бизнес-сущности.
Структура данных проектировалась с учётом большого количества связанных процессов и дальнейшего расширения функциональности.
Фоновые задачи
Операции, которые не должны выполняться непосредственно во время HTTP-запроса, вынесены в асинхронную обработку.
Используются:
Redis;
Laravel Queue;
Laravel Horizon.
Пользователь создаёт действие в интерфейсе, после чего приложение формирует job. Задание помещается в Redis и обрабатывается отдельным worker-процессом.
Это позволяет выполнять длительные операции независимо от пользовательского интерфейса и увеличивать количество workers при росте нагрузки.
Real-time
Для событий, которые необходимо оперативно отображать пользователю, используется WebSocket-инфраструктура.
WebSocket-сервер построен на Soketi.
Это позволяет обновлять отдельные состояния интерфейса без постоянного опроса backend.
Docker-инфраструктура
Сервисы проекта изолированы в Docker-контейнерах.
Отдельно работают application, Redis, queue workers, Horizon, WebSocket-сервис и остальные компоненты инфраструктуры.
Перед приложением используется Nginx.
Такой подход упрощает развертывание, обновление и перенос проекта между серверами.
API и интеграции
В проекте используется API-first подход для взаимодействия внутренних сервисов.
Реализованы REST API, webhooks, API keys, Bearer-аутентификация и интеграции с внешними сервисами.
За время развития системы подключались финансовые сервисы, Telegram, SMS, Bitrix24, карты, аналитика и внутренние сервисы автоматизации.
Android automation
Отдельный контур проекта отвечает за управление физическими Android-устройствами.
Для этого используются:
Python;
ADB — Android Debug Bridge;
LineageOS;
Magisk;
root-доступ;
Android shell;
собственные скрипты автоматизации.
Сервер может отправлять задания устройствам, запускать необходимые процессы и получать обратно результат выполнения.
В инфраструктуре одновременно использовалось до нескольких сотен физических Android-устройств.
Сетевая инфраструктура
Для Android-контура дополнительно была построена отдельная сеть.
Использовались MikroTik, Keenetic, proxy-серверы, VPN, ProxyDroid, iptables и маршрутизация отдельных устройств.
Это позволило независимо управлять сетевыми подключениями разных смартфонов.
В результате была создана не отдельная программа или сайт, а комплексная бизнес-платформа, объединяющая web-приложение, backend, базы данных, фоновые процессы, API и физическую Android-инфраструктуру.
Система использовалась в реальной коммерческой эксплуатации и обслуживала более 2 500 пользователей.
Ежедневно с платформой активно работали десятки и сотни пользователей.
Созданная архитектура позволила:
— объединить основные процессы в одном личном кабинете;
— значительно сократить количество ручных действий;
— автоматизировать обработку большого числа операций;
— выполнять длительные задачи асинхронно;
— масштабировать количество фоновых workers независимо от web-приложения;
— управлять большим пулом Android-устройств;
— централизованно контролировать выполнение заданий;
— быстро добавлять новые бизнес-процессы и интеграции;
— развивать систему в течение нескольких лет без полной смены архитектуры.
Проект стал для меня главным практическим кейсом построения бизнес-системы: от постановки задачи и проектирования бизнес-процессов до web-разработки, автоматизации, API-интеграций и серверной инфраструктуры.
![]()
Денис Макаров
Руководитель проекта
MPB TOP — наш собственный продукт, который развивался в реальной коммерческой эксплуатации несколько лет. Главным результатом стало создание единой платформы, которая объединила множество ранее ручных и разрозненных процессов: работу пользователей, задания, финансовую логику, фоновые операции, интеграции и автоматизацию физических Android-устройств. Архитектура проекта позволила постепенно добавлять новые функции и бизнес-процессы без необходимости каждый раз перестраивать всю систему. Для нас особенно важно, что техническое решение создавалось не ради самой разработки, а исходя из конкретных задач бизнеса: сокращения ручного труда, ускорения операций и возможности масштабирования.