如何在騰訊雲上搭建一我的力資源Saas

版權聲明:本文由ihr原創文章,轉載請註明出處: 
文章原文連接:https://www.qcloud.com/community/article/180前端

來源:騰雲閣 https://www.qcloud.com/community程序員

 

在互聯網盛行的時代,車聯網,物聯網相關的字眼隨處可見。爲了方便企業在員工管理上提供更爲快捷有效地方式, ihr是基於當下主流企業人才管理方式及員工普及的社交方式微信的一個開放性平臺。
它包含企業端的招聘管理、員工管理,其中招聘管理又包含了面試通知邀請、到Offer發放以及候選人入職管理;員工管理包含了員工信息及狀態跟蹤;求職者端包含了對職位查看及投遞簡歷狀態的跟蹤。
就企業而言,可以更快獲取到人才信息,包括內部員工推薦,求職者投遞及第三方推薦,迅速跟進,篩選招聘,在企業端招聘負責人及需求責任人可經過不一樣客戶端,web和微信瞭解到最新的職位動態,從而提升招聘效率;
就求職者而言,人性化且簡易地操做,省去繁瑣地各類錄入,多種渠道投遞意向職位,實時瞭解面試狀況,專業地流程讓求職者提升了對公司的承認度。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人的配置仍是略顯不足,特別是缺乏熟悉構建雲服務方面的人員及經驗。bootstrap

二.設計開發過程當中的心得

1.合理使用驗證碼,可以有效防止暴力攻擊

在相似於登陸或者敏感信息提交時,使用驗證碼,能夠在必定程度上防止暴力攻擊。但並非說,只要是驗證碼都能起到很好的做用。
簡單的圖形驗證碼,很容易就能被代碼解析。所以驗證碼也在不斷更新換代,好比加干擾,驗證碼變形等。除非你有充足的時間或者現成的代碼能夠儘快實現,不然在一個驗證功能花費過多的時間得不償失,另外用戶體驗還不見得有多好。騰訊雲服務提供的驗證碼,有多種驗證方式,好比拼圖和滑動拼圖,用戶體驗都感受不錯,還能節省不少開發時間。能夠考慮做爲前期過渡使用。
固然,除了驗證碼外,還有訪問次數限制和防重複提交等能夠有效防止暴力攻擊。後端

2.接入短信平臺

短信的使用已經愈來愈頻繁,好比發送重要的通知信息,找回密碼的驗證碼等。選擇一個收費合理,同時能保證送達率和實效性的短信平臺,就尤爲重要。
由於咱們項目準備部署到騰訊雲,正好了解到騰訊雲也有短信平臺,因此就進一步瞭解了下。不論是控制檯操做,仍是接口調用,都和微信服務號相似,容易上手。另外收費也還算合理,考慮到對雲服務上的應用支撐應該還不錯,最終決定選擇騰訊雲的短信平臺。服務器

3.將複雜的權限控制交給Shiro

在以往的項目中,權限是最讓人頭疼的,有角色,有用戶,有大量的邏輯須要考慮。Shiro能夠支持三種受權方式,包括編碼,註解及jsp taglig,本項目考慮到耦合度,不想由於角色的改變去修改源碼,就採用了註解方式。微信

4.採用敏捷開發模式

爲了順應當下日益更新的需求,相比傳統的瀑布式開發已經不能適應。將系統拆分爲系統模塊化,排出優先級,儘快儘早地完成可用功能,再在此基礎上循環迭代直到功能完善和穩定。架構

相關文章
相關標籤/搜索