🌴 Travel Itinerary - FastAPI Project について
FastAPI と SQLAlchemy を使い、日ごとの旅行プランを作成・閲覧するバックエンドです。旅行日数に応じたプラン推薦機能があり、プーケットとクラビーのデータを収録しています。
主な機能
- 01日ごとの旅行プラン作成
- 02保存済みプランの閲覧と取得
- 03旅行日数に応じたプラン推薦
- 04プーケットとクラビーのデータ収録
- 05Swagger と ReDoc の API ドキュメント
活用シーン
- 01旅行プラン API の構築
- 02旅行日数に合うプランの検索
- 03対話型 API ドキュメントでのテスト
MCP 対応
MCP サーバーは旅行日数に応じてプランを推薦します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🌴 旅行の旅程 - FastAPI プロジェクト
FastAPI と SQLAlchemy を使用した、旅行の旅程を管理するバックエンドシステムです。旅程の作成・表示用の RESTful API と、旅行日数に基づいて旅程をおすすめする MCP サーバーを備えています。
🚀 ライブデモ
🌐 ライブ URL: https://travel-itinerary-fdwd.onrender.com/docs
🧰 技術スタック
- Python 3.11+
- FastAPI
- SQLAlchemy
- SQLite(開発用。PostgreSQL に切り替え可能)
- Uvicorn
- Render(デプロイ用)
- Pydantic(入力検証用)
📦 機能
- 日ごとの詳細を含む新しい旅程の作成
- 保存されたすべての旅程の表示
- 宿泊数に基づいて旅程をおすすめする MCP(最小コスト経路)サーバー
- タイの Phuket と Krabi の初期データ
- エンドポイントをテストできるインタラクティブな Swagger UI
📁 フォルダー構成
travel-itinerary-backend/
│
├── app/ # Main application package
│ ├── __init__.py # Makes the app a Python package
│ ├── main.py # Entry point of FastAPI app
│ ├── models.py # SQLAlchemy models
│ ├── database.py # DB connection setup
│ ├── schemas.py # Pydantic schemas for validation
│ ├── seed_data.py # Predefined itinerary data
│ └── routes/ # API route definitions
│ ├── itineraries.py # CRUD routes for itineraries
│
├── requirements.txt # Project dependencies
├── README.md # Project documentation
├── .gitignore # Files to ignore in Git
└── start.sh # (Optional) Start script for deployment
⚙️ 機能
- ✅ ホテル、送迎、エクスカーションのデータを含む旅行の旅程を作成
- ✅ 2~8泊の期間に応じたおすすめの旅程を取得
- ✅ FastAPI、SQLAlchemy、SQLite を使用したモジュール式コード
- ✅ Swagger および ReDoc の API ドキュメントを自動生成
- ✅ Render を使用してライブ環境にデプロイ済み
🚀 はじめに
📦 1. リポジトリをクローンする
git clone https://github.com/ThasnimaShereef/Travel-Itinerary.git
cd Travel-Itinerary
🧪 2. 仮想環境を作成する
python -m venv venv
# For Windows:
venv\Scripts\activate
# For macOS/Linux:
source venv/bin/activate
📥 3. 依存関係をインストールする
pip install -r requirements.txt
▶️ 4. 開発サーバーを起動する
uvicorn app.main:app --reload
Swagger UI は http://127.0.0.1:8000/docs で確認できます。
🧪 API エンドポイント
| メソッド | エンドポイント | 説明 |
|---|---|---|
| POST | /itineraries/ | 新しい旅程を作成する |
| GET | /itineraries/ | すべての旅程を取得する |
| GET | /itineraries/{id} | ID で旅程を取得する |
| GET | /recommendations/{duration} | 期間に応じたおすすめの旅程を取得する |
📸 スクリーンショット
📘 Swagger UI
🔍 GET /itenararies の旅程 JSON レスポンス - すべての旅程
🔍 GET /itenararies/{id} の旅程 JSON レスポンス - ID に基づく旅程
🔍 POST /itenararies の旅程 JSON レスポンス - 新しい旅程の作成
🔍 GET /recommendations{duration} の旅程 JSON レスポンス - 期間に基づく旅程のおすすめ
🌍 Render へのデプロイ
🔁 1. GitHub にプッシュする
git init
git remote add origin https://github.com/ThasnimaShereef/Travel-Itinerary.git
git add .
git commit -m "Initial backend commit"
git push -u origin main --force
🚀 2. Render 経由でデプロイする
- https://render.com にアクセスします
- New Web Service を作成します
- GitHub リポジトリを接続します
- Build Command に次を設定します:
pip install -r requirements.txt - Start Command に次を設定します:
uvicorn app.main:app --host 0.0.0.0 --port 10000 - Port を
10000に設定します - ✅ デプロイして、ライブリンクが表示されるまで待ちます!
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。