热门标签 | HotTags
当前位置:  开发笔记 > 开放平台 > 正文

如何在腾讯云上搭建一个人力资源Saas

版权声明:本文由ihr原创文章,转载请注明出处:文章原文链接:https:www.qcloud.comcommunityarticle180来源:腾云阁https:

版权声明:本文由ihr原创文章,转载请注明出处: 
文章原文链接:https://www.qcloud.com/community/article/180

来源:腾云阁 https://www.qcloud.com/community

 

在互联网盛行的时代,车联网,物联网相关的字眼随处可见。为了方便企业在员工管理上提供更为快捷有效地方式, ihr是基于当下主流企业人才管理方式及员工普及的社交方式微信的一个开放性平台。
它包含企业端的招聘管理、员工管理,其中招聘管理又包含了面试通知邀请、到Offer发放以及候选人入职管理;员工管理包含了员工信息及状态跟踪;求职者端包含了对职位查看及投递简历状态的跟踪。
就企业而言,能够更快获取到人才信息,包括内部员工推荐,求职者投递及第三方推荐,迅速跟进,筛选招聘,在企业端招聘负责人及需求责任人可通过不同客户端,web和微信了解到最新的职位动态,从而提高招聘效率;
就求职者而言,人性化且简易地操作,省去繁琐地各种录入,多种渠道投递意向职位,实时了解面试情况,专业地流程让求职者提高了对公司的认可度。

整体架构

考虑到平台的用户量较大,所以在架构时选择了成熟、稳定地J2EE框架。如下图所示,
该系统包含了两个独立的应用,分别提供web服务和wechat服务,两者的后端均采用了JAVA+JFinal的MVC模式;web应用的前端采用HTML5+CSS3+Bootstrap+AngularJS, wechat应用前端采用了HTML5+CSS3+Bootstrap;数据库目前使用了MySQL后期看用户量可以考虑mangoDB;在用户消息通知功能中使用了腾讯云的短信平台;两个应用共享一个服务器,如果后期流量过大将考虑拆分到不同服务器。

(整体架构图)
由于项目采用开源框架,所以与别的原生项目相比多了以下特点:

  1. 基础开源框架,项目采用了JFinal作为基础框架。JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。作为一个中小型项目,既能在短期内完全满足项目所需,同时也能极大提高开发效率且无第三方依赖。
  2. 页面维护性高,bootstrap的推出,解救了很多程序员的审美观,让他们脱离美工也能写出丰富多彩的页面,它是基于 HTML、CSS、Javascript 的,简洁灵活,使得 Web 开发更加快捷。
  3. 独立应用,为了给用户提供更快捷地访问方式,将web端与微信端独立。Web端的登录采用了传统的角色,用户名和密码的验证;wechat端登录采用了微信OAuth接口授权方式,从而省去了用户注册流程。

核心功能

一.招聘管理系统

将中介推荐、自荐以及内部推荐的简历直接归档入库,并开启招聘流程。伴随整个招聘流程结束,期间求职者所需提交的资料,或需填写的信息,皆可由系统负责通知或采集。

二.面试管理系统

  1. 求职者,关注微信服务号,可以及时收到面试通知,查看面试结果,接收offer,反馈求职信息,以及提前录入个人资料。为HR简化通知面试及员工入职资料录入人力成本。
  2. 面试官,可通过微信查看面试者简历,上一轮面试评价,面试者是否已到场等候,提升面试管理效率。
  3. 部门负责人,可随时关注发布的职位招聘近况。提前了解求职者招聘流程,降低沟通成本,提高信息时效性。

经验分享

一.开发团队组建

项目组一共3人,分别承担业务需求分析、系统详细设计及编码实现的工作。由于初创团队资源不足,3人的配置还是略显不足,特别是缺少熟悉构建云服务方面的人员及经验。

二.设计开发过程中的心得

1.合理使用验证码,能够有效防止暴力攻击

