智能排班系统 【技术选型与工具版本】

news2024/9/22 1:40:56

技术架构图

在这里插入图片描述

前端工具及环境

名称版本介绍
NodeJS16.13.2开源、跨平台的 JavaScript 运行时环境
Npm8.1.2npm包管理工具可以快速引入别人开发好的工具包进行使用
Webpack4.0.0打包工具
Vue2.6.14Vue 的核心库只关注视图层,易于上手,便于与第三方库或既有项目整合。
Vue-element-admin3.11.0为了加快项目的开发,前端项目直接使用开源的优秀管理系统前端模板vue-element-admin,其内置了动态路由,权限验证,提炼了典型的业务模型,封装了快捷的请求方法,提供了丰富的功能组件,可以帮助我们快速搭建管理系统。
Echarts4.2.1Echarts是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表,系统首页的柱形图、饼图 、条形图、折线图……需要使用Echarts来进行绘制。
dhtmlx-gantt7.1.13dhtmlx-gantt提供了一套完整的Ajax驱动的UI 组件,可以帮助我们简洁地绘制每日排班对应甘特图。
tinymce5.8.2tinymce是一款易用、组件丰富、支持多语言的富文本编辑器,可以帮助企业、门店管理员编辑出更加美观的文本通知。

小程序工具及环境

名称版本介绍
uni-app3.7.9Uni-app 使用 Vue.js 开发所有前端应用,基于通用的前端技术栈,采用 vue 语法+微信小程序 api,无额外学习成本,开发成本低。
微信开发者工具1.06.2303220微信开发者工具,开发人员可以简单和高效地开发和调试微信小程序。
Vant Weapp1.10.15Vant 是一个轻量、可靠的移动端组件库,提供优美高质量的组件,性能极佳。

后端工具及环境

名称版本介绍
Java1.8Java语言功能强大和简单易用,拥有众多成熟的web开发工具,非常适合用来写后台服务
Maven3.6.3通过pom.xml文件的配置获取jar包,不用手动添加jar包,提高开发效率,同时帮助团队将项目进行打包
MySql8.0.27一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,增加了速度并提高了灵活性
SpringBoot2.1.8.RELEASESpring Boot是Spring的一套快速配置脚手架,抛弃了繁琐的xml配置过程,使用默认大于配置的理念,可基于Spring Boot快速开发单个微服务
MyBatis Plus3.2.0内置通用 Mapper、通用 Service,通过少量配置即可实现数据表的大部分增删改查操作,将开发人员从繁琐的简单代码中解放出来,开发人员可以将更多精力投入到复杂的业务代码实现中
Swagger2.9.2使用 Swagger 可以直接通过代码生成文档,不需要手动编写接口文档;支持接口在线测试,请求参数和格式都定义好了,只需要输入参数对应的值即可完成测试,提高接口测试效率,同时提高前后端的对接效率
Redis6.0.10Redis是支持网络交互的、基于内存、可持久化的键值对数据库,用来实现数据缓存
Redisson3.17.5用来实现分布式锁
SpringSecurity2.1.8.RELEASE登录验证、权限验证、防止常见攻击
SpringCloudGreenwich.SR6很多技术框架的集合,帮助开发者方便、快捷地实现微服务操作
SpringCloud Alibaba2.1.0.RELEASESpringCloud部分组件停止维护更新,给开发带来不便,且部分环境搭建复杂,没有完善的可视化界面。SpringCloud Alibaba的组件经历了大量的考验,性能强悍,设计更加合理,且组件搭配完善的可视化界面,给开发运维带来了便利
SpringCloud Gateway2.1.0.RELEASE可用来做请求转发、负载均衡、流量限制、熔断降级、黑白名单、流量染色、统一接口保护、灰色发布、统一业务处理、统一处理跨域
SpringCloud Seata2.1.0.RELEASE分布式事务的解决方案
Nacos2.0.3服务注册、服务发现、配置中心
Spring Cache2.1.8.RELEASE允许使用注解的方式来使用缓存,提高开发效率
WebSocket9.0.39用来解决服务端主动向客户端推送数据的问题,任务计算成功通知前端
RabbitMq5.9.0帮助我们进行应用解耦、流量削峰
Jwt0.7.0JWT的本质就是一个字符串,它是将用户信息保存到一个Json字符串中,然后进行编码后得到一个token,并且这个token带有签名信息,接收后可以校验是否被篡改,可以用于在各方之间安全地将信息传输
Fastjson1.2.80FastJson是阿里巴巴的开源库,支持将java bean序列化为json字符串,也支持将json字符串反序列化成java bean,且速度非常快
Lombok1.18.8可以通过注解的方式减少get、set方法、构造方法的代码。让代码更加简洁,同时让后台开发更加高效
Calendarist1.0.9日历工具,帮助我们进行新历、农历转换
Quartz2.1.8.RELEASE@Schedule注解不能处理复杂定时任务,Quartz具有更高的灵活性,可以处理复杂业务
Druid1.1.10Druid 是阿里巴巴开源的数据库连接池,它是一个高效的并发连接管理工具,可大幅提升应用程序的数据库访问效率,且功能丰富,含有防火墙、拦截器、监控、监测慢SQL等功能。在使用Quartz配置文件中使用
Hikari3.2.0Hikari连接池的特点就是快,虽然功能少于Druid,但是速度比Druid快。本系统中的服务模块连接数据库都是使用Hikari,Hikari也是SpringBoot推荐的数据库连接池
Poi4.0.0一个读写xlsx文件的工具,帮助我们从excel表格中导入不同时间段的客流量数据
Cron-utils9.2.0Cron-utils可以根据传入的时间参数生成cron表达式,与SpringQuartz配合来帮助我们完成定时通知业务的开发
Devtools2.1.8.RELEASE项目热部署工具,用debug方式启动,修改代码之后无需重启服务,重新编译代码即可,帮助团队提高开发效率,减少服务重启所浪费的时间
Oshi6.0.0Oshi是一个免费的基于 JNA(本机)的 Java 操作系统和硬件信息库。可以获取操作系统版本、进程、内存和 CPU 使用率、磁盘和分区等信息。帮助我们在web端系统完成对服务器的监控

