Уже руки чешутся, ищу работу!

26.02.2026
Уже руки чешутся, ищу работу!

От компонентов до своего REST API в Docker: путь фронтенд-разработчика

Привет!
Это пост о том, как развивался мой стек — от UI-библиотек до собственного бэкенда на Node.js.

Коротко о позиции: Middle Frontend-разработчик (Vue.js / TypeScript), который сейчас плотно закапывается в Node.js и Fullstack.


Чем занимался последние 4 года

Работал в составе команды в домене онлайн-бронирования авиабилетов. Это та сфера, где интерфейс должен быть предсказуемым как швейцарские часы: данные летят пачками, календари цен рендерятся на лету, а пользователь не готов ждать ни секунды.

Стек в проекте: Vue 3, TypeScript, Pinia, Vue Router, Vite, SCSS, Vitest.

Что делали командой:

✈️ Основной продукт — система бронирования авиабилетов. Многошаговые формы, динамическая валидация, сложные цепочки запросов.

🎫 Постпродажка — личный кабинет клиента с обменом и возвратом билетов, докупкой дополнительных услуг (багаж, страховка, выбор мест).

⭐ Программа поощрения — лояльность для постоянных клиентов, начисление и списание бонусов.

Как распределялись роли:

UI-часть. Кто-то занимался компонентной базой: календари с выбором дат туда-обратно, автокомплиты аэропортов, таблицы с вариантами перелетов, модалки для возврата. Важно было заложить поддержку доступности (a11y) с самого начала — ARIA, полная навигация с клавиатуры, работа скринридеров.

Архитектура и состояние. Постепенно пришло понимание, как проектировать сторы на Pinia, чтобы они не превращались в кашу. Модели данных, управление сложными состояниями, динамическая валидация — это то, с чем приходилось работать постоянно.

Интеграции. Бэкенд на Bitrix (PHP) — история про интерсепторы, глобальную обработку ошибок, ретраи запросов и синхронизацию данных между SPA и CMS.

Что в итоге получилось сделать командой:

Модульная архитектура. Система спроектирована так, что новые фичи (например, страховки или программа лояльности) подключались как изолированные плагины — без конфликтов с ядром бронирования и друг с другом.

UI-библиотека для нескольких проектов. Типобезопасные компоненты на Vue 3 + TypeScript разъехались по смежным проектам компании. Разработка типовых экранов ускорилась примерно на 30%.

Оптимизация без фанатизма. Система кэширования запросов на уровне Pinia срезала повторные вызовы API на 40%. Виртуализация списков перелетов, ленивая загрузка маршрутов — это уже база.


Личный Research & Development

Последнее время захотелось копнуть глубже. Фронтенд — круто, но понимание всей вертикали продукта дает совсем другую насмотренность.

Что сделано в рамках личной практики:

📦 Развернул свой REST API на Node.js
Взял Express, поднял в облаке, упаковал в Docker. Простая история, но именно она дает понимание, как живут бэкенд-приложения вне браузера: порты, контейнеризация, окружения, логи.

🛢 Отдельная PostgreSQL с умным кэшированием
Завел отдельную БД в том же облаке. Но просто подключить драйвер — скучно. Написал свой слой работы с базой, где:

  • кэшируются часто повторяющиеся запросы;
  • инвалидация кэша происходит по уму;
  • можно посмотреть, что реально летит в БД, а что отдается из памяти.

Полезно хотя бы для того, чтобы на собеседованиях не отвевать "ну, там бэкендеры это делают", а понимать механику.

📚 Плотно изучаю Nuxt
Vue классный, но SSR открывает дорогу в проекты, где важен SEO и скорость первого экрана. Сейчас разбираюсь с Nuxt-модулями, серверными роутами и гидратацией.


Что в сухом остатке

Если по-человечески, то могу:

Помочь с архитектурой фронтенда. Чтобы через год проект не хотелось переписать с нуля, а новые фичи залетали без боли.

Сделать UI-систему, которой будет удобно пользоваться. Компоненты, доступность, производительность — это не просто слова из вакансии.

Понимать бэкенд. Не просто дергать API, а видеть картину целиком. Могу и на Node.js набросать прототип, и с БД помочь советом, и с бэкенд-командой говорить на одном языке.

Разобраться с легаси. Чужой код не пугает. Рефакторинг, оптимизация, поддержка зоопарка из фич — проходили.


Открыт к интересным предложениям и диалогам. Буду рад пообщаться!

Читать далее

26.02.2026

Обновление rest-pipeline-js до версии 1.2.5

Обновил rest-pipeline-js: теперь core, Vue и React вынесены в отдельные точки входа (rest-pipeline-js, rest-pipeline-js/vue, rest-pipeline-js/react) — сборки чище и без лишних зависимостей. В посте показал, что именно поменялось, как мигрировать импорты и привёл примеры для базового использования, Vue и React.

Метки
rest apipipelinevuereactjs
27.02.2026

macrulez.ru: переезд с «чистого» Vue на Nuxt и SSR

Переехал с «голого» Vue 3 и Vite на Nuxt с полноценным SSR для macrulez.ru — без переписывания проекта с нуля.

В посте показываю, как аккуратно натянуть Nuxt поверх существующей архитектуры, завести server API‑прокси, настроить метаданные и деплой через PM2.

Метки
VueNuxtSSRSEOрефактор
01.03.2026

Toolz - в помощь вебмастеру

Краткий обзор возможностей трёх инструментов на toolz.macrulez.ru — сжатие растровых картинок с разными кодеками и настройками, оптимизация SVG и конструктор CSS-градиентов. Что можно настроить, как смотреть результат и как обрабатывать файлы пачками.

Метки
toolzизображенияоптимизацияSVGградиентыCSS