在类似于登录或者敏感信息提交时,使用验证码,可以在一定程度上防止暴力攻击。但并不是说,只要是验证码都能起到很好的作用。
简单的图形验证码,很容易就能被代码解析。因此验证码也在不断更新换代,比如加干扰,验证码变形等。除非你有充足的时间或者现成的代码可以尽快实现,否则在一个验证功能花费过多的时间得不偿失,另外用户体验还不见得有多好。腾讯云服务提供的验证码,有多种验证方式,比如拼图和滑动拼图,用户体验都感觉不错,还能节省很多开发时间。可以考虑作为前期过渡使用。
当然,除了验证码外,还有访问次数限制和防重复提交等可以有效防止暴力攻击。

2.接入短信平台

短信的使用已经越来越频繁,比如发送重要的通知信息,找回密码的验证码等。选择一个收费合理,同时能保证送达率和实效性的短信平台,就尤其重要。
因为我们项目准备部署到腾讯云,正好了解到腾讯云也有短信平台,所以就进一步了解了下。不管是控制台操作,还是接口调用,都和微信服务号类似,容易上手。另外收费也还算合理,考虑到对云服务上的应用支撑应该还不错,最终决定选择腾讯云的短信平台。

3.将复杂的权限控制交给Shiro

在以往的项目中,权限是最让人头疼的,有角色,有用户,有大量的逻辑需要考虑。Shiro可以支持三种授权方式,包括编码,注解及jsp taglig,本项目考虑到耦合度,不想因为角色的改变去修改源码,就采用了注解方式。

4.采用敏捷开发模式

为了顺应当下日益更新的需求,相比传统的瀑布式开发已经不能适应。将系统拆分为系统模块化,排出优先级,尽快尽早地完成可用功能,再在此基础上循环迭代直到功能完善和稳定。


推荐阅读
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 服务网关与流量网关
    一、为什么需要服务网关1、什么是服务网关传统的单体架构中只需要开放一个服务给客户端调用,但是微服务架构中是将一个系统拆分成多个微服务,如果没有网关& ... [详细]
  • 寻求更强大的身份和访问管理(IAM)平台的企业正在转向云,并接受身份即服务(IDaaS)的灵活性。要为IAM选择正确的场外解决方案,业务管理人员和IT专业人员必须在实施之前评估安全 ... [详细]
  • adfs是什么_培训与开发的概念
    adfs是什么_培训与开发的概念(如您转载本文,必须标明本文作者及出处。如有任何疑问请与我联系me@nap7.com)ADFS相关开发技术的中文资料相对匮乏,之前在弄这个东西的时候 ... [详细]
  • 问题描述:域名已经备案,我全部都有,也在后台配置了,但是手机预览,还是请求失败,PC端是可以请求 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 手把手教你使用GraphPad Prism和Excel绘制回归分析结果的森林图
    本文介绍了使用GraphPad Prism和Excel绘制回归分析结果的森林图的方法。通过展示森林图,可以更加直观地将回归分析结果可视化。GraphPad Prism是一款专门为医学专业人士设计的绘图软件,同时也兼顾统计分析的功能,操作便捷,可以帮助科研人员轻松绘制出高质量的专业图形。文章以一篇发表在JACC杂志上的研究为例,利用其中的多因素回归分析结果来绘制森林图。通过本文的指导,读者可以学会如何使用GraphPad Prism和Excel绘制回归分析结果的森林图。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • 弹性云服务器ECS弹性云服务器(ElasticCloudServer)是一种可随时自助获取、可弹性伸缩的云服务器,帮助用户打造可靠、安全、灵活、高效的应用环境 ... [详细]
  • 我一直都有记录信息的习惯,不知是从什么时候开始,大约是在工作后不久。如今还真有点庆幸从那时开始记了点东西,当然是电子版的,写 ... [详细]
  • 提供:ZStack云计算原创2016-12-26张鑫讲师介绍张鑫ZStack总架构师、联合创始人《系统虚拟化》主要作者,曾任职Intel开源软件技术中心 ... [详细]
  • Nextcloudsnap一键安装包: https:github.comextcloudextcloud-snap建议安装Ubuntu系统,因为官方一键安装包用的是Snap,Cen ... [详细]
  • 【云计算】Dockerfile、镜像、容器快速入门 ... [详细]
author-avatar
小猪爱情守护者
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有