• 基于Python的房屋租赁管理系统(附源码)


    完整项目源码下载链接在文章结尾处,大家自行下载即可~

    一、项目背景

    传统的线下租房不便、途径少、信息更新慢,导致房屋租赁效率低。为了有效的提升租赁效率和房源信息管理和提供更优质的租赁服务。f房东好租、用户满意。本系统用户分为租客、房东、管家、管理员四种角色。

    • 租客:浏览房源、收藏房源、预定房源、发布租房需求、查看电子合同。
    • 房东:发布房源、订单管理、查看电子合同。
    • 管家:查看房源信息、回复咨询、线下带看房源。
    • 管理员:用户管理、房源管理、订单管理、租房需求、实名认证、系统公告管理。

    二、项目体验

    项目体验地址 http://43.138.220.206/static/index.html 由于注册需要发送短信验证码,而手机验证码服务现在只能给我的测试手机号发送验证码,因此不能使用注册服务。大家可以使用已有账号去登录体验。

    账号类别用户名密码备注
    用户账号hui123456租客账号
    用户账号wang123456房东账号

    三、项目启动

    1. 准备好MySQL 与 Redis数据库服务,修改相关数据库配置信息
    2. 申请第三方服务:七牛云的OSS服务、容联云的短信服务、阿里的支付服务、百度地图服务
    3. 依赖于 Python 3.7.9 编程环境
    4. 安装 requirements.txt 项目依赖 pip install -r requirements.txt
    5. 启动项目 python run.py
    6. 如果成功在本地启动项目,访问 http://127.0.0.1:8080/docs 地址查看接口文档

    四、项目部署

    1. 确保Mysql、Redis服务正常
    2. 在存在Dockerfile文件的项目目录下构建镜像 docker build -t house_rental_image . (最后.不要忘记)
    3. 运行镜像产生容器 docker run -d --name house_rental_container -p 80:80 house_rental_image
    4. docker ps 查看容器是否启动

    五、系统整体功能图

    六、项目结构

    项目开发整体采用的是Python的FastAPI框架来搭建系统的接口服务,接口设计遵循 Restful API接口规范。接口前后端交互都采用json格式进行数据交互,项目整体的结构如下:

    1. ─house_rental
    2. ├─commons ------------------------- 项目公共模块
    3. │ ├─exceptions ------------------- 项目全局异常模块
    4. │ ├─libs ------------------------- 第三方服务模块
    5. │ ├─responses -------------------- 项目全局响应模块
    6. │ ├─settings --------------------- 项目配置
    7. │ └─utils ------------------------ 项目工具类
    8. ├─constants ----------------------- 项目常量模块
    9. ├─logic --------------------------- 项目逻辑模块
    10. ├─managers ------------------------ 项目数据库模型管理器模块
    11. ├─middlewares --------------------- 项目中间件模块
    12. ├─models -------------------------- 项目数据库模型模块
    13. ├─routers ------------------------- 项目路由模块
    14. │ ├─admin ------------------------ 后台管理路由
    15. │ │ ├─apis ---------------------- 后台管理路由接口
    16. │ │ ├─request_models ------------ 后台路由请求模型
    17. │ │ └─response_models ----------- 后台路由响应模型
    18. │ ├─common ----------- 公共路由模块
    19. │ │ ├─apis
    20. │ │ ├─request_models
    21. │ │ └─response_models
    22. │ ├─house ------------ 房源路由模块
    23. │ │ ├─apis
    24. │ │ ├─request_models
    25. │ │ └─response_models
    26. │ ├─order ------------ 订单路由模块
    27. │ │ ├─apis
    28. │ │ ├─request_models
    29. │ │ └─response_models
    30. │ ├─payment ---------- 支付路由模块
    31. │ │ ├─apis
    32. │ │ ├─request_models
    33. │ │ └─response_models
    34. │ ├─user ------------- 用户路由模块
    35. │ │ ├─apis
    36. │ │ ├─request_models
    37. │ │ ├─response_models
    38. └─__init__.py --------- 项目初始化文件
    39. └─Dockerfile ----------------- 项目docker部署文件
    40. └─requirements.txt ----------- 项目依赖库文件
    41. └─README.md ------------------ 项目说明文档
    42. └─run.py --------------------- 项目启动入口

    七、项目Redis缓存设计

    Redis key 规范:

    1. project : module : business : unique key
    2. 项目名 : 模块名 : 业务 : 唯一区别key
    3. 例如:用户手机短信验证码缓存
    4. house_rental:user:sms_code:13022331752

    用户模块缓存

    Key类型过期时间说明
    house_rental:user:sms_code:{mobile}string5分钟存储用户手机短信验证码

    | | | | |

    房源模块缓存

    Key类型过期时间说明
    house_rental

    {user_id}
    set不过期存储用户收藏的房源id
    house_rental:house:home_houses:{city}string15天首页房源信息缓存,存储json
    house_rental

    facilities
    string3个月房源设施缓存,存储json
    house_rental:house:detail:{house_id}string15天房源详情缓存,存储json

    其他缓存

    Key类型过期时间说明
    house_rental:common:areasstring3个月存储省市区json字符串数据

    八、系统整体ER图

    房屋属性太多故在整体ER图省略 

    实际表属性更多进行了垂直分表。

    九、项目界面展示

    1、首页

    2、登录注册

    3、房源列表

    4、房源收藏

    5、房源详情

      

    6、房源地图服务

    7、房源订单

    8、电子合同

    9、求租管理

    10、系统公告

    11、房东房源管理

    12、房东发布房源

    十、项目源码下载

    项目源码下载链接:https://download.csdn.net/download/weixin_47367099/85457369

  • 相关阅读:
    springboot快速开发web CRUD
    JVM参数及默认值
    JVM 问题排查-可视化工具
    Linux命令
    React项目实战之租房app项目(一)项目搭建&底部导航栏
    面试突击81:什么是跨域问题?如何解决?
    mobx基础及在react中的使用
    k8s基于kubectl命令管理资源并分配
    复杂多层布局的初级智能文本提示器
    远程仓库(一)之git 小乌龟安装教程
  • 原文地址:https://blog.csdn.net/qq_38082146/article/details/124963509