Разработка мобильного приложения для event-индустрии
Event-приложение живёт в двух режимах: до события (афиша, покупка билетов, ожидание) и во время (расписание, навигация, нетворкинг). Технически это разные наборы требований, и распространённая ошибка — делать их одинаково. До события критична конверсия покупки. Во время — offline-first, скорость и real-time обновления расписания.
Покупка билетов
Экран события: описание, спикеры, программа, остаток мест, кнопка «Купить». Выбор типа билета (General, VIP, Online) → корзина → checkout. Для событий с ограниченными местами — счётчик в реальном времени через WebSocket или polling. Если за секунду до покупки места закончились — 409 Conflict, внятное сообщение.
Сезонный абонемент / многодневный фестиваль — один заказ на несколько дат. Групповая покупка: пользователь покупает 4 билета, указывает email каждого участника — каждый получает свой QR.
Платёжный флоу — критичен. Apple Pay и Google Pay для минимизации трений. Сохранённая карта для повторных покупок. Stripe, Checkout.com или региональный эквайер.
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 с фоновой синхронизацией при наличии сети.
Нетворкинг
Профиль участника: имя, компания, роль, фото, ссылки. Видимость — настраивается (все / только по запросу / скрыт).
«Найти людей рядом» — 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-обмен визитками и максимальная производительность живого расписания.
Процесс
Проектирование афиши и checkout → QR-система и приложение для волонтёров → расписание с offline-поддержкой → нетворкинг → интерактивность → тестирование на реальном событии (pilot run) → публикация.
Ориентиры по срокам
MVP (афиша, покупка билетов, QR-вход, расписание): 4–7 недель. Полноценное event-приложение с нетворкингом, live Q&A, Bluetooth proximity и мультиплатформенным сканером: 2–4 месяца. Стоимость — после анализа требований.







