news 2026/7/21 17:48:00

Spring Boot 3 + Vue 3 校车座位预约系统源码 前后端分离实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spring Boot 3 + Vue 3 校车座位预约系统源码 前后端分离实战

一、项目简介

本系统是一套基于 Spring Boot 3 + Vue 3 + MySQL 开发的校车座位预约管理平台,采用前后端分离架构。系统支持普通用户在线预约校车座位、查看行程、管理个人信息,管理员可对线路、车辆、班次、订单、公告及系统配置进行统一管理,同时内置司机角色辅助运营。系统内置三种角色:普通用户、管理员、司机。

二、技术栈

技术说明
后端框架Spring Boot 3.x
ORMMyBatis-Plus 3.x(含分页插件、逻辑删除)
权限认证JWT(jjwt)+ 自定义拦截器 AuthInterceptor
前端框架Vue 3(Composition API + script setup)
前端路由Vue Router 4(createWebHistory)
状态管理Pinia(用户状态 store)
UI 组件库Element Plus(含图标)
构建工具Vite
数据库MySQL 8.x(含自动建库配置)
文件存储本地文件系统(按日期分目录)

三、功能模块

普通用户端

  • 用户注册:填写用户名、密码、真实姓名、手机号、学号/工号、身份(学生/教师)、院系完成注册,注册后自动登录并返回 Token。
  • 用户登录:输入用户名和密码,系统验证账号状态与密码 MD5,成功后返回 JWT Token 及用户基本信息。
  • 首页浏览线路:查看所有启用的校车线路列表,包括线路名称、起点站、终点站、距离、预计时长等信息。
  • 查询班次:按线路 ID、运行日期(默认当天)分页查询可预约的班次,显示发车/到达时间、总座位数、已预约数、状态。
  • 查看班次详情:点击班次查看详细信息,包括关联的线路名称、车牌号、司机姓名、座位布局图(行数/列数)。
  • 选择座位并预约:在座位选择页查看该班次已被预约的座位号及优先级标记,选择一个空闲座位提交预约,系统自动生成订单号并扣减可用座位数。
  • 我的行程:分页查看本人的预约记录列表,支持按状态(已预约/已核销/已取消等)筛选,显示订单号、线路、座位号、日期、发车时间。
  • 取消预约:对状态为“已预约”的订单发起取消,填写取消原因,系统释放对应座位并更新已预约数。
  • 个人信息管理:查看和修改本人的真实姓名、手机号、头像、院系等信息,不支持修改角色和密码。
  • 修改密码:输入原密码和新密码,系统校验原密码 MD5 后更新为新密码。
  • 查看公告:浏览已启用的公告列表,按发布时间倒序排列,支持查看公告标题、内容、类型(通知/推荐/重要)。
  • 查看轮播图:获取标记为轮播且启用的公告列表,按排序字段升序展示。
  • 文件上传:上传图片等文件,系统按日期分目录存储并返回可访问的 URL。

管理员端

  • 登录与路由守卫:管理员使用账号登录后,前端根据角色自动跳转至管理后台,未登录或非管理员访问后台路由时自动拦截跳转。
  • 仪表盘概览:查看注册用户总数、运营线路总数、今日班次数、今日预约数,以及今日各线路满载率柱状图和预约趋势折线图。
  • 用户管理:分页查询用户列表,支持按用户名/真实姓名/学号关键字搜索,按角色(USER/ADMIN/DRIVER)筛选,编辑用户基本信息,切换用户启用/禁用状态。
  • 线路管理:查看、新增、编辑、删除校车线路,字段包括线路名称、起点站、终点站、途经站点(JSON 格式)、距离、时长、图片、描述、启用状态。
  • 车辆管理:查看、新增、编辑、删除车辆信息,字段包括车牌号、车型、总座位数、座位布局(如 2+2)、行数、图片、启用状态。
  • 班次管理:分页查询班次列表,支持按线路 ID、运行日期、状态(SCHEDULED/CANCELLED/COMPLETED)筛选,新增/编辑/删除班次,关联线路、车辆、司机。
  • 订单管理:分页查询所有预约订单,支持按订单号模糊搜索、按状态筛选,对“已预约”订单执行核销(标记 CHECKED_IN),对“已核销”订单标记中途下车(释放座位),强制取消订单(填写取消原因)。
  • 公告管理:查看、新增、编辑、删除公告,设置公告标题、内容、类型、是否轮播、排序号、启用状态,支持上传公告图片。
  • 系统配置管理:查看和修改系统配置项(键值对),如预约每日上限、优先预约规则等。

四、项目总结

本项目的技术亮点在于采用最新的 Spring Boot 3 + Vue 3 组合,前后端分离架构清晰,JWT 鉴权与拦截器实现简洁高效。MyBatis-Plus 的分页和逻辑删除大幅减少重复代码。前端使用 Pinia 管理用户状态,Element Plus 提供成熟的 UI 组件。系统覆盖了校车座位预约的完整业务流程,包含座位选择、订单核销、数据可视化等核心功能,适合作为 Java 全栈开发、课程设计或毕设项目的学习与二次开发参考。

界面展示

交付内容

本项目为完整交付,包含:

  • 完整后端源码
  • 完整前端源码
  • 数据库初始化脚本(SQL)
  • 万字项目文档(设计文档 / 论文,可作课程设计、毕业设计参考)

获取完整源码

完整前后端源码 + 数据库脚本 + 万字项目文档见 Gitee 仓库:https://gitee.com/kangxihuang/src-K121

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/21 17:45:41

SVG Wave 实战应用:如何为网站和 UI 设计添加动态波浪背景

SVG Wave 实战应用:如何为网站和 UI 设计添加动态波浪背景 【免费下载链接】svgwave SVG Wave is a tiny, free and beautiful SVG gradient waves generator for your next design. 项目地址: https://gitcode.com/gh_mirrors/sv/svgwave 想要为你的网站或应…

作者头像 李华
网站建设 2026/7/21 17:45:38

告别“人工智障”:深度拆解智能外呼在催收、通知、回访3大场景中的最佳实践与避坑指南

摘要智能外呼机器人的落地效果差异巨大——同样是基于大模型的语音对话,有的场景满意度超过人工,有的却被客户骂“人工智障”。差距的根源不在于模型能力,而在于场景的工程适配深度。本文从催收、通知、回访三大典型场景出发,拆解…

作者头像 李华
网站建设 2026/7/21 17:42:44

小程序计算机毕设之基于 SpringBoot + 微信小程序的员工工作日志管理系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/7/21 17:41:27

为什么顶尖AIGC工作室只用ComfyUI+SDXL组合?揭秘被忽略的5大工程化优势:节点复用率、批处理吞吐量、私有模型热插拔响应时间

更多请点击: https://kaifayun.com 第一章:为什么顶尖AIGC工作室只用ComfyUISDXL组合?揭秘被忽略的5大工程化优势:节点复用率、批处理吞吐量、私有模型热插拔响应时间 在工业级AIGC生产管线中,ComfyUI与SDXL的深度耦合…

作者头像 李华
网站建设 2026/7/21 17:41:25

5分钟掌握Verible:SystemVerilog代码质量提升终极指南

5分钟掌握Verible:SystemVerilog代码质量提升终极指南 【免费下载链接】verible Verible is a suite of SystemVerilog developer tools, including a parser, style-linter, formatter and language server 项目地址: https://gitcode.com/gh_mirrors/ve/verible…

作者头像 李华