项目总结

HRM人力资源管理平台

一、项目背景
随着经营的人力资源业务越来越多元化,社会竞争压力越来愈大,加上管理混乱,信息更新不及时等问题,汇杰力资源管理有限公司委托我方开发一个人力系统。该系统可以解决应届毕业生或是一些没有职业技能的人的就业和培训技能实现再就业问题;帮助招聘单位对求职候选人进行培养筛选,吸纳人才;解决培训结构的招生问题,让他们通过培训能找到工作。整体架构采用前后端分离,前端使用VUE框架,后端使用springboot+springcloud搭建
二、项目架构
(1)项目功能
项目总结_第1张图片 (2)模块划分
项目主要模块:课程中心、职位中心、用户中心、鉴权中心、机构管理、系统管理
课程中心:管理发布课程,课程的搜索服务
职位中心:管理发布岗位信息,岗位的搜索服务
用户中心:用户注册,用户信息,用户的课程申请和订单管理
鉴权中心:用户登录以及权限控制
机构管理:机构入驻与管理
系统管理:数据字典,员工角色权限信息的维护
(3)使用技术:
SpringBoot、SpringCloud、Mybatis-Plus、Redis、Fastdfs、Elasticsearch、Vue、ElementUi
三、团队成员
项目经理:1

​ 架构师:1

​ UI:1

​ 前端:2

​ 后端:4个

​ 测试:2个

​ 运维:1个

​ 整体来说,这个项目团队成员在12个人,后端由4个,前端有2个,还有项目经理架构师,以及UI和测试
四、任务
(1)系统管理中心
① 培训机构需要入驻,购买套餐,才能享受到套餐对应的服务
② 需要使用Sass系统
③ 租户入驻:使用FastDFS分布式文件系统实现租户LOGO文件的管理
④ 使用百度地图接口,收集租户的地址
(2)课程中心
① 通过主站首页的链接跳转到课程中心门户
​② 在课程中心门户首页有课程类型列表 - 后台:维护课程类型
​③ 选中某个类型后跳转到课程的列表页,列表课程信息 - 后台:维护课程信息
​④ 选中某个课程跳转到课程详情页,展示课程的详细信息
​⑤ 在课程的详情页可进行课程的购买,线上购买,线下学习
⑥ 门户网站是高并发,需要进行页面静态化
⑦ 使用循环+map的方式完成无线级别课程类型树数据的查询
⑧ 使用redis对课程类型树的数据进行缓存,在前台页面展示
⑨ 课程信息维护:基本信息,课程详情,市场信息,图片信息,课程管理表需要反三范式设计,创建人名称和机构名称冗余到了课程基本信息表
⑩ 完成课程上下线:课程上线时,将上线课程的数据保存到ElasticSearch中,前台只能检索已经上线的课程。课程下线时:将上线课程的数据从ElasticSearch中删除。增删改时同步操作。
⑪ 使用velocity模板引擎技术,实现课程首页页面静态化,将静态化页面上传到FastDFS中,使用RabbitMQ消息队列接收fileId,下载页面完成静态化。
⑫ 课程中心首页:课程类型选择跳转,面包屑加载,课程的分页高级排序搜索。
(3)用户中心
① 用户注册:使用redis技术实现图形验证码注册,使用阿里云短信服务接口+redis实现短信验证码注册,同时进行用户注册其余信息的维护
② 用户登录:使用redis+cookie完成用户单点登录
③ 各种用户的信息维护
五、遇到的问题以及解决
(1)前后联调登录时:跨域问题
跨域问题出现在:出现在ajax请求中,因为同源策源的限制,浏览器出于安全起见,会对ajax跨域请求做限制,限制ajax请求访问其他域的资源
解决: 在springboot+springcloud+前后端分离的微服务程序中,解决跨域问题需要,在网关中配置跨域过滤器,因为所有前端的请求都是通过zuul网关进行服务调用的,也就是说所有的前端请求都先访问网关,我们就把跨域配置到zuul网关中
(2)无限级别课程类型树获取
在课程中心业务模块,课程类型无限级别的树形菜单数据的获取
解决:使用循环+map的方式(查询所有的类型放入List中,再将List中的所有类型放入Map中,Map的key为类型的ID,Map的value为当前类型对象。对List中所有类型进行遍历,如果是一级类型,则放入结果的List集合中,如果不是一级类型,则到Map中根据类型ID找到对应的父类型,将当前类型添加到父类型的children集合中,最终就能实现无线级别属性菜单数据的获取

你可能感兴趣的:(项目总结)