一、开源的时代背景
会有点啰嗦,请大家跳着看。完全不影响。
前两年,我所工作的单位是科技比较落后的单位,工资计算都是基于Excel,他们老总后来想要改变,居然上淘宝买工资管理系统,好像是花了3000块,找我去帮忙看看是否合适。我当时结合他们的需求,再仔细了解了那个系统 ,发现并不能满足需求,有些比较复杂的需求,那个系统都无法实现,因为模板十分固定,计算方式也只有加减乘除,连公式计算都没有。
所以,后来经过一些考虑,他们请我开发这套系统,想想还是太年轻,都怪那时还没结婚,我居然答应了。但既然答应了,就只能开杠了。
终于自己一个人,没日没夜的开杠了3个月,杠了出来。也投入试运行。运行效果还算不错,纠正了很多以前没有发现的问题,比如说,员工跟岗位挂勾,岗位设有岗位系数 ,系数关联工资系数 ,他们在基于excel计算工资的时候,时常会将一个员工调整到其它岗位,但相应的岗位系数却没有调整,导致最后工资计算错误。
当系统上线试运行之后,发现了很多这种问题,更甚者,发现某个员工因为岗位系数没被调整,少发了一两年的岗位工资。
最终其实我也很开心,因为系统确实得到他们的认可。
但悲剧的事情也随着而来,人事部门领导换了,新来的领导,停用了该系统。我本以为这个系统是上任领导的政绩,所以新领导不想用了 。 后来才听说,他们部门是怕我有一天辞职走人,这个系统没人可以接手管理。oh my god,倒是也有点道理 。
后来我明言,你们再想我继续开发,就没门了。无名也无利。
好在我一开始就保留了代码的所有权。想想这套系统杠了这么久,没人用,好可惜。既然如此,倒不如开源出来 ,看看能不能有点什么作用。
二、因为开源,所以重构
前期代码也是边学边写,随着API越来越多,功能越来越复杂 ,再加上这一年多,新开发的项目: 领域英语APP 是基于GraphQL的,体会到GraphQL的优点之后 ,心里想重构的心也起来越大。但是怕自己会半路放弃,所以记录在博客中,鞭策自己重构完。
三、技术选型
原项目开源地址
hr-server : https://github.com/yeelone/hr-server
hr-admin : https://github.com/yeelone/hr-admin
原项目技术选型:
后端 : Go + Gin+ PostgreSQL
前端 : Angular
原项目系统截图,前端使用Angular。
docker部署体验:
3、拉取githubroot@hrgdrc:~/project# git pull https://github.com.cnpmjs.org/yeelone/salary-docker-compose.git
4、构建docker-composeroot@hrgdrc:~/project# docker-compose build
root@hrgdrc:~/project# docker-compose up访问:http://localhost:8010
测试账号:admin 密码:123456
新技术选型:
后端 : GO + gqlgen + graphql + postgresql + redis
前端 : 暂时考虑可能会采用flutter web
可能大家会疑惑,会什么要采用flutter web ,因为我写了一年多的flutter ,慢慢熟悉了flutter ,想统一一下自己的技术栈。再来着,flutter 的平台兼容性我觉得还不错,后期我可能可以直接打包成一个desktop应用,那样更方便使用了。
但是现在前期,主要还是想重构后端 API。
这是思维脑图。
下一篇文章,我会抓紧杠出来。
目录