Добавить в корзинуПозвонить
Найти в Дзене
ИРС - digital agency

Как собрать VK Mini App «по-взрослому»: монорепа и российские инструменты

Если вы делаете не просто тестовое мини-приложение, а серьёзный продукт внутри VK, рано или поздно столкнётесь с вопросами: Ответ: монорепозиторий. Расскажем, как мы это делаем — на российских сервисах и с максимальной автоматизацией. Эта статья — не для программистов-теоретиков, а для тех, кто уже сталкивался с болью поддержки, обновлений и масштабирования проектов внутри VK Mini Apps. 📦 Монорепа — это когда всё в одном месте. Приложения, библиотеки, стили, серверная часть, общие компоненты. Это удобно: Допустим, у вас есть два мини-приложения: одно для пользователей, другое — админка. У них разный интерфейс, но один и тот же стиль кнопок, один и тот же способ входа, одна и та же аналитика. Зачем дублировать это в двух разных проектах? В монорепе вы создаёте packages/shared-ui, и обе аппки его используют. У нас в проектах структура примерно такая: Это как один большой чемодан, в котором всё разложено по своим папкам. Внутри — чистота, логика и порядок. Не нужно прыгать по 10 репозит
Оглавление

Если вы делаете не просто тестовое мини-приложение, а серьёзный продукт внутри VK, рано или поздно столкнётесь с вопросами:

  • Как управлять несколькими мини-аппами сразу?
  • Как переиспользовать один и тот же код?
  • Как быстро выкатывать обновления?

Ответ: монорепозиторий. Расскажем, как мы это делаем — на российских сервисах и с максимальной автоматизацией. Эта статья — не для программистов-теоретиков, а для тех, кто уже сталкивался с болью поддержки, обновлений и масштабирования проектов внутри VK Mini Apps.

Что такое монорепа?

📦 Монорепа — это когда всё в одном месте. Приложения, библиотеки, стили, серверная часть, общие компоненты. Это удобно:

  • Один стиль и правила для всех;
  • Общие кнопки, шрифты, Bridge-функции;
  • Быстро добавлять новые мини-аппы;
  • Один скрипт — и всё собирается.

Допустим, у вас есть два мини-приложения: одно для пользователей, другое — админка. У них разный интерфейс, но один и тот же стиль кнопок, один и тот же способ входа, одна и та же аналитика. Зачем дублировать это в двух разных проектах? В монорепе вы создаёте packages/shared-ui, и обе аппки его используют.

Как мы это устроили

У нас в проектах структура примерно такая:

  • apps/ — сами мини-приложения (пользовательская часть, админка и т.п.);
  • packages/ — общие библиотеки: UI, аналитика, авторизация, VK Bridge;
  • backend/ — сервера: логика, API, хранение данных;
  • devops/ — скрипты для запуска, сборки, CI/CD.

Это как один большой чемодан, в котором всё разложено по своим папкам. Внутри — чистота, логика и порядок. Не нужно прыгать по 10 репозиториям, чтобы понять, как работает ваш проект.

Всё работает на российских хостингах и инструментах. Это значит:

  • нет зависимости от зарубежных сервисов;
  • нет риска потерять доступ к репозиториям или аналитике;
  • всё работает стабильно и предсказуемо.

Что используем:

🧰 Turborepo / NX — управляют сборками, всё быстро и удобно. Эти инструменты позволяют пересобирать только то, что изменилось, экономя время при каждом обновлении.

🐧 GitLab CE — наш CI/CD, всё под контролем, работает на локальном сервере. Мы настраиваем автоматическую проверку кода, сборку и выкладку в VK.

📦 Yandex Cloud / VK Cloud — хостинг, базы, аналитика. В Yandex Cloud удобно держать backend-сервисы и базы данных, а VK Cloud хорошо работает с VK Ads и авторизацией.

📊 ClickHouse — логирование и действия пользователей. Позволяет видеть, где пользователь «падает», что нажимает, сколько времени проводит в приложении.

🧠 PostgreSQL — база данных под капотом. Стабильное хранилище, которое легко масштабировать.

Почему это удобно

✅ Вы можете переиспользовать любой компонент. Один раз написали кнопку — и используете в трёх проектах.
✅ Одним скриптом собрать всё. Не нужно вручную запускать каждый сервис.
✅ Меньше ошибок — всё проверяется автоматически: стиль кода, баги, зависимости.
✅ Легко найти, кто что изменил. Git всё хранит, и всё это в одном месте.
✅ Быстро подключить новых разработчиков. Один проект — меньше барьеров на входе.

А ещё монорепа позволяет быстро адаптироваться под VK. Например, вышла новая версия VKUI — обновляете один пакет, и все приложения получают его автоматически. То же касается Bridge или аналитики.

Реальные плюсы для бизнеса

  • 💰 Снижение затрат на поддержку (одна библиотека на все мини-приложения);
  • 📈 Быстрее запуск новых функций (обновления доступны сразу везде);
  • 🧪 Упрощение тестирования (один pipeline для всего проекта);
  • 🤝 Ускорение коммуникации в команде (все смотрят в один репозиторий);
  • 🔐 Безопасность и надёжность (всё на российских хостингах, под контролем).

Вывод

Монорепа — это не только про разработку, это про скорость бизнеса. Если вы делаете VK Mini App надолго — стройте сразу в монорепе. Это проще поддерживать, проще масштабировать и дешевле в долгосрочной перспективе. Вы экономите время, нервы и деньги, потому что всё — под рукой.

Мы делаем мини-приложения под VK на базе российских инструментов. И монорепа — наш стандарт. Хотите стабильный и масштабируемый проект — стройте правильно с самого начала.