Skip to content

liangch97/FLIGHT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

航班订票系统 (Flight Booking System)

基于Qt和MySQL的航班订票应用系统

核心功能

  • ✈️ 航班查询与预订
  • 🪑 座位选择与锁定
  • 📋 订单管理
  • 🔐 用户登录注册
  • ⚙️ 航班管理(管理员功能)

技术栈

  • 前端: Qt 6.10.0 (C++ Widgets)
  • 后端: Qt 6.10.0 (HTTP Server)
  • 数据库: MySQL 8.0 (ODBC连接)
  • 构建: CMake 3.16+

快速启动

1. 数据库配置

确保MySQL服务已启动,数据库flightbooking已创建并包含必要的数据。

2. 编译项目

cmake -B build
cmake --build build

3. 运行系统

方式一:使用脚本

  • 双击 start_server.bat 启动服务器
  • 双击 start_client.bat 启动客户端

方式二:命令行

# 启动服务器
.\build\server\FlightBookingServer.exe --config server/config/server_config.json

# 启动客户端  
.\build\client\FlightBookingClient.exe

测试账号

  • 用户名: testuser
  • 密码: password123

配置文件

服务器配置: server/config/server_config.json

{
  "server": {
    "host": "127.0.0.1",
    "port": 9999
  },
  "database": {
    "driver": "QODBC",
    "host": "127.0.0.1",
    "port": 3306,
    "name": "flightbooking",
    "user": "root",
    "password": "your_password"
  }
}

项目结构

FlightBooking/
├── client/              # 客户端源码
│   ├── include/        # 头文件
│   ├── src/           # 源文件
│   └── forms/         # UI表单
├── server/             # 服务器源码  
│   ├── include/       # 头文件
│   ├── src/          # 源文件
│   └── config/       # 配置文件
├── shared/            # 共享头文件
├── build/            # 编译输出
├── start_server.bat  # 启动服务器
├── start_client.bat  # 启动客户端
└── README.md         # 本文件

主要功能说明

用户功能

  • 用户注册与登录
  • 航班搜索(按日期、出发地、目的地)
  • 查看航班详情
  • 选择座位并下单
  • 查看订单历史
  • 订单详情查看

管理员功能

  • 航班管理(增删改查)
  • 查看所有订单
  • 系统数据管理

API端点

认证

  • POST /auth/register - 用户注册
  • POST /auth/login - 用户登录

航班

  • GET /flights/search - 搜索航班
  • GET /flights/{id}/seats - 获取航班座位
  • GET /admin/flights - 获取所有航班(管理员)
  • POST /admin/flights - 创建航班(管理员)
  • PUT /admin/flights/{id} - 更新航班(管理员)
  • DELETE /admin/flights/{id} - 删除航班(管理员)

订单

  • POST /orders - 创建订单
  • GET /orders - 获取用户订单列表
  • GET /orders/{id} - 获取订单详情

开发说明

本系统为软件工程课程项目,实现了完整的航班订票流程。

数据库表结构

  • users - 用户信息
  • flights - 航班信息
  • seats - 座位信息
  • orders - 订单信息
  • order_items - 订单明细
  • passengers - 乘客信息

技术特点

  • C/S架构,前后端分离
  • RESTful API设计
  • Token认证机制
  • ODBC数据库访问
  • Qt信号槽机制
  • 异步网络请求

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages