开源一个房屋租赁平台

news2024/11/25 14:46:10

前言

哈喽兄弟们,好久不见哦~

最近整理了一下之前写过的一些小项目/毕业设计。发现还是有很多存货的,虽然这些项目普遍都写的比较简单,但想一想既然放在电脑里面也吃灰,那么还不如开源分享出去,没准还可以帮助到一些小白新手。

本期就在其中选取了一个房屋租赁系统的项目进行分享。在项目资料中,包括了项目的完整源代码、前端模板项目、文档介绍、数据库结构以及一些图片素材。

项目资料获取可前往微信公众号:【薛伟同学】,后台回复:【房屋租赁系统】

项目介绍

房屋租赁系统(verio_house)是一个基于 SSM 开发的标准 Java Web 项目。整体页面非常的简约大气(个人觉得我设计的页面还是非常的 Beautiful)。整体项目的完整度较高,但是当时没有花精力去对接支付系统,所以支付订单的功能是假的,不过还是可以形成业务闭环。非常适合刚刚接触学习 Spring 的技术小白学习,也非常适合学校中的项目答辩或者毕业设计。

角色介绍

系统共设计了三个角色:游客、房东、租客。当时考虑的比较简单,没有设置系统管理员的角色,反正对于一些小项目而且也够用了。

  1. 游客:尚未进行注册和登录。具备登录注册、房源的搜索、查询详情等权限。
  2. 房东:用户角色为房东,有出租房屋需求的群体。具备登录、个人资料的修改、登录密码修改、房源的搜索、查询详情、房源的收藏、查看租房订单、取消订单、房源信息的发布、房源信息的查询管理、房源状态的管理、反馈信息的处理等权限。
  3. 租客:用户角色为租客,有租房需求的群体。具备登录、个人资料的修改、登录密码修改、房源的搜索、查询详情、房源的收藏、创建租房订单、取消订单、删除订单、支付、房源评价、反馈信息的填报等权限。

功能介绍

游客功能介绍
功能模块功能描述
登录注册方面注册成为系统用户
系统主页浏览系统主页、房源信息搜索、房源详情的查看(统计浏览量)
房东功能介绍
功能模块功能描述
登录注册方面填写用户信息进行账号注册、使用邮箱密码进行登录
个人资料方面修改个人资料(姓名、所在地、邮箱、手机号、身份证号、个人说明等)、修改登录密码
订单管理方面查看所有订单、订单详情、取消订单、删除订单
发布房源填写基本信息、填写详细信息、上传封面图片以及房屋照片
房源信息管理自己已发布的房源信息、编辑房源、删除房源、暂停发布、启动发布、租期到期
反馈信息方面查询所有反馈信息、反馈信息搜索、删除反馈、处理反馈
收藏管理方面查询所有收藏信息、收藏信息搜索、取消收藏
系统主页浏览系统主页、房源信息搜索、房源详情的查看(统计浏览量)、收藏房源
租客功能介绍
功能模块功能描述
登录注册方面填写用户信息进行账号注册、使用邮箱密码进行登录
个人资料方面修改个人资料(姓名、所在地、邮箱、手机号、身份证号、个人说明等)、修改登录密码
订单管理方面查看所有订单、创建订单、支付订单(假支付)、订单详情、取消订单、删除订单、评论房源
反馈信息方面反馈信息、查询所有反馈信息、反馈信息搜索、查询详情以及处理意见
收藏管理方面查询所有收藏信息、收藏信息搜索、取消收藏
系统主页浏览系统主页、房源信息搜索、房源详情的查看(统计浏览量)、收藏房源

技术介绍

前端

名称描述
HTML、CSS用于设计网页的内容和样式
JavaScript、JQuery作为开发 Web 页面的脚本语言,为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果
Bootstrap基于 HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷
前端模板房屋租赁系统模板 Verio,模板文件已放在项目目录下
领域技术栈
前端HTML、CSS、JavaScript、JQuery、Bootstrap、前端模板(房屋租赁系统模板 Verio,模板文件已分享)
后端Java、Spring、SpringMVC、MyBatis Plus、Thymeleaf、Druid、阿里云对象存储
开发工具IntelliJ IDEA 2019.2.2、Lombok、WebStorm 2019.2.1、Navcat
开发环境JDK 1.8、Maven 3.6、MySQL 5.7、Tomcat 8.5.78

