1. システム概要

本システムは山形空港に到着する定期便を監視し、飛行機の動作状況を信号色(白・青・黄・赤)で可視化し、LINE通知によって関係者に共有する仕組みを提供する。
利用者はブラウザでフライト監視ページにアクセスし、運用者は管理ページから監視対象や稼働状態を制御する。


2. システム目的

  • 山形空港に到着する定期便とハンググライダーの活動の時間帯分離を支援
  • 監視対象便の動作状況を関係者にリアルタイムで共有
  • 接触事故の予防と安全運航の実現

3. システム構成

3.1 ハードウェア/ネットワーク構成

  • サーバ
    • Linux系ホスティングサーバ
    • PHP 8.x / MySQL 8.x
  • ネットワーク
    • FlightAware AeroAPI への外部HTTP(S)アクセス
    • LINE Messaging API への外部HTTP(S)アクセス
  • クライアント
    • PC/スマートフォンのWebブラウザ

3.2 構成図(簡略)

利用者PC/スマホ
    ↓ Webアクセス
Webサーバ (PHP, Apache/Nginx)
    ├─ index.php (PC版/SP版)
    ├─ admin.php (管理画面)
    ├─ update.php (監視/通知処理)
    ├─ disable_monitoring.php (日次リセット)
    └─ MySQL DB (flightsテーブル)

外部サービス
    ├─ FlightAware AeroAPI
    └─ LINE Messaging API

4. 機能仕様

4.1 利用者向け機能

  • フライト監視画面の表示(PC/SP自動切替)
  • 信号色による背景表示
    • 白:未出発または到着済み
    • 青:到着30分以上前
    • 黄:到着30分〜10分前
    • 赤:到着10分前〜着陸まで

4.2 運用者向け機能

  • 管理画面(admin.php)での操作
    • 監視ON/OFF切替
    • 監視対象便の編集
    • 現在の状態確認
  • 毎日0時に自動で監視OFF
  • 毎日早朝にdisable_monitoring.phpを実行し信号色をリセット

4.3 通知機能

  • update.phpにより色変化を検知
  • LINEグループへPUSH通知

5. データベース仕様

5.1 flightsテーブル

カラム名内容
identVARCHAR(20) PKフライト番号
origin_codeVARCHAR(10)出発空港コード
scheduled_outDATETIME定刻出発
scheduled_inDATETIME定刻到着
estimated_inDATETIME推定到着
actual_inDATETIME NULL実績到着
signal_colorENUMwhite / blue / yellow / red

6. 運用仕様

6.1 定期実行

  • cronにより update.php を実行
  • 実行間隔は自動調整(5分/10分/30分)

6.2 リセット処理

  • 0時:監視OFF
  • 朝:全便を白色にリセット

6.3 障害対応

  • update_debug.log で状況を確認
  • APIエラーやDB障害はログに出力

7. セキュリティ仕様

  • 管理画面はBasic認証で保護
  • config.php に認証情報を格納(適切なパーミッション設定)
  • APIキー・LINEアクセストークンは外部公開禁止

8. 今後の拡張案

  • Push通知先を複数設定可能にする
  • ユーザーごとのアラートカスタマイズ
  • APIレスポンスのキャッシュ強化
PAGE TOP