第三方服务

名称版本介绍
OSS2.2.0.RELEASE帮助我们更高效地存储图片资源,降低服务器的压力
SpringMail2.1.8.RELEASE相较于短信发送服务,邮件发送服务免费,可以降低系统的通知成本
微信登录OAuth2.0是一个关于授权的开放网络标准,允许用户授权第三方应用访问他们所开放的信息,而不需要提供用户名和密码。通过绑定系统账户和微信账号,web用户可以通过微信扫码快捷登录智能排班系统,小程序用户可以快速获取微信信息登录小程序,无需进行账号密码的输入

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

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

相关文章

每日学术速递5.17

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.HACK: Learning a Parametric Head and Neck Model for High-fidelity Animation 标题:HACK:学习用于高保真动画的参数化头颈模型 作者:Longwe…

FEC功能在40G和100G光模块中的应用和注意事项

FEC(Forward Error Correction,前向纠错)功能是一种在数字通信中用于纠正传输过程中产生的误码的技术。在100G和40G光模块中,FEC功能被广泛应用于光纤传输过程中,以提高传输的可靠性和抗干扰能力。 本期文章我们主要介…

Twitter架构决策

技术决策需要在不同限制条件下做出权衡,本文介绍了Twitter早期应对用户大规模增长所做出的技术架构决策。原文:Twitter’s Tough Architectural Decision[1] Jeremy BezangerUnsplash 研究大规模互联网应用可以学到很多东西,像Netflix这样的公…

强大而可靠的DiskQ:持久化队列的解决方案

强大而可靠的DiskQ:持久化队列的解决方案 简介: 在软件开发中,处理大量数据和任务调度是常见的挑战。为了有效地处理这些问题,开发人员需要一种可靠的队列解决方案,以确保数据和任务在处理过程中不会丢失。DiskQ作为一种持久化队…

浏览器如果免费安装ChatGPT插件?

一、什么是ChatGPT? ​ ChatGPT是一种基于自然语言处理的机器学习算法,通过大规模的训练数据和优化算法来生成自然语言响应。目前,它在聊天机器人,自动回答问题,自动文本生成等方面有广泛的应用。ChatGPT是由OpenAI公…

[组合数学] 排列组合

文章目录 加法法则 --每一类都能够独立的完成任务乘法法则 --集合论 任务分步骤1000和9999之间有多个具有不同数位的奇数n 7 3 1 1 2 1 3 4 ^311^213^4 3112134 求除尽n的整数个数0到10000之间有多少个整数恰好是有一位数字是5两位数字可以组成多少两位互异且非零的两位数 减…

suricata中command的实现分析和自定义命令方法

suricata提供了suricatasc这个工具用来与其进行通信,比如修改规则文件后,通知suricata重新加载规则,就可以通过suricatasc下发重新加载规则命令,suricatasc和suricata通过unix socket进行通信,unix socke好处就是不占用…

