お問い合わせ管理システム Wiki
この Wiki は、20260424test リポジトリに含まれるお問い合わせ管理システムの実装・運用構成を整理した技術ドキュメントです。
フロントエンド、API、認証、DB、CI/CD の各レイヤーを横断して、現在の構成と依存関係を追えるようにまとめています。
システム概要
本システムは、Amazon Cognito で認証したユーザーが、お問い合わせを作成・閲覧できる静的フロントエンド + サーバーレス API 構成です。
| レイヤー | 主な実装 | 役割 |
|---|---|---|
| フロントエンド | Next.js 15 / React 19 / TypeScript / Tailwind CSS | ログイン、マイページ、お問い合わせ一覧・登録画面を提供 |
| API | AWS Lambda (Rust) / API Gateway HTTP API | Cognito JWT を検証し、お問い合わせ一覧取得・登録 API を提供 |
| 認証 | Amazon Cognito User Pool | メールアドレスベースのサインインと ID トークン発行 |
| DB | Amazon Aurora DSQL / Liquibase / SeaORM | お問い合わせデータと将来拡張用ユーザーテーブルを管理 |
| 配信・運用 | GitHub Actions / AWS SAM / S3 / CloudFront | 各レイヤーの検証、デプロイ、ドキュメント公開を自動化 |
利用フロー
- ユーザーはトップページで Amplify Authenticator を使って Cognito にサインインします。
- サインイン後、静的エクスポートされた
/mypage/index.htmlに遷移します。 - お問い合わせ一覧画面では Cognito の ID トークンを
Authorizationヘッダーに付与してGET /inquiriesを呼び出します。 - 新規登録画面では同じトークンを付与して
POST /inquiriesを呼び出します。 - API は Cognito Authorizer を通過したリクエストから
emailクレームを取り出し、Aurora DSQL 上のinquiriesテーブルを操作します。
ドキュメントの読み方
- API: Lambda 実装、HTTP エンドポイント、レスポンス、環境変数
- フロントエンド: 画面構成、認証連携、静的配信方式
- 認証: Cognito User Pool / App Client の構成と他レイヤーへの受け渡し
- DB: Aurora DSQL、Liquibase、SeaORM の関係
- DB スキーマと ORM: テーブル、インデックス、生成エンティティの対応
- CI/CD: GitHub Actions の全体像とデプロイ順序
- ワークフロー詳細: 各 workflow のトリガー、ジョブ、注意点
自動生成ドキュメント
関連
- ドキュメントサイト自体の配信は
document/template.yamlとdocument_cicd.yamlで管理されています。 - Wiki 更新専用の自動化は CI/CD の
update-wiki.ymlを参照してください。