Kaito Startup Farm IDEA → REALITY
Kaito Wings
Kaito Wings Kaito Wings ITチーム

シティガイド - 地域観光プラットフォーム

シティガイド - 地域観光プラットフォーム

地域の観光スポット、ツアー、体験を一元管理し、旅行者に最適な観光プランを提案するプラットフォームを開発しました。高度な検索機能とレビューシステムにより、ユーザーが求める体験を簡単に見つけられます。

プロジェクト概要

  • 観光ツアー・体験の検索・予約プラットフォーム
  • ラベル・カテゴリによる高度な検索機能
  • レビュー・評価システム
  • リアルタイム在庫管理

依頼者の目指した目標と解決したい課題

地域の観光事業者は、それぞれが個別にWebサイトを運営しており、旅行者が情報を探すのに時間がかかっていました。また、予約システムもバラバラで、複数の体験を組み合わせて予約することが困難でした。観光情報を一元化し、ユーザーが簡単に検索・比較・予約できるプラットフォームが求められていました。

開発したシステムの特徴

このプラットフォームは、地域の観光ツアーや体験を集約し、統一された検索・予約体験を提供します。主な機能として:

  • 高度な検索機能:
    • キーワード検索
    • ラベル・カテゴリによるフィルタリング
    • エリア・価格帯での絞り込み
    • 検索結果サマリー表示
  • ツアー管理:
    • ツアー情報の登録・編集
    • カテゴリ・ラベル管理
    • 画像・動画のアップロード
    • 在庫・スケジュール管理
  • 予約システム:
    • リアルタイム在庫確認
    • 予約カレンダー
    • 決済処理
    • 予約確認メール自動送信
  • レビュー機能:
    • ユーザーレビュー・評価
    • 写真付きレビュー
    • 評価の集計・表示
  • 管理者機能:
    • ツアー承認・管理
    • ユーザー管理
    • 予約管理
    • 売上レポート

技術的背景

Ruby on Rails 7をベースに、HotwireスタックでSPA風の高速なユーザー体験を実現しています。Stimulus.jsによるインタラクティブな検索UI、Turboによる高速なページ遷移を採用しています。

検索機能は、データベースインデックスとN+1問題の最適化により、大量のツアーデータでも高速な検索レスポンスを維持しています。ラベルシステムはポリモーフィックな設計により、柔軟なカテゴリ分類を実現しています。

フロントエンドはBootstrap Sassでレスポンシブデザインを実装し、モバイル・タブレット・デスクトップすべてで最適な表示を提供します。esbuildによる高速なJavaScriptビルド、Sassによる効率的なスタイル管理を行っています。

テストはRSpecで包括的に実装され、CI/CDパイプラインで自動実行されます。GitHub Actionsによる自動デプロイメントで、品質を担保しながら迅速なリリースサイクルを実現しています。

解決された問題

このプラットフォームにより、旅行者は地域の観光情報を一箇所で検索・比較・予約できるようになりました。観光事業者側も、統一されたシステムで在庫管理や予約管理ができ、運営コストを削減できます。レビューシステムにより、質の高いサービスが可視化され、事業者の改善意欲も向上しました。

チーム構成

  • (KW) プロジェクトマネージャー
  • (KW) バックエンドエンジニア×2
  • (KW) フロントエンドエンジニア
  • UIデザイナー
  • QAエンジニア

(KW) はKaito Wingsが担当

プロジェクト期間

  • 要件定義・設計 - 2ヶ月
  • MVP開発 - 4ヶ月
  • 検索機能実装・最適化 - 2ヶ月
  • ベータテスト・改善 - 2ヶ月
  • 運用開始 - 継続中

システム構成

  • Ruby on Rails 7 / PostgreSQL
  • Hotwire (Turbo, Stimulus.js)
  • Bootstrap Sass
  • esbuild / Sass
  • RSpec / GitHub Actions
  • Docker / Docker Compose