引言
感谢大家对本项目的认可和鼓励,由于本项目的开发者都是学生,知识浅薄,水平有限,且开发时间较短,项目还有很多待完善的地方。如果大家发现项目有什么缺陷,恳请大家指出,我们会继续改进。希望可以和大家一起学习,一起进步。
说明
- 队员已经为该系统申请软件著作权,请勿直接使用本开源项目的代码再去申请软件著作权
- 项目为比赛过程中开发,开发时间简短,有较多不合理之处,项目仅供学习使用,项目不允许商用
- 本人发布的与智能排班系统相关的所有博客不支持转载
- 由于部分代码的实现方式属于机密,我们仅开源少量算法
- 若朋友们发现bug,可以留言,我有空会抽时间出来修复
- 若我后续时间较为充裕,会考虑新增功能
- 小程序还没有放到仓库中,等我有空再补上
讲讲开源
因为我也是第一次开源项目,很多东西都不太懂,不可避免的会出现很多问题,请大家见谅 /(ㄒoㄒ)/~~
开源要做什么
了解开源协议
了解每种开源协议的规定,选择好可以保护自身权益的开源协议。
参考文章:各种开源协议介绍
项目的信息脱敏
在开发过程中,我们经常会使用一些中间件(如redis、rabbitMQ)来辅助实现一些功能,在项目中,我们可能配置了自己服务器的地址以及各个应用的账号密码,在开源之前,切记要将这些信息移除或不提交到仓库,否则可能被他人恶意攻击。
温馨提示:自己服务器的应用密码设置得复杂一点,端口也可以改成那些不常用的端口,否则服务器很容易被攻击,我之前redis密码简单,就被攻击过,cpu占用99%,我想敲一行命令都敲不动。
写好项目说明文档
开源的一个目的是让别人可以使用自己的项目,那非常重要的一点是写好项目的说明文档,告诉别的开发者项目需要什么环境、项目怎么启动、项目的模块如何划分、代码结构是怎样的……。
修改.gitignore
使用.gitignore来规定好哪些文件不用提交到仓库,如.idea、java项目编译之后的target文件、前端项目下载的依赖包node_modules和前端项目打包之后的文件dist。
同时,application-dam.yml和application-dam.properties为我的环境配置,为了避免我的服务器ip泄露,也排除掉这两种文件。
pom.xml.tag pom.xml.releaseBackup pom.xml.versionsBackup pom.xml.next release.properties dependency-reduced-pom.xml buildNumber.properties .mvn/timing.properties .mvn/wrapper/maven-wrapper.jar **/mvnw **/mvnw.cmd **/.mvn **/target/ **/application-dam.yml **/application-dam.properties .idea */node_modules/ */dist/
项目不完善点说明
管理系统前端
页面自适应做得不好
因为本人没有专门去学过前端,对前端是一知半解的样子,目前没办法将页面做成能适应任何屏幕的样子o(╥﹏╥)o。等我后面学会了,应该会优化一些关键页面,如果各位大佬有教程能推荐给我,我将不胜感激。
部分页面体验不好
- 缺少占位符、骨架屏、懒加载、加载loading
- 提示不完整
- 操作不友好
- 缺乏页面使用引导
管理系统后端
接口缺乏数据校验
因为开发时间较短,当时主要致力于实现功能,没有做好接口的数据校验,但是如果项目要上线,接口数据校验是一定要完善的。
数据管理接口查询不够完善
可以增加各种条件查询,如按照名称模糊查询……
接口可以更加完善
目前还有很多接口不完善,还可以从多个角度优化,如:
- 性能优化:优化接口的响应速度
- 内存优化:减少业务处理过程中的内存占用
- 安全性优化:接口防爬虫,防刷量,返回数据之前做数据脱敏(如查询用户信息的时候,不返回密码等隐私信息)
- 稳定性优化:接口响应时间稳定,不要时快时慢
- 复杂度优化:分好子方法,避免部分方法代码量太多,不方便注释
- 可维护性优化:做好接口文档,完善异常处理,方便错误追踪
开源仓库地址
如果大家觉得有用的话,麻烦给个star,谢谢大家。
智能排班系统相关文章
项目演示视频
项目演示视频
引用说明
前端登录页
前端登录页来源于 B站up主 大猫是小白,可以点击访问其B站主页,这个up主经常产出非常美观的前端页面,还开源代码,
大家快去关注,宝藏up主!!!
页面实现过程的B站链接:飞向星球登录界面
页面代码仓库:页面源码仓库
(项目开源之前已经和博主沟通)