一、项目简介
本项目是一套基于 Spring Boot 3 + Vue 3 前后端分离的大学生租房平台,旨在为大学生群体提供安全、便捷的租房服务。系统采用单体应用架构,后端负责业务逻辑与数据存储,前端负责用户界面与交互。系统包含三种角色:学生(普通用户)、房东、管理员。学生可以浏览房源、预约看房、签署合同、支付租金并发布租房经验;房东可以管理房源、处理预约、发起合同;管理员负责用户审核、房源审核、纠纷处理及系统公告发布。
二、技术栈
| 技术 | 说明 |
|---|---|
| 后端框架 | Spring Boot 3.2 |
| ORM | MyBatis-Plus 3.5.5 |
| 权限控制 | 基于 HttpSession 角色校验(STUDENT / LANDLORD / ADMIN) |
| 前端框架 | Vue 3 (Composition API) |
| 状态管理 | Pinia |
| 路由 | Vue Router 4 (createWebHistory) |
| UI 组件库 | Element Plus |
| 构建工具 | Vite |
| 数据库 | MySQL 8.0 |
| 文件上传 | Spring MultipartFile + 本地存储 |
| 密码加密 | Hutool MD5 |
三、功能模块
学生端
- 浏览房源列表:支持按关键词、学校、价格区间、户型、最短租期筛选,展示房源标题、价格、面积、户型、标签等信息。
- 查看房源详情:展示标题、描述、地址、价格、面积、户型、标签、房东姓名及电话,可收藏或预约。
- 收藏/取消收藏房源:点击收藏按钮切换状态,在个人中心查看收藏列表。
- 预约看房:选择预约时间、填写留言,提交后等待房东确认,状态为待确认。
- 查看我的预约列表:按状态(待确认/已确认/已取消)筛选,显示房源标题、房东姓名、是否已生成合同。
- 签署电子合同:查看合同详情(房源信息、租金、押金、起止日期),点击签署将状态置为已签署。
- 查看我的合同列表:按状态(待签署/已签署/已支付/已结束)筛选,显示合同编号、房源信息、租金、押金、起止日期。
- 支付租金:选择支付方式(如支付宝、微信),点击支付将状态置为已支付并记录支付时间。
- 发起纠纷:选择合同、填写纠纷原因,提交后等待管理员处理,状态为待处理。
- 查看我的纠纷列表:显示合同编号、纠纷原因、处理状态(待处理/已处理)及管理员回复。
- 发布租房经验:填写标题、内容、上传图片,提交后需管理员审核,状态为待审核。
- 管理我的经验:查看已发布的经验文章,支持编辑、删除操作。
- 发送站内信:选择接收人(房东)、关联房源,发送消息,支持在线聊天。
- 查看会话列表:显示最近联系人、最后消息内容、未读消息数,点击进入聊天。
- 与房东在线聊天:查看历史消息,发送新消息,标记已读。
- 修改个人资料:更新真实姓名、电话、邮箱、头像、学校、学号、身份证。
- 修改登录密码:输入原密码和新密码,通过MD5校验后更新。
- 浏览系统公告:查看管理员发布的公开公告列表,按时间排序。
- 浏览公开租房经验:按关键词搜索,查看详情时自动增加浏览次数。
- 查看个人中心概览:显示用户信息(头像、姓名、角色)、待办事项统计(待签署合同数、待支付租金数)。
房东端
- 发布新房源:填写标题、描述、地址、价格、面积、户型、标签、附近学校、最短租期,提交后状态为待审核。
- 管理我的房源:查看自己发布的房源列表,支持编辑、下架、删除操作,显示审核状态。
- 查看收到的预约:按状态(待确认/已确认/已取消)筛选,显示预约时间、学生姓名、留言。
- 确认/拒绝预约:修改预约状态为已确认或已取消,确认后可发起合同。
- 从预约发起合同:选择已确认的预约,填写月租金、押金、起止日期、支付方式、备注,生成合同。
- 查看我的合同列表:按状态(待签署/已签署/已支付/已结束)筛选,显示合同编号、学生信息、合同详情。
- 查看合同详情:显示房源信息、双方姓名电话、月租金、押金、起止日期、关联纠纷状态。
- 查看我的收入统计:通过房源统计页面查看已出租房源数量及租金总额。
- 与租客在线聊天:查看会话列表,发送消息,标记已读。
- 修改个人资料:更新真实姓名、电话、邮箱、头像。
- 修改登录密码:输入原密码和新密码,通过MD5校验后更新。
管理员端
- 用户管理:查看用户列表,按角色(学生/房东/管理员)和状态(待审核/通过/未通过)筛选,支持关键词搜索。
- 用户审核:将待审核用户置为通过或未通过,不能操作自己的账号。
- 修改用户角色:可将学生/房东角色互换,不能修改为管理员。
- 房源审核:查看待审核房源列表,审核通过或驳回,驳回时填写原因。
- 合同管理:查看所有合同,按状态筛选,查看合同详情及关联纠纷。
- 纠纷管理:查看所有纠纷列表,按状态(待处理/已处理)筛选,处理纠纷并填写管理员回复。
- 公告管理:发布、编辑、删除系统公告,控制公告发布状态(发布/下架)。
- 数据统计:查看房源总数、在线房源数、待审核房源数、已出租房源数。
- 用户统计:查看学生总数、房东总数、待审核用户数。
- 系统概览:查看平台整体运行概况,包括注册用户数、房源总数、合同总数等关键指标。
四、项目总结
本项目技术亮点在于采用 Spring Boot 3 + Vue 3 前后端分离架构,结合 MyBatis-Plus 实现高效数据访问,利用 HttpSession 完成轻量级角色权限控制。前端使用 Pinia 管理状态,Element Plus 构建 UI,Vite 实现快速开发。系统功能覆盖租房全流程,包括房源管理、预约、合同签署、支付、纠纷处理及社交聊天,适合作为计算机相关专业的课程设计或毕业设计项目,也可作为学习前后端分离开发、微服务入门、权限管理实践的参考源码。
界面展示
交付内容
本项目为完整交付,包含:
- 完整后端源码
- 完整前端源码
- 数据库初始化脚本(SQL)
- 万字项目文档(设计文档 / 论文,可作课程设计、毕业设计参考)
获取完整源码
完整前后端源码 + 数据库脚本 + 万字项目文档见 Gitee 仓库:https://gitee.com/kangxihuang/src-K145