关于 🌴 Travel Itinerary - FastAPI Project
基于 FastAPI 和 SQLAlchemy 的后端,用于创建和查看按天安排的旅行行程。它还可按旅行时长推荐行程,并预置了普吉岛和甲米的数据。
主要功能
- 01创建按天安排的行程
- 02浏览和查询已存行程
- 03按旅行时长推荐行程
- 04预置普吉岛和甲米数据
- 05提供 Swagger 和 ReDoc API 文档
适用场景
- 01构建旅行行程 API
- 02按旅行时长查找行程方案
- 03通过交互式 API 文档测试接口
MCP 相关
MCP 服务可根据旅行时长推荐行程。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🌴 旅行行程 - FastAPI 项目
这是一个使用 FastAPI 和 SQLAlchemy 管理旅行行程的后端系统,提供用于创建和查看行程的 RESTful API,以及一个根据旅行时长推荐行程的 MCP 服务。
🚀 在线演示
🌐 在线网址: 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
现在访问:http://127.0.0.1:8000/docs,打开 Swagger UI。
🧪 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
- 创建一个新的 Web 服务
- 连接你的 GitHub 仓库
- 将构建命令设置为:
pip install -r requirements.txt - 将启动命令设置为:
uvicorn app.main:app --host 0.0.0.0 --port 10000 - 将端口设置为
10000 - ✅ 部署并等待在线链接!
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。