当前位置: 首页 > news >正文

耗时几个月,终于决定把原本想用于商业的系统开源了

前言

嗨,大家好,我是希留,一个被迫致力于全栈开发的老菜鸟。

今天又来给小伙伴们分享一个基于 SpringBoot + Vue 实现的前后端分离后台管理系统项目;

简介

这个项目是基于xiliu-tenant脚手架项目搭建而成,原本是帮朋友公司做的一个租赁管理系统,用来管理房态信息、办理入住等。对方没给设计图、也没有提具体需求,只是让我凭感觉来做。在项目做了几个月后,因业务调整,所以就没有后续了,想着与其直接删除还不如开源分享给大家一起讨论学习。

项目虽然没有做的很完整,但是整体的数据架构还算是可以的,可以很容易进行功能完善和添加新功能。

由于本人的精力有限,还有很多地方没法完善,如有感兴趣的朋友,欢迎加入一起完善,共同进步!

功能设计

系统的基础设计可以参考发布的上一篇文章这么优秀的开源脚手架项目,我不允许还有人不知道,这里介绍一下新加的一些功能点吧

集成了百度地图

集成步骤参考:前端Vue项目如何集成地图实现地图选址功能

集成了easyexcel

集成了easyexcel,实现导入导出功能。

内置功能

序号模快说明
1租户管理配置系统租户,支持 SaaS 场景下的多租户功能。
2配置租户套餐自定每个租户的菜单、操作、按钮的权限。
3用户管理用户是系统操作者,该功能主要完成系统用户配置。
4部门管理配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
5菜单管理配置系统菜单,操作权限,按钮权限标识等。
6角色管理角色菜单权限分配、设置角色按机构进行数据范围权限划分。
7字典管理对系统中经常使用的一些较为固定的数据进行维护。
8操作日志系统正常操作日志记录和查询;系统异常信息日志记录和查询。
9登录日志系统登录日志记录查询包含登录异常。
10在线用户当前系统中活跃用户状态监控。
11代码生成前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
12系统接口根据业务代码自动生成相关的api接口文档。
13服务监控监视当前系统CPU、内存、磁盘、堆栈等相关信息。
14缓存监控监视当前缓存的相关信息。
15房源管理房源添加、导入等信息。

核心技术

依赖

  • [Mysql] 5.7+
  • [Jdk] 1.8+
  • [Maven] 3.0+
  • [Redis] 3.0+

后端

  • Spring Boot2.5.4.RELEASE: Spring Boot是一款开箱即用框架,让我们的Spring应用变的更轻量化、更快的入门。在主程序执行main函数就可以运行。你也可以打包你的应用为jar并通过使用java -jar来运行你的Web应用;
  • Mybatis-plus3.5.1: MyBatis-plus(简称 MP)是一个 MyBatis (opens new window) 的增强工具。
  • Spring Security: 认证和授权框架
  • JWT: 登录支持
  • Redis: 分布式缓存
  • Easyexcel: 简化导入导出工具

前端

  • npm:node.js的包管理工具,用于统一管理我们前端项目中需要用到的包、插件、工具、命令等,便于开发和维护。
  • webpack:用于现代 JavaScript 应用程序的_静态模块打包工具
  • ES6:Javascript的新版本,ECMAScript6的简称。利用ES6我们可以简化我们的JS代码,同时利用其提供的强大功能来快速实现JS逻辑。
  • vue-cli:Vue的脚手架工具,用于自动生成Vue项目的目录及文件。
  • vue-router:Vue提供的前端路由工具,利用其我们实现页面的路由控制,局部刷新及按需加载,构建单页应用,实现前后端分离。
  • element-ui:基于MVVM框架Vue开源出来的一套前端ui组件。
  • avue: 用该组件包裹后可以变成拖拽组件,采用相对于父类绝对定位;用键盘的上下左右也可以控制移动
  • vue-echarts: vue-echarts是封装后的vue插件,基于 ECharts v4.0.1+ 开发

系统截图

开源地址:

github:https://github.com/277769738/xiliu-lease-tenant

gitee:https://gitee.com/huoqstudy/xiliu-lease-tenant

  • 在线体验:https://lms.xiliu.online
  • 平台管理员:admin/123456
  • 租户1管理员:yz_admin/123456
  • 租户2管理员:test_admin/123456

总结

以上就是本文的全部内容了,感谢大家的阅读。

如果觉得文章对你有帮助,还不忘帮忙点赞、收藏、关注、评论哟,您的支持就是我创作最大的动力!

相关文章:

耗时几个月,终于决定把原本想用于商业的系统开源了

前言 嗨,大家好,我是希留,一个被迫致力于全栈开发的老菜鸟。 今天又来给小伙伴们分享一个基于 SpringBoot Vue 实现的前后端分离后台管理系统项目; 简介 这个项目是基于xiliu-tenant脚手架项目搭建而成,原本是帮朋…...

HarmonyOS应用端云一体化开发主要流程

图示 主要步骤 序号 阶段 任务 说明 1 创建端云一体化开发工程 选择工程类型与云开发模板 确定工程类型:选择“Application”或“Atomic Service”页签,确定创建的是HarmonyOS应用工程还是原子化服务工程。选择云开发模板,包括通用云开…...

NoSQL之 Redis配置与优化

NoSQL之 Redis配置与优化 ---------------------- 关系数据库与非关系型数据库 ---------------------------------------- ●关系型数据库: 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一…...

Redis哨兵模式

