智慧房屋租赁管理系统

智慧房屋租赁管理系统

基于 Spring Boot 3.2 + Vue 3 + Element Plus + MySQL 8 的前后端分离房屋租赁系统。

项目截图

技术栈

层级 技术
后端 JDK 17, Spring Boot 3.2, Spring Security, JWT, MyBatis Plus, MySQL 8, Redis, MinIO(可选), Swagger
前端 Vue 3, Vite, Element Plus, Vue Router 4, Pinia, Axios, ECharts

功能模块

  • 用户:注册/登录(手机、邮箱、用户名)、JWT+Refresh Token、角色(管理员/房东/租客)、个人资料与头像
  • 房源:发布/编辑、多图上传、状态(待审核/上架/下架/已出租)、搜索筛选(城市、价格、户型、面积)
  • 预约看房:租客预约、房东确认/拒绝
  • 订单:创建订单、待支付→已支付→履约中→已完成、模拟支付、取消
  • 消息:系统消息、站内信、未读数量
  • 管理后台:数据统计、用户禁用/启用、房源审核、公告/轮播(数据表已建)

快速开始

1. 数据库

创建库并导入表结构与初始数据:

bash 复制代码
mysql -u root -p < backend/src/main/resources/db/schema.sql
mysql -u root -p < backend/src/main/resources/db/data.sql

或手动执行 backend/src/main/resources/db/schema.sqldata.sql

初始账号(密码均为 123456):

账号 角色
admin 管理员
landlord1 / landlord2 房东
tenant1 / tenant2 租客

2. 后端

bash 复制代码
cd backend
# 修改 application.yml 中 datasource、redis 等配置
mvn spring-boot:run

3. 前端

bash 复制代码
cd frontend
npm install
npm run dev

访问 http://localhost:5173 ,前端通过 Vite 代理将 /api 转发到后端 8080。

项目结构

复制代码
HouseRentalSystem/
├── backend/                 # Spring Boot
│   ├── src/main/java/com/smart/rental/
│   │   ├── common/          # 统一结果、异常处理
│   │   ├── config/          # 安全、JWT、MinIO、MyBatis
│   │   ├── controller/     # 认证、用户、房源、订单、预约、消息、上传、公开、管理
│   │   ├── entity/         # 实体
│   │   ├── mapper/         # MyBatis Plus Mapper
│   │   ├── security/       # JWT 过滤与工具
│   │   └── service/        # 业务逻辑
│   └── src/main/resources/
│       ├── application.yml
│       └── db/             # schema.sql, data.sql
├── frontend/                # Vue 3 + Vite
│   ├── src/
│   │   ├── api/            # 请求封装与各模块 API
│   │   ├── router/         # 路由与鉴权
│   │   ├── stores/        # Pinia(用户状态)
│   │   └── views/         # 登录、首页、房源、订单、预约、消息、个人中心、管理后台
│   └── vite.config.js      # 代理 /api -> 8080
└── README.md

说明

  • 支付为模拟,仅更新订单状态与流水记录。
  • 合同生成与 PDF 导出、续租提醒等可在现有订单/消息模块上扩展。
  • 轮播图、公告已建表并预留接口,管理端 CRUD 可后续在后台管理中增加页面与接口。
相关推荐
一点一木3 小时前
深度体验TRAE SOLO移动端7天:作为独立开发者,我把工作流揣进了兜里
前端·人工智能·trae
天外飞雨道沧桑4 小时前
TypeScript 中 omit 和 record 用法
前端·javascript·typescript
Lee川4 小时前
mini-cursor 揭秘:从 Tool 定义到 Agent 循环的完整实现
前端·人工智能·后端
canonical_entropy5 小时前
从 Spec-Driven Development 到 Attractor-Guided Engineering
前端·aigc·ai编程
研☆香5 小时前
聊聊前端页面的三种长度单位
前端
给钱,谢谢!5 小时前
React + PixiJS 实现果园成长页:从状态机到浇水动画
前端·react.js·前端框架
暗冰ཏོ6 小时前
VUE面试题大全
前端·javascript·vue.js·面试
次元工程师!6 小时前
LangFlow开发(三)—Bundles组件架构设计(3W+字详细讲解)
java·前端·python·低代码·langflow
Bug-制造者7 小时前
现代Web应用全栈开发:从架构设计到部署落地实战
前端
青春喂了后端8 小时前
IntelliGit 前端状态层重构:把一个全局 Store 拆成清晰的状态边界
前端·重构·状态模式