アサーションCheckの分析APIに、PostgreSQLへのデータ保存機能を実装した。
これまでは、ユーザーが入力した内容をAmazon Bedrockで分析し、その結果をフロントエンドへ返すだけだった。
今回の実装により、認証済みユーザーの分析内容と分析結果をPostgreSQLに保存できるようになった。
また、保存処理にはDBトランザクションを採用し、途中でエラーが発生してもデータの整合性を維持できる構成にした。
Next.js
↓
POST /api/analysis
↓
JWT認証
↓
BedrockによるAI分析
↓
分析結果を返す
Next.js
↓
POST /api/analysis
↓
JWT認証
↓
入力内容のバリデーション
↓
Cognitoユーザーに対応するDBユーザーを取得
↓
BedrockによるAI分析
↓
PostgreSQLへ保存
│
├── records
│ ├── user_id
│ ├── situation
│ └── response
│
└── analysis_results
├── record_id
├── assertive_score
├── aggressive_score
├── non_assertive_score
├── feedback
└── improvement
↓
分析結果をNext.jsへ返す
分析結果を画面に表示するだけでなく、後から履歴として参照できる基盤が完成した。