seichi-portal-frontend

August 1, 2026 · View on GitHub

このリポジトリは、Seichi Portalのフロントエンド実装です。

プロジェクトの目的やバックエンドなどの関連リポジトリについては、seichi-portalを参照してください。

API定義

Seichi Portalではフロントエンドとバックエンド間の通信に REST APIを使っています。API型定義は、seichi-portal-backenddocs/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

ライセンス

Apache Licence 2.0