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

版权声明:本文由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.采用敏捷开发模式

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

时间: 2024-10-12 03:43:11

如何在腾讯云上搭建一个人力资源Saas的相关文章

在阿里云上搭建一个简单的node服务器

一.阿里云服务器以及node环境的搭建 服务器可以去阿里云官网购买一个ECS云服务器,价格还是有点小贵的,如果想使用免费的阿里云服务器,那么阿里云官网每天也是有抢免费的服务器的,每天上午十点,新人能抢到为期半年的服务器. 然后有了服务器以后,首先搭建一个node的运行环境,保证node 能正常使用,这个不是本文的内容就不多加赘述了. 如果没有搭建的小伙伴可以参考这里. 二.远程服务器上的代码管理 在阿里云服务器上可以安装一个 git 版本控制器,将自己的代码放置在自己的 GitHub 上,然后在

腾讯云CentOS搭建JavaWeb运行环境(简易版)

腾讯云上购买的服务器快到期了,最后用来记录下怎么搭建JavaWeb运行环境. 在腾讯云上购买云主机后,进入云主机-控制台,会看到以下界面 点击更多,重装系统 弹出以下界面,选择服务市场-->基础镜像,选择你所需要的环境(如果购买的时候已选好环境可以略过..),我这里选的是Java多版本环境(Tomcat JDK MySql). 选完后输入密码,然后点击开始重装 系统开始重装,等待系统重装完毕. 重装成功后,登录云主机去查看配置的环境,这里推荐两个软件 WinSCP PuTTY 用WinSCP跟云

在腾讯云上面搭建WordPress博客网站

一.准备工作 我们使用腾讯云服务器来运行WordPress,腾讯云会给新用户七天的产品体验时间还有一些代金券,做为新手尝试成本是比较小的. 腾讯云长期举办 “云+校园” 活动,学生只要1元即可购买专享云服务器,活动详情请见这里.学生优惠在每天的中午12点抢购. 二.购买服务器 当认证完了之后开始购买服务器 注意我在这个地方选择的是 杭州康展通信科技(我在这个配置下初次需要登录服务器获取相关信息,由于自己不熟悉centos系统,咨询了客服技术人员才解决). 但是我看见有人推荐使用这个版本,说在第一

用Docker在一台笔记本电脑上搭建一个具有10个节点7种角色的Hadoop集群(下)-搭建Hadoop集群

上篇:用Docker在一台笔记本电脑上搭建一个具有10个节点7种角色的Hadoop集群(上)-快速上手Docker 上篇介绍了快速上手Docker部分,下面接着介绍搭建Hadoop集群部分. 六.搭建Hadoop伪分布模式 我们先用前面创建的这个容器来搭建Hadoop伪分布模式做测试,测试成功后再搭建完全分布式集群. 1.SSH这个centos容器可以看做是一个非常精简的系统,很多功能没有,需要自己安装.Hadoop需要SSH,但容器没有自带,需要我们安装.①安装SSH # yum -y ins

如何在github上搭建一个免费的 无限流量的静态网页博客Github pages

前言: 看到很多相关的教程,但是在实际操作的时候还是遇见了不少问题,这里记录分享一下我的操作流程.免费空间用过很多,博客也用过一些,听说了github后就想试着玩一下这个静态库,感觉挺不错的,操作也比较简单,可以放些demo觉得挺不错的,看自己的喜好来搭建吧~本文原创博客地址:http://www.cnblogs.com/unofficial官网地址:www.pushself.com) 1.注册github.com账户,具体操作不描述了,英文如果不是很好可以使用翻译软件 2.新开一个一个仓库(N

从教务网爬虫程序到腾讯云上的运行

从教务网爬虫程序到腾讯云上的运行 主要内容有以下几方面: pip3以及相关python包的安装 mysql数据库的连接以及相关操作 腾讯云服务器的设置与连接,文件传输等操作 pip3以及相关python包的安装 在使用python3时,需要安装对应的pip版本,即pip3.ubuntu系统下的安装方式如下: $ sudo apt-get install python3-pip 安装完成后就可以使用pip3来安装相应的python包,如requests包的安装方式如下: $ sudo pip3 i

如何在阿里云上构建一个合适的Kubernetes集群

摘要: 声明 本文主要介绍如何在阿里云上构建一个K8S集群的实践,只是作为参考,大家可以根据实际情况做出调整. 集群规划 在实际案例中发现,有不少同学使用了很多的小规格的ECS来构建K8S集群,这样其实即没有达到省钱的目的,也没有很好的发挥K8S集群的优势. 声明 本文主要介绍如何在阿里云上构建一个K8S集群的实践,只是作为参考,大家可以根据实际情况做出调整. 集群规划 在实际案例中发现,有不少同学使用了很多的小规格的ECS来构建K8S集群,这样其实即没有达到省钱的目的,也没有很好的发挥K8S集

在云上搭建大规模实时数据流处理系统

在大数据时代,数据规模变得越来越大.由于数据的增长速度和非结构化的特性,常用的软硬件工具已无法在用户可容忍的时间内对数据进行采集.管理 和处理.本文主要介绍如何在阿里云上使用Kafka和Storm搭建大规模消息分发和实时数据流处理系统,以及这个过程中主要遭遇的一些挑战.实践主要立 足建立一套汽车状态实时监控系统,可以在阿里云上立即进行部署. 一.实时大数据处理利器——Storm和Kafka 大数据时代,随着可获取数据的渠道增多,比如常见的电子商务.网络.传感器的数据流.太空数据等,数据规模也变得

怎么在自己电脑上搭建一个服务器,以便于外网访问呢?

前几天我要测试一个项目,这个是需要往服务器上放才可以测的,但后台太忙了,所以就说让我自己在自己电脑搭建个服务器,把项目代码放在里面测就可以,其实搭建服务器的方法有很多,之前我有用过一个XMAPP的软件它也是可以作为服务器承载代码,以供别人访问,不过我觉得比较流行的还是Tomcat服务器: 其实我们偶尔也会写一下网页,javaweb程序,为了逼近现实,我们的项目发布后,都希望我们的项目能让更多的人看到,难道我们要自己去买域名么,买空间么?其实我个人觉得如果不是需要很大的持续的访问量的话,完全没有必