Štěpánka Monitor (VC)

Мониторинг загруженности аквацентра в реальном времени

https://mbsauna.sem63.net

Веб-приложение для отслеживания посещаемости сауны, бассейна и аттракционов Aquacentrum Štěpánka (Млада-Болеслав, Чехия). Собирает данные с сайта заведения, строит графики текущей и средней загруженности по часам и дням недели. Помогает посетителям выбрать оптимальное время для визита.


Какую проблему решает

Посетитель приходит в аквацентр и обнаруживает, что сауна переполнена, бассейн забит, а в аттракционах очереди. Обратная ситуация — заведение пустует утром и перегружено вечером. Штепанка Монитор показывает загруженность в реальном времени и сравнивает с историческими средними, позволяя спланировать визит в спокойные часы. Выигрывают обе стороны: посетитель получает комфорт, заведение — равномерную нагрузку.

Ключевые возможности

  • Графики загруженности за день и за неделю с двумя линиями: текущая vs средняя
  • Автоматический сбор данных каждые 14–26 минут (рандомизированный интервал)
  • Три зоны мониторинга: сауна, бассейн, водные аттракционы
  • Трёхъязычный интерфейс (чешский, русский, английский)
  • Уведомления об ошибках парсинга в Telegram
  • Контактная форма с Cloudflare Turnstile
  • Юридический дисклеймер со ссылками на директивы ЕС и решения суда

Технические достоинства

  • Работает без базы данных — все данные в JSON-файлах (минимальное потребление ресурсов)
  • Честный режим парсинга с идентификацией бота и ссылкой на дисклеймер
  • Рандомизированный интервал запросов (jitter) — минимальная нагрузка на источник (~72 запроса/день)
  • Нет cookies, нет аналитики, нет трекинга — полное соответствие GDPR
  • Тёмная тема, адаптивная вёрстка, мобильная оптимизация
  • SEO: hreflang, Open Graph, карта сайта, канонические URL
  • Защита служебных файлов через .htaccess и проверку CLI

Стек

PHP 7.1–8.4, Apache, cron, cURL, Chart.js, JSON (файловое хранение), Cloudflare Turnstile, Telegram Bot API,

stepanka
stepanka

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *