← НАЗАД
PWA для бронирования очередей на границе и трансферов
Сайт

PWA для бронирования очередей на границе и трансферов

Тип
Сайт
Стек
Next.js 16 (App Router), TypeScript, Tailwind CSS 4, Prisma 6, PostgreSQL, JWT / jose, Telegram-бот, Web Push, PWA, HLS-трансляция, Docker + Caddy

Веб-приложение Estonia-Transfer для двух услуг сразу: бронирование очереди на границе РФ↔ЕС (когда человек занимает очередь за клиента) и трансферы между городами — Таллинн ↔ Нарва, Ивангород ↔ Санкт-Петербург, Койдула ↔ Печоры. Главный принцип продукта — максимальная простота для клиента, среди которых пожилые люди и туристы: заявка оформляется без регистрации за минуту (маршрут или пункт пропуска, дата, число человек, имя и телефон), а статус потом отслеживается по короткому коду, тоже без входа. Внутри — воронка из шести статусов с подсобытиями «занял очередь» и «клиент, подъезжайте»; каждый переход пишется в журнал событий, чтобы спорные ситуации разбирались по фактам, а не по памяти. Распределение заявок сознательно гибридное: алгоритм предлагает свободного исполнителя на смене, а менеджер подтверждает или переназначает руками — обязательной автоматизации минимум, всё критичное менеджер может сделать через Telegram-бот. На главной странице стоит прямая трансляция с пограничной камеры: RTSP-поток релеится в HLS и играется встроенным плеером, чтобы человек видел реальную обстановку перед бронированием. Приложение ставится на телефон как PWA — иконка, офлайн-заглушка, push-уведомления о смене статуса. Интерфейс двуязычный, русский и английский, с первого дня. Стек: Next.js 16 на App Router и TypeScript, Tailwind CSS 4, Prisma 6 поверх PostgreSQL, сессии персонала на JWT через jose, роли менеджера, исполнителя, администратора и владельца. Деплой — Docker на VPS за Caddy с автоматическим HTTPS. Оплата наличными на месте: онлайн-эквайринга в MVP нет намеренно.

Мы используем файлы cookie и Яндекс.Метрику, чтобы сайт работал и чтобы понимать, какие страницы полезны. Подробности — в политике обработки данных.