現代の大学生活のための、福利厚生の時間と情報ナビ(Welfare Time & Information for Modern Education)です。
大学の食堂やキッチンカーのスケジュール情報を自動収集し、APIとして公開・ホスティングするプロジェクトです。 PDFやWebサイトなど情報が散らばっているため、これらを統合して提供することを目的としています。 このプロジェクトは、以下の2つの主要なデータソースから情報を取得し、正規化して静的なJSON APIとして配信します。
- 学食スケジュール: PDF形式のメニュー表から情報を抽出する、
- キッチンカー: Webサイトからスケジュール情報をスクレイピングする。
- プロジェクト詳細ドキュメント (GEMINI.md): 命名規則、データパイプライン、ワークフロールールなどの詳細。
- APIリファレンス: 公開されているAPIエンドポイントの仕様。
- フロントエンド表示: 収集されたデータのブラウザ上での表示。
- 利用規約・ライセンス: プロジェクトのライセンス情報。
データは以下の手順で処理されます:
- Fetch: PDFやHTMLなどの生データを取得 (
scripts/fetch_*.py) - Parse/Scrape: 生データを解析し、正規化されたJSONに変換 (
scripts/parse_*.py,scripts/scrape_*.py) - Generate: 解析済みデータを統合し、
public/api/配下にエンドポイントファイルを生成 (scripts/generator.py)
詳細は GEMINI.md の Data Pipeline セクション を参照してください。
Python 3.x 環境が必要です。
pip install -r requirements.txt主要なスクリプトの使い方は各ファイルのヘルプを確認してください。
python scripts/generator.py --helpscripts/: データ収集・変換用Pythonスクリプトpublic/: ホスティングされる静的ファイル(APIエンドポイントを含む)data/,testdata/: 過去のデータやテスト用データhelp/: 利用者向けのヘルプ・ドキュメント