← Все проекты
РАЗБОР ПРОЕКТАВЕБ-ПРИЛОЖЕНИЕ

Юбилей — промо аптечной сети: виджет и личный кабинет

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

Vue 3TypeScriptFrontendShadow DOM
Роль
Фронтенд-разработчик
Сроки
2026, сентябрь — октябрь
Первый экран промо: предложение акции и кнопка загрузки чека

Задача

Встроить промо-страницу из Tilda в приложение и сделать к ней регистрацию чеков, победителей и личный кабинет с входом через аккаунт сети — так, чтобы всё работало и отдельным сайтом, и виджетом на чужой странице.

Что входит в решение

  • Две сборки из одного кода: обычный сайт и виджет — кастомный элемент в Shadow DOM, который встраивается одним скриптом и не пересекается со стилями страницы.
  • Промо-страница из Tilda: экспорт синхронизируется в репозиторий через API Tilda, её стили изолируются через @scope, кнопки страницы открывают окна приложения, а таблица победителей встроена прямо в её разметку.
  • Вход через аккаунт покупателя сети (SSO), без отдельной регистрации.
  • Регистрация чека: QR-код камерой, фото или ручной ввод.
  • Кабинет: история чеков со статусами и билетами в розыгрыши, призы с промокодами и копированием, уведомления о проверке чеков и выигрышах.
  • В виджете шрифты и SVG-спрайт работают внутри Shadow DOM, а модальные окна и блокировка прокрутки не выходят за его пределы.
  • Слой API на TanStack Query с кэшем запросов, контракт в OpenAPI и тесты API без браузера и бэкенда.

Коммерческий проект в команде: весь фронтенд сделал я, промо-страница собрана в Tilda. Скриншоты сняты с локальной сборки на тестовых данных, названия и логотипы сети и партнёров скрыты.

Следующий проект Праздник — промо аптечной сети: Tilda внутри Vue-приложенияВЕБ-ПРИЛОЖЕНИЕ