【SpringBoot + Vue 尚庭公寓实战】项目介绍(一)

【尚庭公寓SpringBoot + Vue 项目实战】项目介绍(一)


文章目录

      • 【尚庭公寓SpringBoot + Vue 项目实战】项目介绍(一)
        • 1、项目业务概述
        • 2、移动端介绍
        • 3、 后台管理系统
        • 4、 核心业务流程
        • 5、项目技术概述
        • 5、数据库设计

1、项目业务概述

尚庭公寓是一个公寓租赁平台项目,包含移动端后台管理系统,其中移动端面向广大用户,提供找房、看房预约、租约管理等功能,后台管理系统面向管理员,提供公寓(房源)管理、租赁管理、用户管理等功能。下面分别介绍两端的具体业务功能。

2、移动端介绍

image-20240606143131415

各功能模块具体内容如下

  • 房源检索

    用户可以使用这个功能来搜索和检索符合其需求的房源。他们可以根据不同的条件,如地理位置、租金范围、支付方式等,快速找到适合的房源。

  • 1看房预约管理

    用户可以通过这个功能预约看房。他们可以选择合适的时间,预约在特定的公寓进行实地看房,以便更好地了解房源的情况和环境。

  • 租约管理

    这个功能允许用户查看和管理他们的租约信息。他们可以在移动端查看租约合同,以及提交租约终止或延长的请求。

  • 房源浏览历史

    用户可以在这里查看他们曾经浏览过的房源历史记录。这个功能可以帮助用户追踪之前感兴趣的房源,方便他们重新查看或做出决策。

3、 后台管理系统

image-20240606143141584

各功能模块具体内容如下

  • 公寓信息管理

    这个模块负责管理所有公寓的基本信息,包括公寓名称、地址、联系方式等。管理员可以在这里添加、编辑、删除公寓信息。

  • 房间信息管理

    该模块负责管理每个公寓内各个房间的详细信息,包括房间号、户型、面积、租金等。管理员可以在这里进行房间信息的添加、编辑和删除。

  • 公寓/房间属性管理

    这个模块允许管理员定义公寓和房间的各种属性,比如公寓和房间的配套设施,方便管理员在维护公寓信息和房间信息时进行选择。

  • 看房预约管理

    该模块用于管理用户的看房预约请求。用户可以在移动端提交看房预约,管理员可以在后台管理系统中查看和处理这些请求,以方便安排人员接待用户。

  • 租约管理

    这个模块用于管理租约的创建、修改和终止。管理员可以在这里生成租约合同,并发送给用户签约。

  • 后台系统用户管理

    该模块用于管理后台系统的用户账户信息,管理员可以创建、编辑、删除、禁用账户信息。

  • 移动端用户管理

    这个模块负责管理移动端用户的信息。管理员可以查看用户信息,处理账户相关问题。

4、 核心业务流程

本项目的核心业务流程为签约、续约、退租,具体流程如下图所示

image-20240606143201229

在上述的业务流程中,会涉及到租约状态的多次变化,下面详细介绍一下租约状态。租约共有7个状态,分别是签约待确认已签约已取消已到期退租待确认已退租续约待确认,以下是这些状态的变化流程。

image-20240606143218304

5、项目技术概述

本项目的技术架构如下图所示。

image-20240606143233508

项目采用前后端分离的模式,下面介绍各模块用到的技术。

  • 前端

    • 框架:VUE3
  • 后端

    • 框架:Spring Boot

    • 数据库访问:MyBatis、MyBatis Plus

      MyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

    • Web:Spring MVC

  • 数据存储

    • 关系型数据库:MySQL

    • 缓存:Redis

    • 对象存储:MinIO

      MinIO是一个开源的对象存储方案,兼容亚马逊S3协议。

      对于对象存储,我们可以选择直接购买各大云厂商提供的服务,也可以选择使用开源的服务,自行安装和维护。本项目采用开源的对象存储Minio来存储图片信息。

  • 部署

    • 前端服务器:Nginx
5、数据库设计

概念模型设计

根据原型可得,本项目包含的实体有公寓房间用户(租客)租约(合同)看房预约浏览历史后台管理系统用户,各实体间的关系如下

image-20240606143246911

逻辑模型设计

根据原型明确各实体所需属性并明确各表关联字段,得到的完整的逻辑模型如下图所示。下面逐一分析。

image-20240606143259284

公寓信息

