Operation

アプリをどのように管理・運用すべきかをまとめます。

当日前 (準備期)

  1. マスターデータのインポート:
    • public/data/*.json にブース、イベント、バス運行、スポット情報を流し込みます。
    • booth.jsonとexhibitions.jsonは全てに連番のIDが振られていることを確認してください。
  2. QR コードの発行:
    • 一般ユーザー用 (トップページ: https://[your-domain]/app/) 。
    • Spot-QR用: 管理画面 (「スポットQR生成」タブ) から生成した、校内に貼る周辺検索用。
  3. Supabase 側データの初期化:
    • src/constants/custom.config.tsのCUSTOM_CONFIG.featuresにて必要な機能をtrue、そうでないものをfalseにします。
    • SQL/generate_full.tsを実行し、Supabase セットアップ用の SQL/Full.sqlを生成します。
    • SQL/Full.sql をSupabase SQL Editorで実行し、Supabaseのデータベースをセットアップします。
    • Optional: 投票機能がある場合
      • SQL/06_generate_votejson.sql をSupabase SQL Editorで実行し、出力されたJSON文字列をpublic/data/vote.jsonにコピー&ペーストします。

当日

管理画面 /admin からの更新

全体管理者はスマホまたは PC から以下の情報を更新します。

  • お知らせ: 連絡や全体告知を投稿します。
  • 落とし物: 写真をアップロード (Supabase Storage) し、名称と場所を登録します。
  • Q&A: 寄せられた質問に回答を追記します。

ブース情報の管理 /booth

各団体の責任者は、自身のスマホから以下の情報を随時更新します。

  • 混雑度: 「空き」「やや混雑」「混雑」の 3段階で更新します。
  • 在庫状況: 「在庫あり」「在庫少なめ」「品切れ」で更新します。

トラブル対応

  • データが更新されない: ブラウザの再読み込みを促してください。
  • 画像が表示されない: GitHub Pages のキャッシュが原因の場合があります。少し待つか、シークレットモードで確認してください。

終了後

  1. 結果の集計:
    • 投票結果などを Supabase Dashboard の Table Editor から CSV でエクスポートします。
  2. 課金の停止判断:
    • アクセスがなくなれば Supabase を Free プランに戻せますが、データのバックアップを必ず取ってください。