后端

名称描述
SpringSpring 是 Java EE 编程领域的一个轻量级开源框架,该框架由一个叫 Rod Johnson 的程序员在 2002 年最早提出并随后创建,是为了解决企业级编程开发中的复杂性,实现敏捷开发的应用型框架。Spring 是一个开源容器框架,它集成各类型的工具,通过核心的 Bean factory 实现了底层的类的实例化和生命周期的管理。在整个框架中,各类型的功能被抽象成一个个的 Bean,这样就可以实现各种功能的管理,包括动态加载和切面编程。
SpringMVCSpring MVC 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。
MyBatis PlusMyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
ThymeleafThymeleaf 是一个流行的模板引擎,该模板引擎采用 Java 语言开发的,用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 JSP、Velocity、FreeMaker 等,它也可以轻易的与 Spring MVC 等 Web 框架进行集成作为 Web 应用的模板引擎。
DruidDruid 是一个高效的数据查询系统,主要解决的是对于大量的基于时序的数据进行聚合查询。数据可以实时摄入,进入到 Druid 后立即可查,同时数据是几乎是不可变。通常是基于时序的事实事件,事实发生后进入 Druid,外部系统就可以对该事实进行查询。

开发工具与环境

  • 开发工具

    • IntelliJ IDEA 2019.2.2 主要进行系统的开发、系统调试等
      • 使用到的插件
        • Lombok:使用注解代替在实体类中添加的 get、set方法、toString 方法等
    • WebStorm 2019.2.1 主要进行前端页面的开发。
    • Navcat 主要进行数据库的连接、建库建表、系统调试等。
  • 开发环境

    • JDK 1.8
    • Maven 3.6
    • MySQL 5.7
    • Tomcat 8.5.78
  • 阿里云 OSS 对象存储

    阿里云对象存储 OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,对于我们这个项目而言,所有的二进制文件,包括头像、用户上传的文件都是存储到了 OSS 里面(调用相关的工具类),在数据库中只是保存了文件的 URL 地址。通过这个 URL 地址就可以获取、下载指定文件。

    https://gitee.com/cn_moti/moti-img/raw/master/other/8b11eb7e6311402098beb55845d2ce6a.jpg

项目结构

本项目使用标准 SSM 目录结构,后端使用 MVC 三层架构,具体项目结构如下:

  • src:源码目录
  • src/main/java:源码主体目录
  • src/main/java/xxx/component:java常用组件存放地址,比如登录拦截器【拦截器】
  • src/main/java/xxx/controller:java控制器类存放地址【控制层】
  • src/main/java/xxx/entity:java实体类存放地址【模型】
  • src/main/java/xxx/dao:MyBatis的映射接口存放地址,【数据访问层】
  • src/main/java/xxx/service:java业务层接口存放地址【业务逻辑抽象层】
  • src/main/java/xxx/utils:java工具类存放地址【工具类】
  • src/resources:资源文件存放目录(Spring、SpringMVC、Mybatis、日志、数据源、数据库脚本等)
  • src/main/resources/mybatis:MyBatis配置文件位置
  • src/main/resources/mybatis/mybatis-config.xml:MyBatis全局配置文件
  • src/main/resources/spring/applicationContext.xml:Spring配置文件
  • src/main/resources/springmvc/springmvc-servlet.xml:Spring配置文件
  • src/main/resources/db.properties:数据源配置
  • src/main/resources/log4j.properties:日志配置
  • src/main/resources/verio_house.sql:数据库脚本
  • src/main/webapp/resource:前端静态资源存放地址
  • src/main/webapp/WEB-INF/templates:前端页面存放地址
  • src/main/webapp/WEB-INF/web.xml:Java EE工程文件
  • pom.xml:Maven项目依赖管理文件

注意!如果想要部署本项目,你需要修改两个文件:

  1. 数据库配置文件:src/main/resources/db.properties
  2. 阿里云对象存储配置:src/main/java/com/verio/utils/OssUtil.java

注意 MySQL 的版本是 5.7,使用其它版本可能会出现其它未知问题。

系统截图

系统主页

系统注册

房源搜索

浏览房源

