Клиент поставил задачу разработать современную CS2-платформу для открытия кейсов с полноценной внутренней экономикой, пользовательским профилем и административной частью
Основная цель проекта — создать не просто визуальный прототип, а рабочий web-продукт, готовый к дальнейшему подключению реальных платежей, Steam и вывода предметов через Market.CSGO
В рамках задачи требовалось реализовать каталог кейсов с индивидуальным оформлением, открытие от 1 до 10 кейсов одновременно, анимированную рулетку, live-ленту выпадений, внутренний баланс, инвентарь пользователя, продажу и вывод предметов, систему Upgrade, розыгрыши и промокоды
Отдельной задачей была разработка административной панели, через которую можно управлять кейсами, содержимым и шансами выпадения, каталогом скинов, рыночными и ручными ценами, пользователями, балансами, платежами, выводами, розыгрышами и системными настройками
Клиенту также было важно, чтобы интерфейс выглядел современно и эмоционально, хорошо работал на ПК, планшетах и смартфонах и визуально соответствовал тематике CS2
Еще одна цель — подготовить проект не только к демонстрации, но и к production-запуску: обеспечить безопасную работу балансов и игровых операций, автоматическое обновление рыночных цен, фоновые задачи, резервное копирование, мониторинг состояния системы и защиту административной части
В результате проект был доведен до рабочего production-состояния и развернут на отдельном сервере, а архитектура оставлена готовой для подключения боевых платежных и Steam/Market.CSGO интеграций после получения необходимых данных от заказчика
Для решения задачи я разработал проект как полноценное web-приложение с разделением frontend, backend, игровой логики, внутренней экономики и административной части
На backend использовал Laravel, на frontend — Vue 3 с TypeScript. Сначала спроектировал структуру данных: пользователей, кейсы, содержимое кейсов, скины, внутренний инвентарь, баланс, историю операций, апгрейды, розыгрыши, промокоды, платежи и выводы
Для каталога CS2-предметов была реализована интеграция с Market.CSGO. В базу импортировано около 9000 вариантов скинов с учетом состояния предметов, а рыночные цены обновляются автоматически по расписанию. При этом предусмотрена ручная цена из админ-панели, которая имеет приоритет над рыночной
Механика открытия кейсов реализована на серверной стороне. Пользователь может открывать до 10 кейсов одновременно, результат сохраняется в инвентарь, а движение баланса фиксируется отдельными финансовыми операциями. Добавлена анимированная рулетка, live-лента выпадений и история открытий
Отдельно реализовал систему Upgrade: пользователь выбирает предмет из своего инвентаря и более дорогую цель, после чего сервер рассчитывает вероятность с учетом стоимости обоих предметов. Результат и история попыток сохраняются в базе
Создал профиль пользователя с балансом, статистикой и инвентарем, возможностью продажи предметов, использования их в Upgrade и подготовленной логикой вывода через Steam Trade URL
Разработал административную панель, в которой можно:
— создавать и редактировать кейсы
— управлять содержимым и шансами выпадения
— включать и скрывать скины
— задавать ручные цены
— управлять пользователями и балансами
— работать с промокодами и розыгрышами
— контролировать платежи, выводы и системные настройки
— управлять отображаемым счетчиком онлайна
Большое внимание уделил интерфейсу: разработал темный неоновый визуальный стиль, карточки кейсов, интерактивные состояния, hover/glow-эффекты, плавные переходы и адаптивную версию для ПК, планшетов и смартфонов
Перед развертыванием проект прошел отдельный production-этап: настроил проверки TypeScript, ESLint и Prettier, production build, smoke/health checks, защиту критических финансовых операций, аудит действий, обязательную 2FA для администраторов и контроль актуальности рыночных цен
Для production сервер был настроен на Linux с Nginx, PHP-FPM, MariaDB, Laravel Queue и Scheduler. Также настроены автоматические резервные копии базы с контрольным восстановлением, фоновые обновления цен и мониторинг состояния приложения
В результате получился не статичный макет, а полноценная расширяемая CS2-платформа с пользовательской и административной частью, внутренней экономикой, игровыми механиками и подготовленной архитектурой для подключения боевых платежей, Steam API и Market.CSGO после получения production-доступов заказчика
В результате получилась полноценная рабочая CS2-платформа, а не демонстрационный макет
Проект включает пользовательскую часть, административную панель, внутреннюю экономику, игровые механики, систему управления контентом и production-инфраструктуру
Пользователь может авторизоваться, просматривать каталог кейсов, открывать до 10 кейсов одновременно, видеть анимацию рулетки и live-ленту выпадений, получать предметы во внутренний инвентарь, продавать их за внутренний баланс и использовать в системе Upgrade
Также реализованы профиль пользователя, история операций, розыгрыши, промокоды, управление Steam Trade URL и подготовленная логика вывода предметов через Market.CSGO
Администратор может самостоятельно управлять кейсами, шансами выпадения, содержимым кейсов, скинами, ценами, пользователями, балансами, розыгрышами, промокодами, платежами, выводами и системными параметрами без необходимости менять код проекта
В систему импортирован крупный каталог CS2-предметов, а цены обновляются автоматически. При этом предусмотрена возможность вручную задавать отображаемую цену через административную панель
Проект адаптирован под ПК, планшеты и смартфоны, имеет единый темный неоновый визуальный стиль, интерактивные элементы и анимации
Отдельно была выполнена production-подготовка: проект развернут на Linux-сервере, настроены Nginx, PHP-FPM, MariaDB, фоновые очереди, Scheduler, автоматические резервные копии, health-checks и контроль критических операций
На практике платформа может использоваться как основа полноценного коммерческого сервиса по открытию CS2-кейсов. Для запуска с реальными платежами и выводами остается подключить production-доступы платежного провайдера, Steam API и Market.CSGO, которые предоставляются владельцем проекта
Архитектура при этом уже подготовлена к дальнейшему развитию: можно добавлять новые кейсы, игровые режимы, платежные методы, интеграции, механику бонусов и другие функции без переработки проекта с нуля