BSS Meteo Widget

TYPO3-розширення · Інтеграція погодних даних · Production рішення

BSS Meteo Widget - це кастомне розширення для TYPO3 v13.4, яке інтегрує офіційні погодні дані MeteoSwiss у TYPO3-сайти за допомогою сучасної data-driven архітектури.

TYPO3 13 LTS PHP 8.2+ Scheduler & CLI Content Blocks JSON-кеш у файловій системі

Огляд

Проєкт реалізує погодний віджет з автоматичним завантаженням даних, структурованим кешуванням і гнучким frontend-відображенням через TYPO3 Content Blocks.

Реалізовано як окреме TYPO3-розширення, орієнтоване на довгострокову підтримку та роботу з реальними API.

Backend-архітектура та обробка даних

  • Спроєктовано та реалізовано конвеєр завантаження даних на базі TYPO3 Scheduler і CLI-команд.
  • Інтегровано офіційні API MeteoSwiss NOWCAST і FORECAST з підтримкою погодинних, багатогодинних і денних наборів даних.
  • Побудовано логіку парсингу та нормалізації для обробки неконсистентних часових міток, часткових даних і історичних перекриттів.
  • Реалізовано файлову стратегію кешування, оптимізовану для продуктивності та стабільності фронтенду.
/fileadmin/meteoswiss/{frequency}/{parameter}/{stationId}.json

Розширення TYPO3 та дизайн Content Blocks

  • Реалізовано як чисте TYPO3-розширення, повністю сумісне з TYPO3 13 LTS.
  • Frontend-інтеграція побудована на TYPO3 Content Blocks, що дозволяє редакторам налаштовувати станції та режими відображення без коду.
  • Чітке розділення відповідальностей між обробкою даних, конфігурацією та шаром представлення.
BSS Meteo Widget бекенд

Frontend-інтеграція

  • Відображення на базі Fluid із використанням попередньо згенерованих JSON-файлів.
  • Без прямих API-запитів із браузера, що забезпечує передбачувану продуктивність і коректне кешування.
  • Адаптивні макети, динамічні погодні символи та акуратна робота з ресурсами.

Надійність та продуктивність

  • Scheduler-задачі ідемпотентні та безпечні для повторного виконання.
  • Часові ряди зберігаються у файловій системі, щоб уникнути перевантаження БД.

Технологічний стек

  • CMS: TYPO3 13.4 (LTS)
  • Backend: PHP 8.2+, TYPO3 Scheduler, CLI
  • Frontend: Fluid Templates, JS, CSS
  • Дані: Офіційні API MeteoSwiss, обробка CSV, експорт JSON
  • Архітектура: Extension + Content Blocks
BSS Meteo Widget превʼю