发布房源

我的房屋

支付页面

开源声明

==========================================================================
郑重说明:本项目免费开源!原创作者为:薛伟同学,严禁私自出售。
==========================================================================
B站账号:薛伟同学
微信公众号:薛伟同学
作者博客:http://xuewei.world
==========================================================================
陆陆续续总会收到粉丝的提醒,总会有些人为了赚取利益倒卖我的开源项目。
不乏有粉丝朋友出现钱付过去,那边只把代码发给他就跑路的,最后还是根据线索找到我。。
希望各位朋友擦亮慧眼,谨防上当受骗!
==========================================================================

本项目已在 Github 开源,喜欢的话记得帮忙点亮 Star,不求打赏,免费分享,只求你一个免费的👍,你的支持是我做下去的动力。

https://github.com/373675032/verio-house

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1176168.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

每日一题 --- 力扣318----最大单词长度乘积

这道题时间复杂度我感觉设置的不是很好,应该最好是有一个1000变成10000就行。 因为我在做这道题的时候被误导了,以为双重循环暴力判断一下也能过,因为1000*1000 *26的时间复杂度没有到1亿,那么我刚开始认为是能过的,结…

用Rust和Scraper库编写图像爬虫的建议

本文提供一些有关如何使用Rust和Scraper库编写图像爬虫的一般建议: 1、首先,你需要安装Rust和Scraper库。你可以通过Rustup或Cargo来安装Rust,然后使用Cargo来安装Scraper库。 2、然后,你可以使用Scraper库的Crawler类来创建一个…

海洋专用cmocean颜色包_共22种--全平台可用

海洋专用cmocean颜色包_共22种–全平台可用 往期推荐: Python语言_matplotlib包_共80种–全平台可用 Python语言_single_color_共140种–全平台可用 R语言_RColorBrewer包–全平台可用 R语言gplots包的颜色索引表–全平台可用 R语言中的自带的调色板–五种–全平台…

Python Tkinter快速入门

一、背景 接了一个小活,需要做一个比特币走势分析小工具,客户希望能安装在Mac上,考虑后决定采用Python的Tkintermatplotlib来做,今天我们就来了快速了解一下Tkinter。 二、Tkinter介绍 Tkinter是Tk的Python版本,而T…

Spring boot集成sentinel限流服务

Sentinel集成文档 Sentinel控制台 Sentinel本身不支持持久化,项目通过下载源码改造后,将规则配置持久化进nacos中,sentinel重启后,配置不会丢失。 架构图: 改造步骤: 接着我们就要改造Sentinel的源码。…

灵活多样的流水号生成方式:JVS低代码表单满足你的各种需求

在数字化时代,表单成为了我们日常生活和工作中不可或缺的一部分。无论是在线申请、数据录入还是业务流程管理,表单都发挥着重要的作用。为了确保数据的准确性和可追溯性,流水号的概念应运而生。流水号作为表单数据记录的唯一标识,…

