このアプリケーションは,初対面の相手とうまく会話をするために利用するものです.相手のアカウントにある情報と自分のアカウントにある情報をもとにして Gemini が質問を考えてくれます.
- 池田 陽人
- 栫 大耀
- 當山 史華
- 平野 健汰
- ユーザー登録,ログイン・ログアウト機能
- アカウント検索機能
- トークデッキ表示機能
- フォロー機能
- 履歴機能
- Laravel Sail
- MySQL
- Gemini API
- ログインする(ユーザー登録する)
- ユーザー検索を行う(相手のアカウント名を聞く)
- 選択するボタンを押す
- トークデッキができるので相手との会話をする
sequenceDiagram
actor ユーザー
participant ブラウザ
participant サーバー
participant データベース
participant Gemini API
ユーザー->>+ブラウザ: ユーザーid, アカウント名, 自己紹介, パスワード, 確認パスワード入力
ブラウザ->>+サーバー: ユーザーid, アカウント名, 自己紹介, パスワード, 確認パスワード入力
サーバー->>+データベース:パスワードをハッシュ化し送信内容をuserテーブルに挿入
データベース->>-サーバー:挿入完了を送信
alt 照合に成功
サーバー->>ブラウザ: ユーザーにログイン許可,Dashboard画面を送信
ブラウザ->>ユーザー: ログイン,Dashboard画面表示
else 照合に失敗
サーバー->>-ブラウザ: エラー表示と入力パスワードを空欄にして,登録画面を送信
ブラウザ->>-ユーザー: 再度登録画面を表示
end
ユーザー->>+ブラウザ: email, パスワードを入力
ブラウザ->>+サーバー: 入力内容を送信
サーバー->>+データベース: 入力内容を送信
データベース->>-サーバー: 結果送信
alt 照合に成功
サーバー->>ブラウザ: ログイン成功
ブラウザ->>ユーザー: ダッシュボード画面を表示
else 照合に失敗
サーバー->>-ブラウザ: エラーメッセージを追加したログイン画面を送信
ブラウザ->>-ユーザー: メッセージが追加されたログイン画面を表示
end
ユーザー->>+ブラウザ: アカウント名を検索フォームに入力
ブラウザ->>+サーバー: 入力内容を送信
サーバー->>+データベース: データ送信を申請
データベース->>-サーバー: データを送信
サーバー->>-ブラウザ: ユーザーを絞り込み
ブラウザ->>-ユーザー: 絞り込んだユーザーを表示
ユーザー->>+ブラウザ: マイページでフォロー数,フォロワー数をクリック
ブラウザ->>+サーバー: ユーザーidを送信
サーバー->>+データベース: userテーブルから対応するアカウント名を申請
データベース->>サーバー: アカウント名を送信
サーバー->>ブラウザ: フォロー,フォロワー確認画面を送信
ブラウザ->>ユーザー: フォロー,フォロワー確認画面を表示
ユーザー->>ブラウザ: ユーザー検索画面,フォロー,フォロワー確認画面からアカウント名をクリック
ブラウザ->>サーバー: 選択したアカウント名に対応するidを送信
サーバー->>ブラウザ: idに対応するマイページを送信
ブラウザ->>ユーザー: マイページを表示
alt フォローする
ユーザー->>ブラウザ: フォローボタンをクリック
ブラウザ->>サーバー: 選択したアカウントidを送信
サーバー->>データベース: followテーブルに登録
データベース->>サーバー: 登録完了したことを送信
サーバー->>ブラウザ: フォローボタンをフォローをやめるボタンに変更した画面を送信
ブラウザ->>ユーザー: 変更した画面を再度表示
else フォローをやめる
ユーザー->>ブラウザ: フォローをやめるボタンをクリック
ブラウザ->>サーバー: 選択したアカウントidを送信
サーバー->>データベース: followテーブルから削除
データベース->>-サーバー: 削除完了したことを送信
サーバー->>-ブラウザ: フォローをやめるボタンをフォローボタンに変更した画面を送信
ブラウザ->>-ユーザー: 変更した画面を再度表示
end
ユーザー->>+ブラウザ: アカウント名を選択
ブラウザ->>+サーバー: 選択されたアカウントのuser_idを送信
サーバー->>+データベース: データ送信を申請
データベース->>-サーバー: 自己紹介を送信
サーバー->>+Gemini API: リクエスト送信
Gemini API->>-サーバー: レスポンス送信
サーバー->>-ブラウザ: 自己紹介を送信
ブラウザ->>-ユーザー: 自己紹介を表示
ユーザー->>+ブラウザ: 保存ボタンを選択
ブラウザ->>+サーバー: 保存リクエスト
サーバー->>+データベース: 履歴を保存
データベース->>-サーバー: 履歴内容を送信
サーバー->>-ブラウザ: データ表示
ブラウザ->>-ユーザー: 履歴を表示
ユーザー->>+ブラウザ: ログアウトボタンを押下
ブラウザ->>+サーバー: セッションをリセット
サーバー->>-ブラウザ: 初期画面に遷移
ブラウザ->>-ユーザー: ログアウト