智慧房屋租赁管理系统

智慧房屋租赁管理系统

基于 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.sql 和 data.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 可后续在后台管理中增加页面与接口。
相关推荐
Csvn5 小时前
WASM
前端
修己xj7 小时前
我用 AI 给自己写了一个 Markdown 编辑器,然后把它开源了
前端
FRing037 小时前
vue2干货总结2(v-bind、v-for、v-model、指令修饰符、v-bind操作class和style)
开发语言·前端·vue.js·vue2
幸运小猿7 小时前
模拟慢上传-处理超时重试image 丢失线上问题
前端·javascript·html
moshuying9 小时前
网购能买Token了!
前端
h_65432109 小时前
echarts实现柱状图加一条横线
前端·echarts
风骏时光牛马9 小时前
生成一个后端标题,只需要一个标题,不需要其他的任何文本。
前端
子非鱼@Itfuture9 小时前
关于前后端联调中登录状态/登录信息失效?
java·前端
郭小李9 小时前
openFeign入门
java·开发语言·前端
馒头不想说话9 小时前
AI当运营,帮你省人力
前端