Разработка торговой площадки CS (Магазин через ботов + P2P-Маркет)1. Общее описание проектаТребуется разработать веб-платформу для торговли внутриигровыми предметами (скинами) CS.Сайт должен сочетать два модуля:Магазин: Автоматическая покупка скинов пользователями из инвентаря собственных ботов сайта.P2P-Маркет: Торговля скинами напрямую между пользователями (Игрок -> Игрок) без участия ботов сайта, где платформа выступает гарантом сделки.2. Стек технологий (Рекомендуемый)Backend: Node.js (NestJS / Express) — приоритет из-за библиотек Steam.Frontend: React.js / Vue.js (SPA, адаптивный под mobile).Базы данных: PostgreSQL (основная БД), Redis (сессии, кэш цен, очереди трейдов).Протоколы: WebSockets (Socket.io) для обновления статусов сделок в реальном времени.3. Функциональные модули платформы3.1. Авторизация и профиль пользователяАвторизация исключительно через Steam OpenID.Личный кабинет:Баланс пользователя (ввод/вывод).Поле для ввода Steam Trade URL (обязательно для всех).Поле для ввода Steam API Key (обязательно только для продавцов в P2P).История покупок, продаж и финансовых транзакций.3.2. Модуль «Магазин» (Сайт -> Пользователь)Панель управления ботами: Система авторизации и менеджмента Steam-аккаунтов сайта (использование steam-user, steam-community, steam-trade-offer-manager). Настройка автоматического подтверждения 2FA через файлы shared_secret (SDA).Парсинг и ценообразование: Автоматическое обновление цен на скины в инвентарях ботов (интеграция с API сторонних площадок, например, CSGOBackpack или Steam Market). Наценка/скидка настраивается в админ-панели.Логика покупки: Пользователь платит балансом сайта -> Бот автоматически отправляет трейд в Steam -> Система шлет WebSocket-уведомление пользователю.3.3. Модуль «P2P-Маркет» (Игрок -> Игрок)Выставление на продажу: Продавец выбирает скин из своего инвентаря (парсится через API), выставляет свою цену. Скин появляется в каталоге P2P.Покупка (Escrow-система): Покупатель оплачивает товар -> Деньги списываются с его баланса и замораживаются (холд) на сайте.Процесс обмена:Продавцу дается 15 минут на отправку трейда. Сайт генерирует прямую ссылку на обмен.Сайт через Steam API Key продавца циклично проверяет статус созданного трейда.При переходе трейда в статус Executed (принят покупателем), замороженные деньги за вычетом комиссии сайта (например, 5%) зачисляются продавцу.Если продавец проигнорировал трейд — холд отменяется, деньги возвращаются покупателю, продавцу начисляется штрафной балл.3.4. Платежная системаИнтеграция агрегаторов для пополнения баланса (криптовалюты, карты).Модуль создания заявок на вывод средств (ручная или полуавтоматическая обработка администратором).3.5. Админ-панельСтатистика (оборот, прибыль, количество сделок, активные пользователи).Управление пользователями (бан, редактирование баланса, просмотр логов).Управление ботами (добавление новых ботов, просмотр их логов, инвентарей и статуса авторизации).Управление комиссиями площадки.4. Безопасность и защита от мошенничестваЗащита от API Scam (Подмена трейдов): Реализовать на фронтенде детальные инструкции для пользователей (сравнение даты регистрации аккаунта, уровня и ника контрагента перед принятием трейда в Steam).Валидация данных: Защита от подмены стоимости скинов при отправке запросов на покупку (все проверки цен и баланса строго на бэкенде).Хранение конфиденциальных данных (сессии ботов, API-ключи) в зашифрованном виде.5. Требования к исполнителюОпыт работы со Steam API и библиотеками node-steam-tradeoffer-manager (или аналогами на Python).Наличие портфолио в сфере Steam-площадок (маркеты, рулетки, кейсы) будет огромным плюсом.Чистый код с комментариями, готовность развернуть проект на нашем VPS/VDS сервере.6. Сроки и этапы оплаты (Примерные)Этап 1: Архитектура БД, авторизация и парсинг инвентарей.Этап 2: Модуль работы с ботами (Магазин) и логика отправки трейдов.Этап 3: Модуль P2P-сделок (работа с API-ключами, контроль статуса обмена).Этап 4: Интеграция платежных систем, админ-панель, фронтенд-верстка.Этап 5: Тестирование в тестовой сети Steam (Testnet/моковые аккаунты) и релиз.
Опубликован 07.06.2026 в 08:59