基于Qt和MySQL的航班订票应用系统
✈️ 航班查询与预订- 🪑 座位选择与锁定
- 📋 订单管理
- 🔐 用户登录注册
- ⚙️ 航班管理(管理员功能)
- 前端: Qt 6.10.0 (C++ Widgets)
- 后端: Qt 6.10.0 (HTTP Server)
- 数据库: MySQL 8.0 (ODBC连接)
- 构建: CMake 3.16+
确保MySQL服务已启动,数据库flightbooking已创建并包含必要的数据。
cmake -B build
cmake --build build方式一:使用脚本
- 双击
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 # 本文件
- 用户注册与登录
- 航班搜索(按日期、出发地、目的地)
- 查看航班详情
- 选择座位并下单
- 查看订单历史
- 订单详情查看
- 航班管理(增删改查)
- 查看所有订单
- 系统数据管理
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信号槽机制
- 异步网络请求