2022ICPC,济南站(M,E,D

初见安~好久好久没写博客了……感觉还是有必要写的。 拿去年济南的题目训练了一下,状态还不错,写一下自己写过了的题目的题解。 M Best Carry Player 题意:给你n个数,交换他们的顺序使依次相加后总的进位次数最少(十…

代码随想录打卡第62天|● 503.下一个更大元素II ● 42. 接雨水

● 503.下一个更大元素II 题目:给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个元素的 下一个更大元素 。 数字 x 的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第…

蓝桥杯每日一题2023.11.6

取位数 - 蓝桥云课 (lanqiao.cn) 题目描述 题目分析 由题意我们知道len中为现阶段长度&#xff0c;如果其与k相等也就是找到了正确的位数&#xff0c;否则就调用递归来进行搜索&#xff0c;每次搜索一位数。 #include <stdio.h> // 求x用10进制表示时的数位长度 int …

你的停机真的优雅么?第二弹来袭 | 京东云技术团队

1. 前言 之前总结了一篇基于现有业务线在停机重启时会产生RPC和MQ调用强杀导致业务数据不一致文章&#xff0c;文中通过优雅停机改造对RPC服务进行反注册和MQ进行暂停消费&#xff0c;进而可以解决在停机时强制kill掉RPC线程或者MQ线程导致数据不一致现象&#xff0c;具体的原…

DolphinDB 流计算优化实践:时延统计与性能调优

在实时计算中&#xff0c;端到端的响应延迟是衡量计算性能时最重要的指标。DolphinDB 内置的流数据框架支持流数据的发布与订阅、流式增量计算、实时关联等&#xff0c;用户能够快速实现复杂的实时计算任务&#xff0c;达到毫秒级甚至亚毫秒级的效果&#xff0c;而无需编写大量…

这8个Wireshark使用技巧,网工屡试屡爽!

你们好&#xff0c;我的网工朋友。 都懂哈&#xff0c;wireshark是个啥我就不多赘述了&#xff0c;软件功能十分强大就对了。 想安装的可以戳这里&#xff1a;《wireshark下载&安装 》 wireshark作为网工的得力助手&#xff0c;你知道哪些使用技巧&#xff1f; 今天就给…

2023软考-系统架构师一日游

上周六&#xff08;11月4号&#xff09;参见了软考&#xff0c;报的系统架构师&#xff0c;今年下半年是第一次推行机考&#xff0c;简单来分享下大致流程&#xff0c;至于考试难度、考点什么的&#xff0c;这个网上有很多专门研究这些的机构&#xff0c;本人无权发言。考试的经…

每日一题 318. 最大单词长度乘积(中等)

暴力求解没超时&#xff0c;那就这样吧 class Solution:def maxProduct(self, words: List[str]) -> int:ans 0for i in range(len(words)):for j in range(i 1, len(words)):if len(words[i]) * len(words[j]) < ans:continuet 0for k in range(26):ch chr(k ord(…

XCTF-Crypto1

Caesar 题目描述 oknqdbqmoq{kag_tmhq_xqmdzqp_omqemd_qzodkbfuaz} 分析解密 根据题目Caesar推测是凯撒加密 当偏移量为12时&#xff0c;成功得到flag&#xff1a;cyberpeace{you_have_learned_caesar_encryption} Morse 题目描述 11 111 010 000 0 1010 111 100 0 00 000 …

外汇天眼:不要等到被骗才追悔莫及,远离以下被吊销牌照的平台!

监管信息早知道&#xff01;外汇天眼将每周定期公布监管牌照状态发生变化的交易商&#xff0c;以供投资者参考&#xff0c;规避投资风险。如果平台天眼评分过高&#xff0c;建议投资者谨慎选择&#xff0c;因为在外汇天眼评分高不代表平台没问题&#xff01; 以下是监管牌照发生…

FAT32转换成NTFS免费软件Tuxera NTFS2024

很多人在使用电脑时都没有注意过系统中的磁盘是哪种格式。一般目前常用的磁盘格式分为FAT32和NTFS两种。那么它们哪种更适合我们以及如何将磁盘格式转换成该格式呢&#xff1f; Tuxera NTFS2023最新免费版下载如下&#xff1a; https://wm.makeding.com/iclk/?zoneid58824 实…

NTP8918(2x15W双通道立体声内置DSP数字功放)

NTP8918是一款高性能、高保真功率驱动集成全数字音频放大器&#xff1b;内置DSP采用I2S输出&#xff1b;可提供2x15W的输出&#xff08;BTL模式&#xff09;或者30W的单通道输出&#xff08;PBTL模式&#xff09;具备可靠性高、功率足、音色出众、适应能力强等优势。 该芯片工…

【TES745D】青翼自研基于复旦微的FMQL45T900全国产化ARM核心模块(100%国产化)

板卡概述 TES745D是一款基于上海复旦微电子FMQL45T900的全国产化ARM核心板。该核心板将复旦微的FMQL45T900&#xff08;与XILINX的XC7Z045-2FFG900I兼容&#xff09;的最小系统集成在了一个87*117mm的核心板上&#xff0c;可以作为一个核心模块&#xff0c;进行功能性扩展&…

docker安装(超详细)

一.引言 本安装教程参考Docker官方文档&#xff0c;地址如下&#xff1a;https://docs.docker.com/engine/install/centos/ 二.卸载旧版docker(第一次安装可忽略) 首先如果系统中已经存在旧的Docker&#xff0c;则先卸载&#xff1a; yum remove docker \docker-client \docker…