# project_zenko-sai
全国福利厚生共済会用のプロジェクト

## セミナー取得

Playwrightでセミナー検索画面を操作し、指定月の取得結果を `docs/json/YYYY-MM.json` に保存します。認証情報は環境変数または初回実行時の入力で渡し、リポジトリには保存しません。

```bash
python3 -m pip install -r requirements.txt
python3 -m playwright install chromium
export ZENKO_SAI_USERNAME='ログインID'
export ZENKO_SAI_PASSWORD='パスワード'
python3 tools/fetch_seminars.py 2027-09
```

初回実行後は `.seminar-storage-state.json` にログインセッションが保存されるため、次回からは環境変数なしで実行できます。セッションを共有したくない場合は `--storage-state /tmp/zenko-sai-state.json` を指定してください。

`--headed` を付けるとブラウザ画面を表示して動作確認できます。サイトの画面仕様が変わった場合は、`tools/fetch_seminars.py` の検索フォームセレクタを確認してください。

## CakePHPアプリケーション

依存関係をインストール後、DBマイグレーションを実行します。

```bash
cp config/app_local.example.php config/app_local.php
composer install
bin/cake migrations migrate
bin/cake seminars import docs/json/2027-09.json
```

LINE Webhook URLは次のエンドポイントです。

```text
https://あなたのドメイン/line/webhook
```

`LINE_CHANNEL_SECRET`、`LINE_CHANNEL_ACCESS_TOKEN`、`DB_*`は環境変数で設定してください。
