基于 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/loginPOST /api/auth/register
  • 用户GET /api/user/info
  • 车辆GET /api/cars/pageGET /api/cars/{id}GET /api/cars/available
  • 订单POST /api/ordersGET /api/orders/myGET /api/orders/{id}、取消/支付
  • 管理端GET /api/admin/stats/api/admin/cars 增删改查、/api/admin/orders 列表与状态更新

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

相关推荐
杨运交33 分钟前
[043][数据模块]基于 Spring Data JPA 的企业级数据访问层设计——实体、审计、状态与服务抽象
spring boot
咪库咪库咪21 小时前
vue3-组件
vue.js
10share21 小时前
100行代码 模拟实现Vue 响应式系统
前端·vue.js
用户4099322502121 天前
Vue状态管理入门第四章:组合式store和SSR风险
前端·vue.js·后端
锋行天下2 天前
半秒开!还有谁!!!
前端·vue.js·架构
JING小白2 天前
Day 1 重学Vue:响应式系统的“底层逻辑”变更,Vue2旧时代的终结与Vue3新时代的开启
前端·vue.js
OpenTiny社区2 天前
从零开发 AI 聊天页要两周?试试这款 Vue3 垂直对话组件库 TinyRobot,直接开箱即用
前端·vue.js·github
Cobyte2 天前
22.Vue Vapor 组件 props 的实现
前端·javascript·vue.js
白雾茫茫丶2 天前
探索 Nuxt.js 全栈能力:用 Better-Auth 打造类型安全的 RBAC 权限系统
前端·vue.js·nuxt.js
向阳而生6602 天前
文件上传也能玩出花?Vue3 教你优雅实现“选择文件”和“选择文件夹”🚀
vue.js