公寓信息包含的属性有公寓名称公寓简介公寓地址公寓联系方式公寓图片公寓标签公寓杂费公寓发布状态,这部分的逻辑模型如下图所示

房间信息

房间信息包含的属性有房间号房间租金房间所属公寓房间可选租期房间可选支付方式房间属性房间标签房间配套房间图片房间发布状态,这部分的逻辑模型如下图所示

image-20240606143311030

用户信息

用户信息包含的属性有手机号码密码头像昵称账号状态,这部分的逻辑模型如下

项目模型-逻辑模型-用户信息.drawio

看房预约信息

看房预约包含的属性有预约用户信息预约公寓信息预约时间备注信息预约状态,这部分的逻辑模型如下

image-20240606143321534

租约信息

租约信息包含签约用户信息签约房间信息租期支付方式租约来源租金押金,这部分的逻辑模型如下

image-20240606143328429

浏览历史信息

浏览历史指的是用户浏览房间详情的历史,包含的属性有用户信息房间信息浏览时间,这部分的逻辑模型如下

image-20240606143340859

后台管理用户信息

后台管理系统用户包含的属性有,这部分的逻辑模型如下

image-20240606143352640

物理模型设计

本项目采用MySQL数据库,所有表均使用InnoDB存储引擎,完整的物理模型如下图

image-20240606143404764

注意

  • 所有表均省略了create_timeupdate_timeis_deleted三个字段。
  • 所有的状态或类型字段(例如租约状态),均使用数字表示

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

青否数字人直播源码超级管理后台操作步骤!

青否数字人直播源码超级管理后台,我们将详细介绍一下数字人的管理后台的详细操作步骤! 1.管理端入口 2.管理后台预览 账号管理,模特管理,声音管理,任务管理,卡类管理,代理商,克隆端 …

【WP|9】深入解析WordPress [add_shortcode]函数

add_shortcode 是 WordPress 中一个非常强大的函数,用于创建自定义的短代码(shortcodes)。短代码是一种简洁的方式,允许用户在内容中插入动态的、可重用的功能。通过 add_shortcode,开发者可以定义自己的短代码&#x…

xstream运用,JAVA对象转xml,xml转JAVA对象

目录 xstream 优点: 缺点: XStream的应用场景 用到的依赖 代码实现 xml标签对应的实体类 Header Package Request Response TradeInfo 工具类 XmlUtils 执行结果 xstream XStream是一个Java类库,主要用于将对象序列化为XML&#xf…

Cochrane Library循证医学数据库的介绍及文献下载

今天要讲的数据库是Cochrane Library循证医学数据库,我们先来了解一下该数据库: Cochrane Library是国际Cochrane Collaboration的主要产品,由英国Wiley InterScience公司出版发行。是一个提供高质量证据的数据库,是循证医学的证…

如何在centos中关闭swap分区

目录 前言 为什么要关闭 Swap 分区? 如何在 CentOS 中临时关闭 Swap 分区? 如何在 CentOS 中永久关闭 Swap 分区? 验证swap是否被关闭 潜在的风险和注意事项 总结 前言 Swap 分区是 Linux 系统中用于扩展物理内存的一种机制。在物理内存…

vs code 导出插件 导入到新电脑上

1. 在 现在的电脑上 导出插件 在vscode 上执行 code --list-extensions > extensions.txt 然后项目的目录就有了一个文件 2. 将他复制到新电脑上,把文件放在项目的最外层(跟上面的目录一样) 执行命令 Get-Content extensions.txt | ForE…

华硕NUC 14 Pro+ :科技与艺术相得益彰

什么样的迷你主机可以称之为“艺术品”?让我们一起认识NUC 14 Pro,看科技与艺术可以交汇出怎样的独特韵味? 科技与美学的邂逅 华硕NUC 14 Pro不仅是一台性能强劲的电脑主机,更像是一件可以在桌面“展出”的艺术品。精致小巧的体积…

【C++进阶】深入STL之vector:深入研究迭代器失效及拷贝问题

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C “ 登神长阶 ” 🤡往期回顾🤡:初步了解vector 🌹🌹期待您的关注 🌹🌹 ❀STL之vector 📒1. 迭…

聚焦热点-“十五五”规划 国家发改委前期研究课题汇总

聚焦热点-“十五五”规划 国家发改委前期研究课题汇总 随着“十五五”规划的脚步日益临近,国家发改委及地方相关机构已启动了前期研究工作,以确保地方规划能够准确把握时代脉搏,推动经济社会的高质量发展。 2023年12月17日至18日&#xff0…

