seichi-portal-frontend
August 1, 2026 · View on GitHub
このリポジトリは、Seichi Portalのフロントエンド実装です。
プロジェクトの目的やバックエンドなどの関連リポジトリについては、seichi-portalを参照してください。
API定義
Seichi Portalではフロントエンドとバックエンド間の通信に REST APIを使っています。API型定義は、seichi-portal-backend の docs/openapi.json から生成します。
pnpm codegen
通常は backend の main ブランチで管理される OpenAPI スキーマを使います。ローカル backend や別ブランチのスキーマで一時的に生成したい場合は、OPENAPI_URL を指定してください。
OPENAPI_URL=http://localhost:9000/api-docs/openapi.json pnpm codegen
生成物の整合性チェック
src/generated/ が backend main の OpenAPI スキーマと一致しているかは、CI(OpenAPI codegen check ジョブ)で pnpm codegen:check により自動検証されます。ローカルでも同じコマンドで確認できます。
pnpm codegen:check
backend 側でスキーマが更新されると、このチェックは生成物が再生成されるまで失敗します。その場合は pnpm codegen を実行して src/generated/ の差分をコミットしてください。
開発環境とミドルウェア
CONTRIBUTING.mdを参照してください。
認証・認可
- 保護ルートの認証確認は server 側で行います。
/adminを含む保護ルートは、backend に到達できない場合もfail-closedで閉じます。- middleware (
src/proxy.ts) は軽量な入口判定だけを担い、厳密な user / role 判定は App Router の layout/page 側で行います。
テスト
- 単体テスト:
pnpm test:unit - E2E テスト:
pnpm test:e2e - まとめて実行:
pnpm test