旅行行程管理系统

一个全栈应用程序,用于管理泰国目的地的旅行行程,具有FastAPI后端和Next.js前端。

  • by maneeshmkp
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 maneeshmkp/travel-itinerary-app

使用说明

行程管理系统

一个用于管理泰国目的地旅行行程的全栈应用程序,具有FastAPI后端和Next.js前端。

项目结构

``` 旅游行程系统/ ├── 后端/#Python FastAPI后端 ├── 前端/#Next.js前端 └── README.md#项目文档 ```

后端设置

后端使用FastAPI、SQLAlchemy和SQLite构建。

先决条件

  • Python 3.8+
  • 点

安装

  1. 导航到后端目录: ```bash cd后端 ```

  2. 创建虚拟环境: ```bash python-m venv-venv ```

  3. 激活虚拟环境:

    • 窗户: venv\Scripts\activate
    • macOS/Linux: source venv/bin/activate
  4. 安装依赖项: ```bash pip安装fastapi-uvicorn-sqlalchemy pydantic ```

运行后端

  1. 使用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或纱线

安装

  1. 导航到前端目录: ```bash cd前端 ```

  2. 安装依赖项: ```bash npm安装

    或

    纱线安装 ```

运行前端

  1. 启动开发服务器: ```bash npm运行开发

    或

    纱线开发 ```

  2. 打开浏览器并导航到http://localhost:3000

使用应用程序

  1. 浏览行程:在行程页面上查看所有可用的旅行行程
  2. 查看详情:点击行程查看详细信息
  3. 获取推荐:使用“推荐”页面根据您喜欢的持续时间获取行程
  4. 创建行程:使用多步骤表单创建自己的自定义行程

API终点

  • GET /api/itineraries -获取所有行程
  • GET /api/itineraries/{id} -获取具体行程
  • POST /api/itineraries -创建新行程
  • GET /api/recommendations/{nights} -获取特定时间段的推荐行程

数据库模式

该应用程序使用以下数据库模型:

  • 行程
  • 住宿
  • 转移
  • 活动

有关详细信息,请参阅前端中的架构页面。