10.爬虫---XPath插件安装并解析爬取数据

10.XPath插件安装并解析爬取数据 1.XPath简介2.XPath helper安装3.XPath 常用规则4.实例引入4.1 //匹配所有节点4.2 / 或 // 匹配子节点或子孙节点4.3 ..或 parent::匹配父节点4.4 匹配属性4.5 text()文本获取4.6 属性获取4.7 属性多值匹配 1.XPath简介 XPath是一门在XML文档中…

【WP】猿人学13_入门级cookie

https://match.yuanrenxue.cn/match/13 抓包分析 抓包分析发现加密参数是cookie中有一个yuanrenxue_cookie 当cookie过期的时候&#xff0c;就会重新给match/13发包&#xff0c;这个包返回一段js代码&#xff0c;应该是生成cookie的 <script>document.cookie(y)(u)(a…

RocketMQ可视化界面安装

RocketMQ可视化界面安装 **起因&#xff1a;**访问rocketmq-externals项目的git地址&#xff0c;下载了源码&#xff0c;在目录中并没有找到rocketmq-console文件夹。 git下面文档提示rocketMQ的仪表板转移到了新的项目中&#xff0c;点击仪表板到新项目地址&#xff1b; 下载…

flutter封装日历选择器(单日选择)

简单封装&#xff1a; 引入库&#xff1a;table_calendar import package:generated/l10n.dart; import package:jade/utils/JadeColors.dart; import package:jade/utils/Utils.dart; import package:util/easy_loading_util.dart; import package:flutter/material.dart; im…

【Python报错】已解决ModuleNotFoundError: No module named ‘gensim’

成功解决“ModuleNotFoundError: No module named ‘gensim’”错误的全面指南 在Python编程中&#xff0c;尤其是进行文本挖掘和自然语言处理&#xff08;NLP&#xff09;时&#xff0c;gensim库是一个常用的工具&#xff0c;用于主题建模、文档相似度计算、词向量表示&#x…

泽众云真机-上线海外机型测试专栏

泽众云真机平台&#xff0c;2024上半年70机型升级&#xff0c;也包括热门的海外机型。 但是&#xff0c;运营客服反馈&#xff0c;用户找不到平台海外机型在哪里&#xff0c;我们发现海外机型排列位置有问题&#xff0c;用户不易发现。目前问题已解决&#xff0c;上线海外机型测…

应对800G以太网挑战:数据中心迁移

在过去几年中&#xff0c;云基础设施和服务的大规模使用推动了对更多带宽、更快速度和更低延迟性能的需求。交换机和服务器技术的改进要求布线和架构随之调整。因此&#xff0c;800G以太网对数据中心迁移的需求&#xff0c;特别是对速率&#xff08;包括带宽、光纤密度和通道速…

MySQL学习——选项文件的使用

MySQL 的许多程序都可以从选项文件&#xff08;有时也被称为配置文件&#xff09;中读取启动选项。选项文件提供了一种方便的方式来指定常用的选项&#xff0c;这样你就不必每次运行程序时都在命令行上输入这些选项。 要确定一个程序是否读取选项文件&#xff0c;你可以使用 -…

搭建高可用k8s

高可用只针对于api-server&#xff0c;需要用到nginx keepalived&#xff0c;nginx提供4层负载&#xff0c;keepalived提供vip(虚拟IP) 系统采用openEuler 22.03 LTS 1. 前期准备 因为机器内存只有16G&#xff0c;所有我采用3master 1node 1.1 修改主机配置&#xff08;所有节…

单投币的充电桩如何加装一个扫码模块

充电桩需要投币才能充电&#xff0c;可是现在的人们很少有带硬币的习惯&#xff0c;扫码成为了一个常规的手段。我们也会发现有的充电桩无法扫码&#xff0c;或者说扫码无效&#xff0c;那是因为充电桩没有安装扫码模块&#xff0c;那么充电桩该如何加装扫码模块。 首先将充电桩…

Podman和Docker的区别

Podman 和 Docker 都是用于容器化的工具&#xff0c;但它们在架构、安全性、容器编排以及一些设计理念上有显著的区别&#xff1a; 架构设计: Docker 使用客户端-服务器&#xff08;C/S&#xff09;架构&#xff0c;包含一个名为 dockerd 的守护进程&#xff0c;该进程以 root …