文章目录

  • 引言
  • 说明
  • 讲讲开源
  • 开源要做什么
  • 了解开源协议
  • 项目的信息脱敏
  • 写好项目说明文档
  • 修改.gitignore
  • 项目不完善点说明
  • 管理系统前端
  • 页面自适应做得不好
  • 部分页面体验不好
  • 管理系统后端
  • 接口缺乏数据校验
  • 数据管理接口查询不够完善
  • 接口可以更加完善
  • 开源仓库地址
  • 智能排班系统相关文章
  • 项目演示视频
  • 引用说明
  • 前端登录页
  • 项目简要介绍视频


引言

感谢大家对本项目的认可和鼓励,由于本项目的开发者都是学生,知识浅薄,水平有限,且开发时间较短,项目还有很多待完善的地方。如果大家发现项目有什么缺陷,恳请大家指出,我们会继续改进。希望可以和大家一起学习,一起进步。

说明

  • 队员已经为该系统申请软件著作权,请勿直接使用本开源项目的代码再去申请软件著作权
  • 项目为比赛过程中开发,开发时间简短,有较多不合理之处,项目仅供学习使用,项目不允许商用
  • 本人发布的与智能排班系统相关的所有博客不支持转载
  • 由于部分代码的实现方式属于机密,我们仅开源少量算法
  • 若朋友们发现bug,可以留言,我有空会抽时间出来修复
  • 若我后续时间较为充裕,会考虑新增功能
  • 小程序还没有放到仓库中,等我有空再补上

讲讲开源

因为我也是第一次开源项目,很多东西都不太懂,不可避免的会出现很多问题,请大家见谅 /(ㄒoㄒ)/~~

开源要做什么

了解开源协议

了解每种开源协议的规定,选择好可以保护自身权益的开源协议。
参考文章:各种开源协议介绍

项目的信息脱敏

在开发过程中,我们经常会使用一些中间件(如redis、rabbitMQ)来辅助实现一些功能,在项目中,我们可能配置了自己服务器的地址以及各个应用的账号密码,在开源之前,切记要将这些信息移除或不提交到仓库,否则可能被他人恶意攻击。

温馨提示:自己服务器的应用密码设置得复杂一点,端口也可以改成那些不常用的端口,否则服务器很容易被攻击,我之前redis密码简单,就被攻击过,cpu占用99%,我想敲一行命令都敲不动。

智能排班 java开源项目 排班系统 开源_智能排班 java开源项目

写好项目说明文档

开源的一个目的是让别人可以使用自己的项目,那非常重要的一点是写好项目的说明文档,告诉别的开发者项目需要什么环境、项目怎么启动、项目的模块如何划分、代码结构是怎样的……。

修改.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
  • 提示不完整
  • 操作不友好
  • 缺乏页面使用引导

管理系统后端

接口缺乏数据校验

因为开发时间较短,当时主要致力于实现功能,没有做好接口的数据校验,但是如果项目要上线,接口数据校验是一定要完善的。

数据管理接口查询不够完善

可以增加各种条件查询,如按照名称模糊查询……

接口可以更加完善

目前还有很多接口不完善,还可以从多个角度优化,如:

  • 性能优化:优化接口的响应速度
  • 内存优化:减少业务处理过程中的内存占用
  • 安全性优化:接口防爬虫,防刷量,返回数据之前做数据脱敏(如查询用户信息的时候,不返回密码等隐私信息)
  • 稳定性优化:接口响应时间稳定,不要时快时慢
  • 复杂度优化:分好子方法,避免部分方法代码量太多,不方便注释
  • 可维护性优化:做好接口文档,完善异常处理,方便错误追踪