🌴 旅行行程管理系统 - FastAPI 项目
这是一个使用 FastAPI 和 SQLAlchemy 构建的后端系统,用于管理旅行行程。项目提供了 RESTful API 来创建和查看行程,并包含一个 MCP(Minimum Cost Path)服务器,用于根据旅行时长推荐行程。
🚀 在线演示
🧰 技术栈
- Python 3.11+
- FastAPI
- SQLAlchemy
- SQLite(用于开发;可切换至 PostgreSQL)
- Uvicorn
- Render(用于部署)
- Pydantic(用于输入验证)
📦 功能特性
- 创建包含每日详细安排的旅行行程
- 查看所有存储的行程
- MCP(Minimum Cost Path)服务器,根据旅行天数推荐行程
- 预置了泰国 普吉岛 和 甲米 的行程数据
- 提供交互式 Swagger UI 用于测试 API 接口
📁 项目结构
⚙️ 功能亮点
- ✅ 创建包含酒店、交通和游览信息的旅行行程
- ✅ 获取 2 至 8 天行程的推荐方案
- ✅ 基于 FastAPI、SQLAlchemy 和 SQLite 的模块化代码
- ✅ 自动生成的 Swagger 和 ReDoc API 文档
- ✅ 使用 Render 进行在线部署
🚀 快速开始
📦 1. 克隆项目仓库
🧪 2. 创建虚拟环境
📥 3. 安装依赖
▶️ 4. 启动开发服务器
🧪 API 接口
方法 | 端点 | 描述 |
POST | /itineraries/ | 创建新行程 |
GET | /itineraries/ | 获取所有行程 |
GET | /itineraries/{id} | 根据 ID 获取行程 |
GET | /recommendations/{duration} | 根据旅行天数获取推荐行程 |
📸 截图
📘 Swagger UI
!Swagger UI
🔍 获取所有行程的 JSON 响应示例
!获取所有行程
🔍 根据 ID 获取行程的 JSON 响应示例
!根据 ID 获取行程
🔍 创建新行程的 JSON 响应示例
!创建新行程
🔍 根据旅行天数获取推荐行程的 JSON 响应示例
!推荐行程
🌍 在 Render 上部署
🔁 1. 推送代码到 GitHub
🚀 2. 通过 Render 部署
- 创建一个 新的 Web 服务
- 连接你的 GitHub 仓库
- 设置 构建命令 为:
- 设置 启动命令 为:
- 设置 端口 为
10000
- ✅ 部署并等待生成在线链接!
- Author:waytomcp
- URL:https://www.waytomcp.com/article/ThasnimaShereef/Travel-Itinerary
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!