1. 全体アーキテクチャ(レイヤー構成)
ユーザーリクエストは上から下へ流れる。ルートガードが認証を検証し、サービス層を経由して Firebase / GAS にアクセスする。
2. 注文フロー(OrderPage.tsx)
3. 認証フロー(招待制登録)
4. Firestore コレクション構成
5. 管理者ダッシュボード(5タブ構成)
6. メール送信の二重構成
GAS経由(Gmail)は定時トリガーによるリマインダー送信が主用途。Cloudflare Workers経由は本番環境のメインメール送信経路。
7. 状態管理(シンプル構成)
グローバル状態
AuthContext
user / firebaseUser / loading
login() / logout() / register()
ページ固有状態
useState + useEffect
各ページのローカルデータ管理。グローバルストアなし(シンプル設計)。
リアルタイム更新
Firestore onSnapshot
注文・メニュー・スケジュールの変更を即時反映。設定は localStorage + Firestore settings/app で管理者間共有。