基于 Spring Boot 3 与 Vue 3 的汽车租赁系统

汽车租赁系统

前后端分离的汽车租赁管理系统,包含用户端 (选车、下单、订单管理)与管理后台(统计、车辆管理、订单管理)。


项目截图

功能概览

用户端

功能 说明
首页 / 选车 浏览车辆列表,按品牌、车型、状态筛选,分页查看
车辆详情 查看车辆信息、日租金、描述等,支持选择租期并下单
登录 / 注册 用户名或手机号登录,新用户注册
我的订单 查看个人订单列表,支持取消、支付、查看详情
下单流程 选择取还车时间与地点,创建订单并支付(模拟)

管理后台

功能 说明
控制台 展示车辆总数、订单总数、用户数统计
车辆管理 车辆列表(分页、按品牌/车型/状态筛选),新增、编辑、删除车辆
订单管理 全部订单列表(按状态筛选),管理员修改订单状态(待支付 / 待取车 / 进行中 / 待还车 / 已完成 / 已取消 / 异常)

管理后台需使用 admin 账号登录,登录后可从用户端入口进入「管理后台」或直接访问 /admin。


技术栈

端 技术
后端 Java 17、Spring Boot 3、MyBatis-Plus、Spring Security + JWT、MySQL 8、Redis、Knife4j
前端 Vue 3、TypeScript、Vite、Element Plus、Pinia、Vue Router 4、Axios

项目结构

复制代码
├── car-rental-system/     # 后端(Spring Boot 单体)
│   ├── car-rental-common/   # 公共模块
│   ├── car-rental-app/      # 主应用(认证、用户、车辆、订单、管理端接口)
│   └── sql/                 # 建表与初始化数据
├── car-rental-frontend/   # 前端(Vue 3 + Vite)
│   └── src/
│       ├── views/user/      # 用户端页面
│       ├── views/admin/     # 管理后台页面
│       ├── api/             # 接口封装
│       └── ...
└── README.md             # 本说明

快速开始

1. 数据库

bash 复制代码
cd car-rental-system
mysql -u root -p < sql/schema.sql
mysql -u root -p car_rental < sql/init-data.sql   # 可选:测试数据

2. 后端

修改 car-rental-system/car-rental-app/src/main/resources/application.yml 中的数据库、Redis 配置后:

bash 复制代码
cd car-rental-system
mvn clean install
cd car-rental-app
mvn spring-boot:run

3. 前端

bash 复制代码
cd car-rental-frontend
npm install
npm run dev

浏览器访问:http://localhost:5173

4. 测试账号(init-data.sql 导入后)

用户名 密码 说明
zhangsan 123456 普通用户
admin 123456 管理员

也可使用手机号登录,如 13800138001 / 123456。


主要接口一览

  • 认证 :POST /api/auth/login、POST /api/auth/register
  • 用户 :GET /api/user/info
  • 车辆 :GET /api/cars/page、GET /api/cars/{id}、GET /api/cars/available
  • 订单 :POST /api/orders、GET /api/orders/my、GET /api/orders/{id}、取消/支付
  • 管理端 :GET /api/admin/stats、/api/admin/cars 增删改查、/api/admin/orders 列表与状态更新

管理端接口需携带有效 JWT 且用户具备管理员角色(如 admin 账号)。

相关推荐
AI源码13 小时前
旅游推荐管理系统
spring boot
ruanno_top16 小时前
倒计时该用 deadline 还是每秒减一?我把两种写法都跑了一遍
vue.js
aiks_yuan17 小时前
Spring Boot SSE 流式输出变成一次性返回怎么办:大模型打字机效果失效的 5 个原因(Spring Boot 4.1.2 实测)
spring boot
Thomas.Sir19 小时前
第15课:SpringBoot连接池详解:HikariCP配置、调优、监控,4.x连接池新特性
java·spring boot
VimorphTech19 小时前
每批开 4 个线程,为什么限制不住 TTS 的总并发?
java·spring boot·spring
杨凯凡20 小时前
Spring Boot 缓存一致性怎么保证?@Cacheable、@CacheEvict 与事务提交时机实战
java·spring boot·spring cache·后端开发·缓存一致性
徐小夕20 小时前
下载量超 30 万的开源智能体 Prime Agent:它把自己从 TypeScript 重写成了 Rust
前端·vue.js·github
toooooop821 小时前
CRMEB 故障排查笔记:安全网关只放行 GET/POST 怎么办
前端·javascript·vue.js·thinkphp6·crmeb
软件技术NINI21 小时前
基于SpringBoot和Vue的项目评审系统
javascript·vue.js·spring boot·后端·spring·毕业设计·毕设
vipxieliang21 小时前
Spring Boot 性能优化实战:从启动加速到运行时调优
java·spring boot