一、项目简介
本项目是一套基于 Spring Boot 3 + Vue 3 + MySQL 的前后端分离租房平台。系统采用单体后端 + 独立前端的架构,后端提供 RESTful API,前端通过 Axios 调用接口并利用 Vue Router 进行路由控制。系统内置了普通用户端(租客)、房东端、管理员端三个角色,覆盖了从房源发布、浏览、收藏、预约看房到后台审核、数据统计的完整业务闭环。代码结构清晰,权限模型基于 RBAC 设计,适合作为毕业设计或中小型项目的二次开发基础。
二、技术栈
| 技术 | 说明 |
|---|---|
| 后端框架 | Spring Boot 3.x |
| ORM | MyBatis-Plus(分页插件、逻辑删除、字段自动填充) |
| 权限认证 | Spring Security + JWT(jjwt 0.12.x) |
| 密码加密 | BCryptPasswordEncoder |
| 前端框架 | Vue 3(Composition API + script setup) |
| 状态管理与路由 | Vue Router(路由守卫控制访问权限) |
| UI 组件库 | Element Plus |
| 图表库 | ECharts |
| 构建工具 | Vite |
| 数据库 | MySQL 8.x |
| 文件上传 | 本地存储(UUID 重命名,单文件 10MB 限制) |
三、功能模块
管理员端
- 数据统计:展示总用户数、房东数量、租客数量、房源总数,以及已上架/待审核/已出租房源数;通过 ECharts 渲染房源城市分布饼图与房源状态柱状图。
- 用户管理:分页查询用户列表,支持按用户名/姓名/手机号关键词模糊搜索,按角色(租客/房东/管理员)筛选;支持启用/禁用用户账号、删除用户。
- 房源管理:分页查看全部房源,支持按标题关键词和房源状态(待审核/已上架/已下架/已出租)筛选;管理员可修改房源状态,包括审核通过、上架、下架、标记出租。
- 公告管理:发布公告(标题、内容、状态),支持编辑公告内容与上下架操作、删除公告;前台首页展示最新 10 条已发布公告。
普通用户端
- 用户注册:填写用户名、密码、手机号、邮箱等信息完成注册,默认角色为租客(TENANT)。
- 用户登录:支持用户名/密码登录,登录成功后返回 JWT Token,并记录最近登录时间与累计登录次数。
- 密码找回:输入注册邮箱生成重置 Token,通过 Token 在有效期内(1 小时)重置密码。
- 房源浏览:支持关键词(标题/描述/地址)、城市、区域、价格区间、户型条件筛选,按最新发布、价格升序、价格降序、浏览量排序。
- 房源详情:查看房源图片、房东姓名与联系电话、房屋面积/楼层/朝向/装修/配套设施,自动累计浏览量。
- 收藏房源:对感兴趣房源点击收藏/取消收藏,收藏列表分页展示。
- 预约看房:选择看房时间、填写联系电话与留言,提交后自动通知房东;可查看预约状态(待确认/已确认/已拒绝)及房东回复内容。
- 个人中心:修改头像(上传图片)、更新真实姓名/手机号/邮箱等资料、修改登录密码(需验证原密码)。
- 消息通知:接收系统通知(预约确认/拒绝等),支持标记单条已读、全部已读、查看未读数量。
房东端
- 发布房源:填写标题、描述、价格、押金、城市/区域/详细地址、户型、面积、楼层、朝向、装修、配套设施、封面图,上传多张房源图片,提交后状态为待审核。
- 房源管理:查看我发布的房源列表,按状态(待审核/已上架/已下架/已出租)筛选;支持编辑房源信息与图片、删除房源。
- 编辑房源:修改房源全部字段,重新上传图片列表(覆盖原图),更新后保留原状态。
- 预约处理:查看租客的看房预约列表(含租客姓名、房源标题、预约时间、联系电话、留言),确认或拒绝预约并填写回复内容,系统自动通知租客。
- 图片上传:支持上传房源图片与头像,后端返回可访问的图片 URL。
四、项目总结
本项目技术选型主流,后端采用 Spring Boot 3 整合 MyBatis-Plus 与 Spring Security JWT,前端使用 Vue 3 Composition API 配合 Element Plus 与 ECharts,前后端分离清晰,接口设计规范。项目内置了 RBAC 权限模型、JWT 身份认证、逻辑删除、文件上传、消息通知等通用能力,可直接用于学习 Spring Boot 3 + Vue 3 全栈开发流程,也可作为租房类业务系统的二次开发底座。适合用于课程设计、毕业设计或中小型 Web 项目的起步模板。
界面展示
交付内容
本项目为完整交付,包含:
- 完整后端源码
- 完整前端源码
- 数据库初始化脚本(SQL)
- 万字项目文档(设计文档 / 论文,可作课程设计、毕业设计参考)
获取完整源码
完整前后端源码 + 数据库脚本 + 万字项目文档见 Gitee 仓库:https://gitee.com/kangxihuang/src-K312