1.哨兵模式是什么 解释一 哨兵巡查监控 master主机是否故障,如果故障了,根据投票数自动将一个从库转换为新数据库,继续对外服务。 解释二 监控redis 的运行状态,包括master和slave当master宕机后,能自动将slave切换…...

数据库管理-第七十六期 如何升级19c RAC(20230516)

数据库管理 2023-05-16 第七十六期 如何升级19c RAC1 回头处理2 升级AHF3 升级GI及DB3.1 拷贝所需文件3.2 升级OPatch3.3 升级GI与DB3.4 应用SQL变更 4 升级OJVM4.1 解压补丁4.2执行补丁冲突检查:4.3 升级OJVM4.4 应用SQL变更 5 最终验证总结 第七十六期 如何升级19…...

组合预测模型 | ARIMA-CNN-LSTM时间序列预测(Python)

组合预测模型 | ARIMA-CNN-LSTM时间序列预测(Python) 目录 组合预测模型 | ARIMA-CNN-LSTM时间序列预测(Python)预测结果基本介绍程序设计参考资料 预测结果 基本介绍 ARIMA-CNN-LSTM是一种结合了传统时间序列模型和深度学习模型的…...

实验四 面向对象分析与设计——UML类图与时序图

一、实验目的: 掌握面向对象分析中静态结构模型与动态行为模型的基本思想。学会识别系统中的类、类的属性和操作以及类之间的关系,掌握UML类图的绘制方法。了解时序图的作用和组成元素,掌握UML时序图的绘制方法。 二、实验仪器及实验环境&a…...

最短路径问题

如图,设定源点为D,终点为A,则D到A的最短路径是多少? 算法思路: 第一步,从源点D出发,此时能到达的选择是C和E,我们根据路径长度选择最少的作为下一个节点,于是选择C&…...

国内有哪些SAAS软件?SAAS软件有哪些优点?

国内有哪些SAAS软件?SAAS软件有哪些优点?不请自来答一下,通过SaaS软件与传统软件的对比来详细讲下SaaS软件有哪些优点? 配合以下内容食用更佳: 关于概念——深度详解什么是SaaS(软件即服务)关…...

分享两组不同的3D VR卡片

最近某音上出现了很多VR视频,转动手机可以看到手机界面未显示出来的场景。这种事情我觉得我们也可以做到。 所以两种不同的3D VR卡片来了: 第一种是横向或上下可以拖动极大的距离。卡片上的信息会随着拖动移动,但不会显示更多的信息&#x…...

外贸人如何精准开发客户?Facebook开发客户全攻略

现在做跨境的都了解的一个社媒平台就是Facebook了,因为很多人都会拿Facebook来开发客户,忙里偷闲,今天东哥就来聊聊用Facebook开发客户的一些心得。 用Facebook开发客户的心得 1、利用关键词搜索 使用行业相关的关键词、产品特定的关键词、相…...

一、Git安装(Git+TortoiseGit图形化)

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式…...

mysql死锁,如何产生?如何发现?如何处理?

1 产生死锁 就是资源互斥 例子如下 好的,请参考以下 SQL 语句来创建 base_account_item 表和向表中插入一些数据: CREATE TABLE base_account_item (id INT(11) NOT NULL,account_item_name VARCHAR(50) NOT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEF…...

YOLO V1-V3 简单介绍

目录 1. YOLO 2. YOLO V1 3. YOLO V2 4. YOLO V3 5. YOLO V3 SPP网络 5.1 Mosaic 图像增强 5.2 SPP 模块 5.3 CIou Loss 5.4 Focal loss 1. YOLO YOLO 是目标检测任务强大的算法,将目标检测的问题转换边界框和相关概率的回归问题,是目标检测…...

数据结构总结1:了解数据结构、时间复杂度、空间复杂度

后续可能会有补充和更改 目录 一、数据结构 1.算法介绍 二、时间复杂度、空间复杂度 三、练习 1.时间复杂度 2.空间复杂度 一、数据结构 数据结构是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。 数据结构和数据库的区…...

abstract class和interface有什么区别?

含有abstract修饰符的class即为抽象类,abstract 类不能创建的实例对象。含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的。abstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以&#xf…...

Kafka在Java项目中的应用

Kafka在Java项目中的应用 Docker 安装Kafka 一.首先需要安装docker,可看这篇文章安装docker 二.拉取zookeeper和KafKa镜像 docker pull wurstmeister/zookeeperdocker pull wurstmeister/kafkaKafka组件需要向zookeeper进行注册,所以也需要安装zookeeper 三.启动zookeeper…...

理解分布式id生成算法SnowFlake

理解分布式id生成算法SnowFlake 分布式id生成算法的有很多种,Twitter的SnowFlake就是其中经典的一种。 概述 SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图: } public function __construct(){ $this->rnew…...

光纤收发器可以连接光模块吗?

随着科技的进步发展,城市信息化速度的加快,光通信产品在数据中心和安防监控等场景中的运用越来越广泛,而这之间的连接则需要光模块和光纤收发器来实现。很多用户对光模块和光纤收发器的使用有些疑虑,两者该如何连接?又…...

一文快速了解浏览器Sui Explorer

Sui作为一条基于第一原理重新设计和构建而成的L1公链,所有区块和交易信息皆公开透明,每个人都能自行查看。通过Sui链上浏览器,用户可以迅速了解链上的交易情况,比如当前的TPS和Gas价格,也可以使用Digest来查看特定交易…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程&#xff0c;系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...

如何应对敏捷转型中的团队阻力

应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中&#xff0c;明确沟通敏捷转型目的尤为关键&#xff0c;团队成员只有清晰理解转型背后的原因和利益&#xff0c;才能降低对变化的…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...