Что такое ЦЯМ для разработчиков?

Что такое ЦЯМ для разработчиков?, image #1

Кто лучше всех сможет рассказать о проекте? Правильно — его разработчик!

Чтобы узнать больше о ЦЯМ, мы пообщались с выпускником ИТМО GameDev, специалистом и разработчиком музея Евгением Курятовом!

Женя не только разработчик ЦЯМа, но и клуба «Ягодка»: еще в 2018 году с совместно с командой он создал сайт клуба — наш рабочий инструмент, где мы считаем баллы, ведем учет проектов и храним информацию о всех членах клуба.

🔻Женя, почему ты решил стать разработчиком-создателем проекта?

Мне всегда нравилось создавать небольшие, законченные и полезные проекты. Это всесторонне развивает вас как специалиста и приносит немало положительных эмоций, однако за последний год я совсем ни за что не брался. Разрабатывать pet-проекты «в стол» мне совсем не нравится — мало мотивации довести дело до конца, сильно бьёт по самолюбию неумение дизайнить, кажется, что красиво не получится, а некрасиво перфекционизм не позволит.
Около года назад в чате клуба «Ягодка» я увидел опрос, в котором предлагалось вместе заняться разными активностями, в том числе и созданием Цифрового Музея Ягодного, и я подумал — это мой шанс!

🔻Расскажи, на какой платформе, каким языком и инструментами пользовался при создании цифрового музея?

Для реализации логики работы музея, отображения информации о постройках, воспроизведения звуков и видео используется игровой движок Construct 3. Он позволяет быстро реализовать задуманные идеи благодаря своей простоте. Эта часть музея стала основой, вокруг которой мы создали остальные элементы. В результате получился HTML5-проект, требующий развёртывания. Так как у Ягодки сейчас всего один сервер, на котором уже развёрнут сайт нашего клуба при помощи Docker, музей мы также завернули в контейнер на базе образа сервера apache.
Однако ЦЯМ состоит не только из одного контейнера с сайтом. Он включает интеграцию различных сервисов, а страница с домиками объединяет их. Необходимо было интегрировать панорамы 360 и 3D-визуализации домиков, называемые «сплаты». Чтобы подключить их к музею, Саша разработал сервис splatserver, который по API предоставляет доступ к домикам. Этот сервис упаковывается в Docker-контейнер и размещается рядом с музеем.
Аналогичным образом через iframe подключаются панорамы 360 и Ягодная книга, но для них не разрабатывались собственные решения, а использовались готовые SaaS-решения.
Что такое ЦЯМ для разработчиков?, image #2
Чтобы объединить все сервисы и разместить их на одной виртуальной машине, мы установили nginx, который распределяет запросы между контейнерами. Кроме того, для автоматического сбора образов мы создали небольшой CI на Git Hub actions, который автоматически on-commit собирает необходимые образы. Но CD сделать не удалось из-за ограничений доступа к виртуальной машине.
Особое внимание уделяется системе сбора метрик, чтобы определить наиболее интересные разделы музея. Мы установили Firebase, и теперь знаем, что пользователям больше всего интересны столовая и ректорский дом.

🔻Что тебе показалось самым интересным при работе?

Мне, как DevOps-инженеру по профессии, было интересно окунуться непосредственно в разработку, с которой на работе я практически не сталкиваюсь.
Кроме того, мне, как я уже писал ранее, нравится проводить продукты от начала и до конца — от первой строчки кода до деплоя в продакшн, и в этот раз это было не менее интересно.
Что такое ЦЯМ для разработчиков?, image #3

🔻Что было самым сложным?

В какой-то момент мы оказались в точке, когда сайт музея весил полгигабайта, и я понял, что в таком состоянии мы превратимся в «убийц» мобильного трафика, а в самом «Ягодном» музей будет вообще невозможно посмотреть. Как обычно, самое сложное — это оптимизация.

🔻Что нового ты узнал?

Я познакомился поближе с настройкой nginx, впервые попробовал GitHub actions и GitHub registry, немного освоил оптимизацию фронтенда (больше не хочу этим заниматься). В целом считаю этот проект очень успешным с точки зрения образования. Многое сделано хорошо, многое можно было сделать ещё лучше:D. Я рад, что мы выпустили этот проект.

☺︎Подписывайтесь на телеграмм канал, скоро мы выпустим симулятор строительства «Ягодного»!

249 views·2 shares