行程管理系统
一个用于管理泰国目的地旅行行程的全栈应用程序,具有FastAPI后端和Next.js前端。
项目结构
\\\ 旅游行程系统/ ├── 后端/#Python FastAPI后端 ├── 前端/#Next.js前端 └── README.md#项目文档 \\\
后端设置
后端使用FastAPI、SQLAlchemy和SQLite构建。
先决条件
- Python 3.8+
- 点
安装
- 导航到后端目录:
\\\bash cd后端 \\\
- 创建虚拟环境:
\\\bash python-m venv-venv \\\
- 激活虚拟环境:
- 窗户: venv\Scripts\activate - macOS/Linux: source venv/bin/activate
- 安装依赖项:
\\\bash pip安装fastapi-uvicorn-sqlalchemy pydantic \\\
运行后端
- 使用Run脚本运行应用程序:
\\\bash python run.py \\\
这将:
- 为数据库添加样本数据种子
- 在上启动主API服务器http://localhost:8000
- 启动推荐服务器http://localhost:8001
API文件将在http://localhost:8000/docs
前端设置
前端是用Next.js、React和Tailwind CSS构建的。
先决条件
- Node.js 16+
- npm或纱线
安装
- 导航到前端目录:
\\\bash cd前端 \\\
- 安装依赖项:
\\\`bash npm安装
# 或
纱线安装 \\\`
运行前端
- 启动开发服务器:
\\\`bash npm运行开发
# 或
纱线开发 \\\`
- 打开浏览器并导航到http://localhost:3000
使用应用程序
- 浏览行程:在行程页面上查看所有可用的旅行行程
- 查看详情:点击行程查看详细信息
- 获取推荐:使用“推荐”页面根据您喜欢的持续时间获取行程
- 创建行程:使用多步骤表单创建自己的自定义行程
API终点
GET /api/itineraries-获取所有行程GET /api/itineraries/{id}-获取具体行程POST /api/itineraries-创建新行程GET /api/recommendations/{nights}-获取特定时间段的推荐行程
数据库模式
该应用程序使用以下数据库模型:
- 行程
- 住宿
- 转移
- 活动
有关详细信息,请参阅前端中的架构页面。
