RoRを使い作成したレビュー分析アプリケーション
概要
Esthe Searchは、エステサロンの検索とレビュー分析に特化したWebアプリケーションです。Google Places APIとHotpepper APIを統合し、ユーザーは豊富なサロン情報にアクセスできます。さらに、AI(DeepSeek)が口コミを自動で分析し、要約する画期的な機能を実装しました。これにより、多くのレビューの中から重要な情報を効率的に見つけ出すことができます。
本番環境
Heroku + お名前ドットコム独自ドメイン
URL
主な機能と特徴
1. エステサロン検索
Google Places APIとHotpepper APIから取得した最新のサロン情報を、ユーザーフレンドリーなUIで表示します。
2. AIによるレビュー分析
DeepSeek AIを活用し、口コミの内容を分析・要約することで、サロンの特徴や評価ポイントが一目でわかります。
3. ユーザー機能
Deviseによる安全な認証システムを実装し、ユーザーはお気に入り登録やコメント投稿が可能です。
4. レスポンシブデザイン
スマートフォンやタブレットでの閲覧にも対応したレスポンシブなデザインで、どんなデバイスからでも快適に利用できます。
技術スタック
バックエンド
- 言語: Ruby 3.1.2
- フレームワーク: Ruby on Rails 7.1.5
- データベース: PostgreSQL (本番), SQLite3 (開発/テスト)
- 認証: Devise
- API連携: Faraday, HTTParty
フロントエンド
- 技術: JavaScript (Stimulus/Hotwire)
- スタイル: Sprockets (Rails Asset Pipeline), Bootstrap
外部API
- Google Places API: サロン情報およびレビューの取得
- Hotpepper API: サロン情報の補完
- DeepSeek API: AIによるレビュー分析
インフラ・デプロイ
- ホスティング: Heroku
- コンテナ: Docker
- ドメイン: お名前ドットコム
アーキテクチャ
本アプリケーションはサービス層を設けることで、各APIとの連携を疎結合に保っています。
- ShopApiService: Google Places APIとの連携を管理
- HotpepperService: Hotpepper APIとの連携を管理
- DeepseekApiService: AI分析機能を提供
開発プロセス
本プロジェクトは、検索機能、API連携、AI分析機能、ユーザー認証といった主要機能を段階的に実装しました。DockerやHerokuを用いたスムーズな開発・デプロイ環境を構築し、テストにはCapybaraとSelenium WebDriverを活用して品質を確保しました。
学びと今後の展望
このプロジェクトを通じて、複数の外部APIを連携させる複雑な開発や、AIを活用した機能の実装、そして本番環境へのデプロイについて深く学びました。今後は、さらにユーザーインターフェースを洗練させ、レビューのスコアリング機能や画像投稿機能などを追加していきたいと考えています。
このプロジェクトに関する詳細な質問や、ご意見がございましたらお気軽にお問い合わせください。