Classic Reload — крупная браузерная платформа с коллекцией классических компьютерных игр.
Игры запускаются прямо в браузере через несколько различных эмуляторов, благодаря чему пользователи могут играть без установки дополнительного программного обеспечения.
Проект уже существовал много лет и активно развивался предыдущими разработчиками. Со временем архитектура стала сложной, а большое количество точечных изменений превратилось в классический legacy-проект.
Клиент не планировал дорогостоящую разработку новой платформы. Требовалась команда, которая сможет аккуратно дорабатывать существующую систему, не нарушая её работу.
Сопровождение старых проектов требует другого подхода, чем создание сайта с нуля.
В подобных системах почти каждое изменение связано с техническим долгом, устаревшими библиотеками и большим количеством взаимозависимостей.
В случае Classic Reload ситуация осложнялась сразу несколькими факторами:
Любая доработка могла затронуть сразу несколько подсистем.
Перед началом работ клиент поставил несколько практических задач:
Дополнительно мы провели технический аудит и оценили риски использования устаревшей версии Drupal.
Полностью менять архитектуру проекта клиент не планировал. Поэтому мы использовали более рациональный подход. Новый дизайн был интегрирован поверх существующей темы без вмешательства в ядро системы. Это позволило:
Раньше пользователь одновременно видел:
Одной из основных проблем была страница запуска игры.
Мы полностью переработали сценарий запуска. Теперь пользователь сначала открывает карточку игры, после чего переходит на отдельную страницу с эмулятором. На странице запуска осталось минимальное количество рекламы, а игровое окно стало значительно больше.
В результате улучшились:

Несмотря на завершение официальной поддержки Drupal 7, клиент продолжал использовать эту CMS. Мы не стали навязывать дорогостоящую миграцию. Вместо этого сосредоточились на безопасной эксплуатации существующей системы.
В рамках сопровождения проекта мы:

В результате проекта удалось существенно улучшить существующую платформу без капитальной переработки системы.
Клиент получил:
В рамках проекта наша команда выполнила:
Не каждый проект требует полной разработки с нуля. Во многих случаях грамотная техническая поддержка позволяет значительно продлить срок службы продукта, улучшить пользовательский опыт и подготовить систему к дальнейшей модернизации. Мы регулярно работаем с проектами, которые уже находятся в эксплуатации, выполняем аудит архитектуры, развиваем существующий функционал и помогаем бизнесу постепенно модернизировать сложные legacy-системы без остановки работы сервиса.