Banner

Bus System公交管理

2026-09-24

选项 A:itcoderyhl/bus-server(SpringBoot + Vue)

前置准备

组件版本要求
JDK1.8
MySQL5.6+
Node.js14+
IDEIDEA(可选)

步骤 1:获取源码

git clone https://github.com/itcoderyhl/bus-server.git
cd bus-server

步骤 2:创建数据库并导入

CREATE DATABASE bus_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

导入项目提供的 SQL 文件(通常位于 sql/ 目录),创建表结构和初始数据。

步骤 3:配置后端

修改 src/main/resources/application.yml 中的数据库连接:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/bus_db?useUnicode=true&characterEncoding=utf8
    username: root
    password: your_password

步骤 4:启动后端

在 IDEA 中运行主启动类,或命令行:

mvn spring-boot:run

后端默认端口 8080(需确认项目实际配置)。

步骤 5:安装前端依赖并启动

cd frontend
npm install
npm run serve

前端默认端口 8080 或 8081,访问浏览器确认页面加载正常。

步骤 6:前后端联调

检查前端 API 请求地址是否指向后端正确端口。如出现跨域错误,在后端添加 CORS 配置或在 vue.config.js 中配置代理。

选项 B:ZANNATUNNAYEM/bus(PHP + MySQL)

前置准备

  • PHP 7.4+(含 mysqli 扩展)
  • MySQL 5.7+
  • Web 服务器(Apache/Nginx)或 PHP 内置服务器

步骤 1:获取源码

git clone https://github.com/ZANNATUNNAYEM/bus.git
cd bus

步骤 2:创建数据库

CREATE DATABASE bus_monitoring CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

导入项目提供的 SQL 文件。核心表包括 user、admin、driver、route、stop、route_stops、schedule、bus、bus_location、user_favourite_route。

步骤 3:配置数据库连接

编辑数据库配置文件(通常为 config/db.php 或 includes/db_connect.php):

$host = 'localhost';
$username = 'root';
$password = 'your_password';
$database = 'bus_monitoring';

步骤 4:启动服务

开发模式(PHP 内置服务器):

php -S localhost:8000

生产模式:将项目目录配置为 Apache/Nginx 站点根目录。

步骤 5:访问系统

浏览器打开 http://localhost:8000。默认管理员账号需查看项目文档或 SQL 初始数据。

步骤 6:地图功能验证

系统使用 Leaflet + OpenStreetMap 展示公交位置。确认服务器可访问外部地图瓦片服务。如果车辆没有真实 GPS 数据,地图上显示的是基于时刻表的模拟位置。

通用部署注意事项

数据库编码:确保 MySQL 字符集为 utf8mb4,避免中文站点名称出现乱码。

前后端端口冲突:SpringBoot 默认 8080,Vue 开发服务器常用 8080 或 8081,需错开配置。

GPS 数据源:开源项目若无真实 GPS 终端,实时追踪功能仅为基础演示。如需真实定位,需接入车载 GPS 设备或第三方定位 API。

生产环境建议:使用 Nginx 做反向代理和静态资源服务,PM2(Node)或 systemd(Java/PHP)守护进程确保服务稳定运行。


11