🌴 旅游行程-FastAPI项目
这是一个用于管理旅行行程的后端系统,使用 快速 API 和 SQL炼金术,具有用于创建和查看行程的RESTful API,以及用于根据行程持续时间推荐行程的MCP服务器。
______________________________________________________________________
🚀 现场演示
🌐 实时网址: https://travel-itinerary-fdwd.onrender.com/docs
______________________________________________________________________
🧰 技术栈
- Python 3.11+
- 快速 API
- SQL炼金术
- 数据库 (用于开发;可切换到PostgreSQL)
- 乌维科恩
- 渲染 (用于部署)
- 派丹蒂克 (用于输入验证)
______________________________________________________________________
📦 特性
- 创建包含全天细分的新行程
- 查看所有已存储的行程
- MCP(最低成本路径)服务器,用于根据夜晚推荐行程
- 预种子数据 普吉 和 甲米,泰国
- 用于测试端点的交互式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文档
- ✅ 使用实时部署 渲染
______________________________________________________________________
🚀 入门指南
📦 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用户界面。
______________________________________________________________________
🧪 API终点
| 方法 | 端点 | 描述 |
|---|---|---|
| 职位 | /itineraries/ | 创建新行程 |
| 得到 | /itineraries/ | 获取所有行程 |
| 得到 | /itineraries/{id} | 按id获取行程 |
| 得到 | /recommendations/{duration} | 按持续时间获取推荐行程 |
______________________________________________________________________
📸 截图
📘 Swagger用户界面
🔍 GET/itenaries的行程JSON响应-所有行程
🔍 GET/itenaries/{id}的行程JSON响应-基于id的行程
🔍 POST/itenararies的行程JSON响应-创建新的itenararie
🔍 GET/推荐行程JSON响应{duration}-根据持续时间推荐会员
______________________________________________________________________
🌍 渲染部署
🔁 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.通过渲染进行部署
- 首选 https://render.com
- 创建一个 新建Web服务
- 连接您的 GitHub仓库
- 设置 生成命令 致:
pip install -r requirements.txt- 设置 启动命令 致:
uvicorn app.main:app --host 0.0.0.0 --port 10000- 集 端口 向
10000 - ✅ 部署并等待实时链接!
______________________________________________________________________

