-
项目框架:Spring boot + Vue 3.x
-
技术介绍
-
区分管理人员和同学的权限:采用Spring Security实现用户的授权与认证
-
选拔模式切换系统:针对志愿者选拔规则长年采用先到先得而设计的模块,管理员可以自由切换选拔机制,当然具体什么机制是人定的,该模块只是提供一个简单易用的切换系统
-
出于两个目的:1. 测试切换系统,2.根据同学诉求设计选拔机制
我们引入多目标优化(MOP)算法,优化志愿者选拔机制,考虑报名者的报名顺序,时长等因素进行选拔。算法选择了NSGAII,引入jMetal来优化我们的选拔机制,但核心部分的代码是自己写的
-
-
用户密码通过Bcrypt加密存储在数据库
-
反馈功能(按类反馈、匿名反馈):引入activeMq实现,这里是为了实践JMS,也可以不用
-
黑盒机制:为了防止恶意争抢志愿活动名额而设计的机制,用到了redis,先缓存报名名单,写入数据库再同时公布报名结果;通过减少公布时间与活动开始时间的间隔来减少恶意报名。
-
- 项目结构:一个后端+两个前端:分别面向管理员和学生(志愿者)开发了前端项目,考虑学生使用移动端进行事务办理,所以学生前端项目默认适配移动端
- 服务器:Nginx转发请求,项目部署在云服务器上