全栈开发实习生项目作业
!Alt Text
项目目标
- 创建一个用于管理旅行行程的后端系统,包含以下组件:
- 使用 SQLAlchemy 设计并实现旅行行程的数据库架构和模型
- 提供创建和查看行程的 RESTful API 接口
- 实现 MCP 服务器,根据行程天数推荐行程
详细需求
1. 数据库架构 📌
- 使用 SQLAlchemy 设计和实现数据库架构
- 架构应支持以下内容:
- 每日的酒店住宿
- 地点之间的交通
- 活动/游览
- 这些实体之间的关系
- 为泰国的普吉岛和甲米地区填充真实的示例数据。
- 包含 2 到 8 晚的推荐行程。
- 实现适当的关系、约束和索引。
2. API 接口
- 使用 FastAPI 创建 RESTful API 接口,支持以下功能:
- 创建新的旅行行程
- 查看现有的旅行行程
- 实现输入验证、错误处理和响应格式化
- 提供 API 文档,包含示例请求/响应格式
示例接口:
POST /itineraries
: 创建新行程
GET /itineraries/{id}
: 查看现有行程
3. MCP 服务器
- 实现 MCP 服务器,根据给定的天数返回推荐行程。
- 示例输入:
2 nights
,5 nights
- 示例输出:根据请求的天数生成的推荐行程。
项目设置
环境要求
- Python 3.8+
- FastAPI
- SQLAlchemy
- PostgreSQL(或其他 SQL 数据库)
- Alembic(用于数据库迁移)
- Docker(可选)
📂 项目结构
描述:
- main.py: FastAPI 应用的入口文件,用于启动 API 接口。
- mcp_server.py: 实现 MCP 服务器逻辑,根据天数推荐行程。
- models.py: 包含旅行行程数据库架构的 SQLAlchemy 模型,包括住宿、交通和活动之间的关系。
- run.py: 用于启动 FastAPI 应用和服务器的脚本。
- README.md: 本项目文档,包含项目说明、设置指南和 API 详情。
- schemas.py: 定义用于请求和响应中输入验证和数据序列化的 Pydantic 模型。
- seed_data.py: 为普吉岛和甲米地区填充真实示例数据的脚本,涵盖 2 到 8 晚的行程。
安装
- 克隆仓库:
运行系统
1. 安装依赖:
2. 启动系统:
使用指南 🚀
创建新行程:POST /itineraries
请求体:
响应:
查看行程:GET /itineraries/{id}
响应:
获取推荐行程:GET /mcp/recommended?duration=3
响应:
联系我 🚀
许可证 📜
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
持续学习与探索 🚀
祝编码愉快!😊 如果本项目对你有帮助,请在 GitHub 上给它一个 ⭐ 吧!
- Author:waytomcp
- URL:https://www.waytomcp.com/article/maneeshmkp/travel-itinerary-app
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!