libevent高并发网络编程 - 06_基于libevent的C++线程池实现

文章目录 1 功能简介线程池的初始化线程池执行流程 2 线程池类的设计线程类XThreadXThread.hXThread.cpp 线程池类XThreadPoolXThreadPool.hXThreadPool.cpp 任务基类taskXTask.h 3 自定义任务的例子自定义任务类ServerCMDServerCMD.hServerCMD.cpp 测试程序运行效果 1 功能简介…

华为机试(JAVA)真题Od【A卷+B卷】2023

目录 华为OD机试是什么?华为OD面试流程?华为OD机试通过率高吗?华为OD薪资待遇?华为OD晋升空间? 大家好,我是哪吒。 本专栏包含了最新最全的华为OD机试真题,有详细的分析和Java代码解答。已帮助…

【信息安全案例】——信息内容安全(学习笔记)

📖 前言:在数字化时代,信息内容安全问题越来越引起人们的关注。信息内容安全主要包括对数据的机密性、完整性和可用性的保护,以及对用户隐私的保护等方面。针对信息内容安全的威胁,采取科学有效的安全措施和技术手段至…

每日学术速递5.20

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Improved baselines for vision-language pre-training 标题:改进视觉语言预训练的基线 作者:Enrico Fini, Pietro Astolfi, Adriana Romero-Soriano, Jak…

10-《简单算法》

10-《简单算法》 一、时间复杂度二、空间复杂度三、排序算法1.比较排序1.1冒泡排序:1.2选择排序:1.3插入排序:1.4归并排序(非常重要)1.5快速排序(非常重要)1.6堆排序1.7排序算法稳定性 2.线性排序2.1桶排序2.2计数排序…

数据结构初阶(3)(链表:链表的基本概念、链表的类型、单向不带头非循环链表的实现、链表的优缺点 )

接上次博客:和数组处理有关的一些OJ题;ArrayList 实现简单的洗牌算法(JAVA)(ArrayList)_di-Dora的博客-CSDN博客 目录 链表的基本概念 链表的类型 单向、不带头、非循环链表的实现 遍历链表并打印节点值: 在链…

uni-app小程序uni.navigateBack返回上一个页面并传递参数.返回上个页面并刷新

返回上一个打开的页面并传递一个参数。有种办法就是使用 假如从B页面返回A页面: var pages getCurrentPages(); var prevPage pages[pages.length - 2]; //上一个页面 prevPage.setData({ mdata:1 })经过测试,在uni.app中使用B页面使用setData设置A页…

【Spring篇】AOP案例

🍓系列专栏:Spring系列专栏 🍉个人主页:个人主页 一、案例:业务层接口执行效率 1.需求分析 这个需求也比较简单,前面我们在介绍 AOP 的时候已经演示过 : 需求 : 任意业务层接口执行均可显示其执行效率(执行时长&…

如何选对适合你的FPGA?快速掌握选型技巧!

FPGA厂家和芯片型号众多,在开发过程中,特别是新产品新项目时,都会面临FPGA选型的问题。 如何选择出适合的FPGA型号非常关键,需要评估需求、功能、成本、存储器、高速收发器等各种因素,选出性能与成本平衡的FPGA芯片。…

从零玩转设计模式之外观模式-waiguanmos

title: 从零玩转设计模式之外观模式 date: 2022-12-12 15:49:05.322 updated: 2022-12-23 15:34:40.394 url: https://www.yby6.com/archives/waiguanmos categories: - 设计模式 tags: - 设计模式 什么是外观模式 外观模式是一种软件设计模式,它提供了一种将多个…

进阶必看:高速PCB Layout设计的技术指南

当今电子行业中,高速PCB电路越来越广泛,已成为当代PCB工程师的重要技能,而在高速PCB电路中,高速PCB Layout设计是一项高难度高技术的工作,其设计质量直接关系到电路的性能。所以做好PCB Layout设计是非常非常重要的。 …

Boost开发指南-1.2progress_display

Progress_display progress_display可以在控制台上显示程序的执行进度,如果程序执行很耗费时间,那么它能够提供一个友好的用户界面,不至于让用户在等待中失去耐心。 progress_display位于名字空间boost,为了使用progress_displa…

内网自建代理ChatGPT

使用GPT比较频繁,一开始翻墙还能接受,但是用美国节点访问其他国外网站,确实比较麻烦。因此决定自己转发一个出来。 一、获取OpenAI授权密钥 首先,进入platform.openai.com-Personal-View API keys 不过OpenAI的key并不是免费的&…