Open5
晩ごはん提案アプリ作成ログ
概要
食材を選択し、その食材を用いた料理を提案してくれるアプリ
アプリで解決したいこと
彼女「今日何食べたい?」
私「なんでもいい」
彼女「🤬」
を解決したい
使いたいフレームワーク
- React
tailwindCSS- ChakraUI
使いたい技術
- ChatGPT ← 料理の提案
- Firebase ←AuthenticationとFireStoreを使いたい
選定理由
- 要件的にデータベースを0から作る必要がなさそうなので、簡単に使えるFireStore(1 GiBまで無料)を選択
- ChatGPTの呼び出し回数に制限があるため、FirebaseAuthenticationを使ってログインできるユーザーを限定したい
GitHubのリポジトリ
機能一覧
- ログイン・ログイン状態を保持
- 食材を選択できる
- 選択した食材を使ってChatGPTに料理を聞く
- 利用制限を超えないようにFireStoreでChatGPTの呼び出し回数を保持して制限をかける
- ChatGPTの結果を表示
TODOと優先順位
-
Reactプロジェクトを立てる済 -
ログイン画面の実装済 - Firebaseとの連携
- 食材を選択画面実装
- ChatGPTとの連携
- ChatGPTの結果を表示
それぞれの段階でテストがかけるといいな思っていたりする。
ログイン画面の実装完了
見た目はこんな感じ
食材選択画面の実装が完了
次は、Firebase Cloud Functionを使ってChatGPTを呼び出す
アプリとFirebase、ChatGPTの動作について
- アプリからCloud Functionへリクエストを投げる
- Cloud Functionはリクエストの内容に従い、ChatGPTへリクエストを投げる(認証情報も確認)<- ChatGPTの呼び出しに成功
- Cloud FunctionはChatGPTのレスポンスをFirestoreへ保存
- Cloud Functionはアプリへレスポンスを返却
- アプリはChatGPTの結果表示画面へ遷移する
- 遷移後、FirestoreからChatGPTの内容を受け取り描画