Организатор крупного фестиваля сталкивается с дилеммой: до события нужно максимизировать продажи билетов, а во время — обеспечить навигацию, нетворкинг и лайв-обновления для тысяч участников. Мы создаём event-приложения, которые работают в обоих режимах без компромиссов. Наш опыт включает проекты для конференций, музыкальных фестивалей и спортивных мероприятий — каждый со своей спецификой.
Event-приложение живёт в двух режимах: до события (афиша, покупка билетов, ожидание) и во время (расписание, навигация, нетворкинг). Технически это разные наборы требований, и распространённая ошибка — делать их одинаково. До события критична конверсия покупки. Во время — offline-first, скорость и real-time обновления расписания.
Покупка билетов
Экран события: описание, спикеры, программа, остаток мест, кнопка «Купить». Выбор типа билета (General, VIP, Online) → корзина → checkout. Для событий с ограниченными местами — счётчик в реальном времени через WebSocket или polling. Если за секунду до покупки места закончились — 409 Conflict, внятное сообщение.
Сезонный абонемент / многодневный фестиваль — один заказ на несколько дат. Групповая покупка: пользователь покупает 4 билета, указывает email каждого участника — каждый получает свой QR.
Платёжный флоу — критичен. Apple Pay и Google Pay для минимизации трений. Сохранённая карта для повторных покупок. Stripe, Checkout.com или региональный эквайер — конверсия повышается на 15–20%.
Почему real-time синхронизация расписания критична?
На фестивале расписание меняется каждые 10 минут: спикер заболел, сессия перенесена. Если приложение показывает устаревшие данные, участники теряют доверие. WebSocket-обновления и push-уведомления решают эту проблему. На клиенте мы используем scheduleSessions как Observable/Stream — при изменении данных UI перерисовывается без полной перезагрузки.
QR-регистрация при входе
QR-код билета: JWT с ticketId, eventId, userId, exp (экспирация). Подписан серверным ключом. При сканировании на входе: проверка подписи → проверка exp → отметка билета как использованного (redemption flag в БД).
Защита от передачи скриншота билета: анимированный QR (обновляется каждые 30 секунд с новым iat) — стандарт для крупных фестивалей. Без сети — принимаем последний загруженный код с проверкой offline-кэша использованных билетов на устройстве волонтёра.
Приложение для волонтёров-сканеров — отдельный target или отдельное приложение. Сканирование через AVFoundation / ML Kit. Звуковой и вибро-сигнал при успешном / ошибочном сканировании — важно в шумной толпе.
Расписание и программа
Многозальное расписание — горизонтальная ось времени, вертикальная — залы/сцены. UICollectionViewCompositionalLayout или кастомный Canvas. Пересекающиеся сессии отображаются параллельно.
Персонализированное расписание: пользователь отмечает «Хочу посетить» — сессии добавляются в личную программу. Конфликты («в 15:00 у вас два события одновременно») — предупреждение.
Real-time изменения: спикер заболел, сессия перенесена. WebSocket-обновление расписания, push-уведомление подписавшимся. На клиенте: scheduleSessions как Observ/Stream — при обновлении UI перерисовывается без reload.
Offline: расписание кэшируется при первой загрузке. На фестивале нет интернета у трети участников — приложение должно работать. Core Data / Room / Isar с фоновой синхронизацией при наличии сети.
Как обеспечить offline-работу на фестивале?
Офлайн-режим — базовая потребность для event-приложений. Мы кэшируем расписание, карту мероприятия и QR-билеты на устройстве. Синхронизация происходит в фоне: при появлении сети данные обновляются, а изменения конфликтов разрешаются через last-write-wins. Для нетворкинга используем Bluetooth proximity, который не требует интернета.
Нетворкинг
Профиль участника: имя, компания, роль, фото, ссылки. Видимость — настраивается (все / только по запросу / скрыт).
«Найти людей рядом» — Bluetooth proximity через CoreBluetooth (iOS) / Nearby Connections API (Android). Proximity-radius ~10 метров. При обнаружении другого участника с включённым нетворкингом — всплывающий banner «Рядом: Иван Петров, CTO в Acme Corp».
Визитка: NFC-обмен (NFCNDEFReaderSession iOS / NfcAdapter Android) — участники прикладывают телефоны, обмениваются профилями. QR-визитка как fallback.
Чат: личные сообщения между участниками, групповые каналы по темам. Stream Chat или SendBird — готовые SDK с push-уведомлениями.
Интерактивность для участников
Live Q&A: участники задают вопросы спикеру через приложение, голосуют за вопросы других. На экране организатора — список вопросов по рейтингу в реальном времени. WebSocket для синхронизации голосов.
Опросы: спикер запускает опрос → участники отвечают → результаты в реальном времени на слайде. Готовые решения (Mentimeter API) или кастомная реализация через WebSocket.
Стек и сравнение платформ
React Native — популярный выбор для event-приложений: кроссплатформа, быстрый старт, достаточная производительность для расписания и чатов. Zustand или Redux Toolkit для стейта расписания. react-native-vision-camera для QR-сканирования.
Flutter — аналогичный выбор, но с более высокой производительностью анимаций. Нативный Swift + Kotlin — если нужны Bluetooth proximity, NFC-обмен визитками и максимальная производительность живого расписания.
| Платформа | Производительность | Срок разработки | Сообщество |
|---|---|---|---|
| React Native | Высокая | Быстрый | Крупное |
| Flutter | Высокая | Средний | Растущее |
| Native (Swift/Kotlin) | Максимальная | Долгий | Зрелое |
Что включает разработка event-приложения?
| Компонент | Описание |
|---|---|
| Аналитика и UX | Интервью с организаторами, прототипирование |
| Фронтенд | iOS (Swift) + Android (Kotlin) или кроссплатформа |
| Бэкенд | Node.js / Go, PostgreSQL, Redis |
| Платежи | Apple Pay, Google Pay, Stripe / Checkout.com |
| QR-система | JWT, анимированные QR, офлайн-проверка |
| Публикация | App Store, Google Play, TestFlight |
| Тестирование | Пилотное мероприятие, нагрузочное |
| Документация | API docs, руководство для волонтёров |
Процесс работы
Проектирование афиши и checkout → QR-система и приложение для волонтёров → расписание с offline-поддержкой → нетворкинг → интерактивность → тестирование на реальном событии (pilot run) → публикация.
Ориентиры по срокам
MVP (афиша, покупка билетов, QR-вход, расписание): 4–7 недель. Полноценное event-приложение с нетворкингом, live Q&A, Bluetooth proximity и мультиплатформенным сканером: 2–4 месяца. Стоимость — после анализа требований.
Мы на рынке более 5 лет, реализовали 15+ event-приложений для конференций, фестивалей и спортивных событий. Закажите разработку event-приложения сегодня — мы предложим оптимальное решение. Свяжитесь с нами для предварительной оценки вашего проекта.







