このアプリケーションは晩ごはんの献立に迷った時に、チャット形式でおすすめのレシピを提案するアプリです。 一人暮らしの大学生や家事に忙しい主婦の方々が、短時間で美味しい晩ごはんを決定できるようサポートします。
- デモ動画URL: こちらからご覧ください
- Gemini APIを使ったチャット形式の対話:ユーザと対話しながら、おすすめの晩ごはんを提案。
- Rakuten Recipe APIでのレシピ提案:楽天レシピの豊富なメニューをもとにレシピを提供。
- フロントエンドデザイン:Chakra UIを使ったシンプルで使いやすいインターフェースを提供。開発日が節分だったので、鬼や豆などのアニメーションを提供。
-
React
- 概要:Facebookが開発したJavaScriptライブラリで、UI構築に特化。
- 選定理由:コンポーネントベースの設計により、再利用性が高く、動的で高速なSPA(Single Page Application)を構築できるため。
-
Vite
- 概要:次世代のフロントエンド開発ツールで、ビルドの高速化と効率的なホットリロードを提供。
- 選定理由:従来のビルドツール(Webpackなど)よりもビルド速度が圧倒的に速く、開発中のレスポンスの良さが向上するため。
-
Chakra UI
- 概要:React向けのモダンなUIコンポーネントライブラリで、レスポンシブデザインやテーマカスタマイズが簡単に利用可能。
- 選定理由:使いやすさ、デザインの一貫性、アクセシビリティの向上のために採用。
-
FastAPI
- 概要:Python製のWebフレームワークで、Swagger UIによる自動ドキュメント生成や、高速なAPI開発が可能。
- 選定理由:非同期処理をサポートしており、高速なパフォーマンスとAPI開発の効率化ができるため。
-
uvicorn
- 概要:Pythonの非同期Webサーバー。ASGI(Asynchronous Server Gateway Interface)に対応しており、一般的にFastAPIのサーバーとして利用。
- 選定理由:軽量かつシンプルで、FastAPIの高パフォーマンスを引き出すため。
-
Docker
- 概要:アプリケーションの実行環境をコンテナ化するツール。コンテナを使うことで、どの環境でも一貫した動作が保証される。
- 選定理由:今回は3人のチームで開発を行うので、開発環境を揃えるため。
-
GitHub
- 概要:分散型バージョン管理システム(Git)のリモートリポジトリサービス。コードの管理、共有、レビュー、デプロイが可能。
- 選定理由:チーム開発のためのコード管理、履歴の追跡、CI/CDの統合が容易に行えるため。
-
Gemini API
- 概要:会話形式でのユーザーインタラクションをサポートするAIチャットAPI。自然な言葉での対話を実現。
- 選定理由:ユーザと自然な会話を行い、柔軟に献立を提案できる機能を提供するため。
-
Rakuten Recipe API
- 概要:楽天が提供するレシピ情報API。豊富なレシピ情報を取得し、ユーザに最適な料理を提案することが可能。
- 選定理由:広範なレシピ情報と信頼性の高いデータを提供するため。
今回は3人でチーム開発を行い、主にバックエンドを担当した。フロントエンドとの連携を図る中で、conflictの発生や作業分担の難しさを実感した。しかし、チーム内でのコミュニケーションやルールの見直しを行うことで、効率的な開発ができるようになった。
- スライドURL: こちらからご覧ください