Professional Documents
Culture Documents
HRMS
HRMS
)
A PRO JECT
REPO RT in partial fulfilm ent for the
aw ard of the degree of
Subm itted
by B.TECH .(COM PUTER
ENGINEERING)
G
a U nder the
course of
u
C P442 : FU LL SEM ESTER
r EX TER N A L PR O JEC T
a
v
s
a
d BIR LA V ISH V A K A R M
a A M A H A V ID Y A LA Y A
(EN G IN EER IN
d
G C O LLEG E)
i
y (A n A utonom
ous Institution)
a
V A LLA BH V ID
( YANAGAR
A ffiliated
1
to
6
C
P
0
2 G U JA R A T TEC H N O LO G IC A L
U N IV ER SITY ,A H M ED A BA D
3
Academic Year:
2019 – 2020
B. V. M. ENGINEERING COLLEGE VALLABH VIDYANAGAR-388120
A PPRO V A L SH EET
The projectwork entitled“Human ResourceManagement System(HRMS)" carriedoutby
“GAURAV USADADIYA withID No : 16CP023” (whichwas carriedout at Crest Data
Systems)isapprovedforthesubmissioninthecourseCP442,FullSemesterExternalProjectfor
the partial fulfillment for the award of the degree of B. Tech. (Computer Engineeri
Examiner(s):
Date:
Place:
CERTIFICA TE
ThisistocertifythatProjectWork embodiedinthisprojectreportitled“Human Resource
Management System(HRMS)" was carriedoutby “GAURAV USADADIYA withID No :
16CP023”whichwas carriedoutatCrest Data Systems underthecourseCP442,FullSemester
ExternalProjectforthepartialfulfillmentfortheawardofthedegreeofB. Tech.(Computer
Engineering). Followings are the supervisors at the institute.
Date:
Place:
Date:
IwouldalsoliketothankMr . JigneshPatel,TechnicalLead(CrestDataSystemPvt.Ltd.)For
supportingme duringthewhole internshipperiodBeingwithme. alltimefacetofaceand
guidingme withina busytimescheduleforher.Iwouldliketothankhim forthatIwouldalso.
liketothankmy otherseniorcolleagueswho alsohelpedme wheneverIrequiredanykindof
support.
A blendofgratitude,pleasureandgreatsatisfactiswhatIfeeltoconveymyon indebtednessto
all those who have directly and indirectly contributed to the successful completion
Gaurav Usadadiya
TA BLE O F C O N TEN TS
Title Page No
ABSTRACT.....................................................................
TABLES .....................................................................
LIST OF FIGURES ......................................................
LIST OF TABLES ........................................................
1. INTRODUCTION.............................................................
1.1. Project Detail..................................................
1.2. Purpose .........................................................
1.3. Scope............................................................
1.4. Objective….......................................................
1.5. Technology And Literature Review………...………….......................
2. PROJECT MANAGEMENT………...................................................
2.1. Feasibility Study................................................
2.1.1. Technical Feasibility….....................................
2.1.2. Time Schedule Feasibility ……………............................
2.1.3. Operational Feasibility....................................
2 Implementation Feasibility …..............................
2.1. Project Planning…................................................ 2.2.1. Project Development
Approach .............................
2.2.2. Milestones and Deliverables ...............................
2.2.20. Roles and Responsibilities................................
1 Group Dependencies.........................................
3. SYSTEM REQUIREMENTS STUDY…….............................................
3.1. Study Of Current System ……...................……................
3.2. User Characteristics ………........................................
2 Hardware And Software Requirements ………………......................
3.3. Constraints.....................................................
3 Regular Policies..........................................
4 Hardware limitations …....................................
5 Criticality of the application…........................
3.4. Assumptions And Dependencies…………………………..........……10
4. SYSTEM ANALYSIS………………...................................................
4.1. Requirements Of New System .....................................
5. User Requirements.........................................
6. System Requirements.......................................
4. SYSTEM ARCHITECTURE DESIGN ……...........................................
5.60. System Architecture Design.....................................
5.2. Use Case Diagram...............................................
5.10. Flowchart Diagram….............................................
5.4. Activity Diagram...............................................
5.5. Sequence Diagram……………….………………...………………...21
6. IMPLEMENTATION PLANNING................................................
6.1. Implementation Environment....................................
6.2. Program/Modules Specification
..................................
6.3. Coding Standards...............................................
Coding Scenario ...............................................
6.4.
7. TESTING..................................................................
7.1. Testing Plan ..................................................
7.2. Testing Strategy...............................................
7.3. Testing Methods................................................
7.4. Test Cases.....................................................
8. USER MANUAL..............................................................
8.1. Installation Guide............................................
8.2. Screenshots ..................................................
9. LIMITATIONS AND FUTURE ENHANCEMENT ............................................. 49
9.1. Limitations ...................................................
9.2. Future Enhancement ...........................................
10. CONCLUSION AND DISCUSSION ……………………....................................50
10.1. Conclusion
11. APPENDICES..............................................................
....................................................
12. REFERENCES..............................................................
13. PLAGIARISM REPORT.......................................................
A BSTR A C T
To maintainthedataofallactiveandinactiveemployeesrequiresa significamountof
timeifwe do itwithoutsoftwareEveryorganizationhastheirown. human resourcesin
ordertoperformtheinternaland externalhuman resourceactivitiesAmong. thetotal
human resourceactivities,managingthehuman capital.eemployeesisthesignificant.
tasktoany HR. The main functionofHR istorecruit,manage andstoretheemployee
datawhich includestheirpersonalinformationincludingtheirjobroles,jobstreams,
projectsallotted,salariesand many more whichallowsthemtofacehugeworkloadIn.
ordertosupporttheHR’s therearesome electronicbasedHR systemscalledHRMS-
human resourcemanagement system.OrganizationsshouldmaintainHRMS software
witha huge number of clientserverapplications,serviceprovidersaswellascontrol
tools.But thisapplicationis costeffectiveone thatallowsthem to manage their
employee’sdataina simplemanner.Thishuman resourcemanagementsystemwillallow
theHR’s to manage thetimingsof employeeworks,employeeinformationsystems,
employeesrecruitment,employeestraining,employee retentionand performance
appraisal,employeeserviceandemployeeattendanceThisprojectbelongstoa. category
of web application that can be accessed through PC with internet connection.
i
TA BLES
LIST O F FIG U R ES
Figure Page N o.
ii
LIST O F TA BLES
Table Page N o.
iii
C hapter 1 : IN TR O D U C TIO N
5) GraphQL
1
1.2 Purpose
1.3 Scope
1.4 Objective
2
1.5 Technology And Literature Review
Technology:
Frontend: React.js
Backend: Python
Database: MongoDB
React.js
Reactisan open-sourceJavaScriptlibrarywhichisusedforbuildinguserinterfacesspecifically
forsinglepageapplicationsIt'susedforhandlingviewlayersforweb. andmobileapps.React also
allows us to create reusable UI[2]components.
Python
MongoDB
3
C hapter 2 : PR O JEC T M A N A G EM EN T
Since the project uses reliable tools like open source technology like react, node.js,python and
MongoDB, the system can be implemented efficiently withoutany issuesThe. trioof
thistechnologycanefficientlyhandledata,requestsand also create user friendly applications.
Hence this project has a good technical fe
The project involved to be developed consists of total four different modules hence it is quite
tedious to manage but considering that there are sufficient
resourcesavailable,itisfeasibletodeveloptheapplicationtheallottedduration.Andifthe requirement
changes, according to it duration will be changed.
The requirements mentioned above can be fulfilled using various technologies available.
React-.js,GraphQL and MongoDB, the implementation of the project i feasible.
4
2.2 Project Planning
The project implementation uses the approach of Agile Model. We need to provide a build to the client
regularly in some intervals. The client uses checks the applica and then suggests changes in the
application which is to be delivered in the next development build. And due to this reason, Agile Model
is being followed in the project.
Agile Model
What is Agile?
Agilemodelsbelievethateveryprojectneedstobehandleddifferentlyandtheexistingmethods
needtobe tailoredtobestsuitheprojectrequirementsInagilethetasksaredividedintotime.
boxes(smalltimeframes)todeliverspecificfeaturesfora releaseIterativeapproachistaken.
andworkingsoftwarebuildisdeliveredaftereachiterationEachbuildisincrementaltermsof.
features; the final build holds all the features required[3] by the customer.
5
Advantages of using Agile Model
Customersatisfactionby rapid,continuousdeliveryofusefulsoftwarePeopleandinteractions.
areemphasizedratherthanprocessesand toolsCustomers,developersand. testersconstantly
interactwitheachotherWorkingsoftwareisdeliveredfrequently(weeksratherthanmonths)..
Face-to-faconversationisthebestformofcommunicationClose,dailycooperationbetween.
business people and developers. Continuous attention to technical excellence[3]
Incaseofsome softwaredeliverablespeciallythelargeones,itisdifficulttoassesstheeffort,
required at the beginning of the software development[3] life cycle.
Thereisa lackofemphasison necessarydesigninganddocumentationThe. projectcaneasily get
taken off track if the customer representative is not clear what final[3] ou
Milestones are identified in order to complete the entire project in the time are identified for
every sprint of Crest Data Systems.
6
Table 2.1 Milestones and Deliverables
Role
Name
Analysis Designing Coding Testing Documentation
Vatsal ✓ ✓ ✓ ✓ ✓
Vasoya
Gaurav ✓ ✓ ✓ ✓ ✓
Usadadiya
7
2.2.4 Group Dependencies
8
C hapter 3 : SY STEM R EQ U IR EM EN TS STU D Y
3.4 Constraints
9
3.4.3 Criticality of the application
10
SYSTEM ANALYSIS
Functional Requirements
Non-Functional Requirements
• Usability
11
SYSTEM ANALYSIS
• Performance
Once the application starts, the user application should complete all ta
Input:select employee whom you want to edit info on the employee page. Output:
Input:select employee whom you want to edit info on the employee page. Output:
12
SYSTEM ANALYSIS
Input:Add Skills,PrimaryTechnologyVertical,SecondaryTechnologyVerticalof
employee.
Input:Upload crestletters,aadhcard,bankacc.page,Educationalcertificate,Visa
documents.
13
SYSTEM ANALYSIS
R10. LogOut
14
SYSTEM ANALYSIS
Output:Cancellation message.
Input:Rejection of leave.
Output:Rejection message.
15
C hapter 5 : SY STEM A R C H ITEC TU R E D ESIG N
Systemsdesignistheprocessofdefiningthearchitecture,modules,interfaces,anddatafora systemto
satisfyspecifiedrequirementsSystemsdesigncouldbe. seenastheapplicatiofsystemstheoryton
productdevelopment.There is some overlapwith the disciplinesof systemsanalysis,systems
architecture and systems engineering[3].
Architectural Design
Logical Design
Physical Design
The physicaldesignrelatestotheactualinputandoutputprocessesofthesystem.Thisisexplainedin
termsofhow dataisinputintoa system,how itisverified/authenticated,how itisprocessed,andhow it
is displayed. In physical design, the following requirements about[3]the system are d
• Input requirement
• Output requirements
• Storage requirements
• Processing requirements
• System control and backup or recovery
16
produced and made available for use in the[3] next phase.
Physicaldesign,inthiscontext,doesnotrefertothetangiblephysicaldesignofaninformationsystem. To
usean analogy, personalcomputer'sphysicaldesigninvolvesinputviaa keyboard,processing
withintheCPU, and outputviaa monitor,printer,etc.Itwould notconcerntheactualayoutofthe
tangiblehardware,which fora PC would be a monitor,CPU, motherboard,harddrive,modems,
video/graphicscards,USB slots,etc.Itinvolvesa detaileddesignof a userand a productdatabase
structureprocessorand a controlprocessorThe. H/S personalspecificatisdevelopedfortheon
proposed system[3].
5.2 Use Case Diagram
18
5.4 Activity Diagram
19
5.4(b) Activity D iagram offunctionality
20
5.5 Sequence Diagram
22
5.5(d) Sequence D iagram for Apply leave event
23
5.5(e) Sequence D iagram for C ancelleave event
24
5.5(f) Sequence D iagram for G eneralProfile
25
5.5(g) Sequence D iagram for Sync new em ployees
26
C hapter 6 : IM PLEM EN TA TIO N PLA N N IN G
The application is a single server multiple client application. Multiple users can
Singleuserapplicationsaretheapplicationwhereitisusefultoonlyoneuserata time.WhileinMulti
usergivenapplicationisusedby many usersatthesametimeandthusweb applicationisusedby many
usersatthesame time.Our systemisa multi-usersystemaswe havemore thanoneuserwho canuse
the system at the same time.
Codingtechniquesincorporatemany factsaboutsoftwaredevelopmentAlthoughtheyusuallyhaveno.
impacton thefunctionalityoftheapplication;theycontributeoan improvedcomprehensionofsource
code.Allformsof sourcecode areconsideredhere,includingprogramming,scriptingmarkup,and
query languages[3].
27
The codingtechniquesdefinedarenotproposedtoforman inflexiblesetofcodingstandardsRather,.
theyaremeanttoserveasa guidefordevelopinga codingstandardfora specificsoftwareprojectWe.
used sonarlint standards for creating our[3] whole project.
To developreliableandmaintainableapplications,youmustfollowcodingstandardsandbestpractices. The
namingconventions,codingstandardsandbestpracticesdescribedinthisdocumentarecompiled
fromourown experienceandby referringtovariousguidelinesThereareseveralstandardsthatexistin.
theprogrammingindustryNone. ofthem arewrong orbadandyou may followanyofthem.What is more
important is, selecting one standard approach and ensuring that [3]everyone is fo
We havealsousedGoogleDriveAPI,toaccesstheAttachmentofemployeesWe. havestoredthose
documents and only the admin can [4]access it.
We haveusedreact.forfrontendjs.Wehaveutilizedcomponentsverywellandalsousedredux.Redux is
a very powerful tool [2]of react.
28
C hapter 7 : TESTIN G
The objectiveofthesystemtestingistoensurethatallindividualprogramsareworkingasexpected,
thattheprogramslinktogethermeettherequirementsspecifiedandensurethatthecomputersystem and
theassociatedclericalnd otherprocedureswork togetherSystemsarenotdesignedas. entire
systems but they are tested as single systems. The analyst must perform both[3] unit a
<<
Duringtheearlystagesoftesting,a softwarengineerperformsalltestsHowever,asthetestingprocess.
progresses,testingspecialistsmay become involvedReviewsand. otheractivitiescananddo uncover
errors,buttheyarenotsufficientEverytimetheprogramisexecuted,thecustomertestsit!Therefore,. you
havetoexecutetheprogrambeforeitgetstothecustomerwiththespecifintentoffindingandc
removingallerrorsIn. ordertofindthehighestpossiblenumber oferrors,testsmust be conducted
systematically and test cases must be designed using disciplined[3] techniques.
Testing Objectives
Unit Testing
System Testing
30
TESTING
Recovery Testing
Performance Testing
Itisdesignedtotestherun-timeperformanceofsoftwarewithinthecontextofan integratedsystem
performance testing occurs throughout all steps in the[3] testing process.
Acceptance Testing
Black-box testing
31
TESTING
● The test is unbiased as the designer and the tester are independent of each o
● The tester does not need knowledge of any specific programming languages.
● The testisdonefromthepointofviewoftheuser,notthedesignerTestcasescanbedesigned. as
soon as the specifications are complete.
● The test can be redundant if the software designer has already run a test cas
● The testcasesaredifficulttodesignTestingeverypossibleinputstreamisunrealisticbe. auseit would
take an inordinate amount of time: hence many program paths will go unt
Alsoknown asglassbox,structuralearboxandopenboxtesting,A.softwaretestingtechniquewhere by
explicitknowledgeoftheinternalworkingsoftheitembeingtestedareusedtoselecthetestdata.
Unlikeblackbox testing,whitebox testingusesspecificknowledgeofprogrammingcodetoexamine
outputsThe. testisaccurateonlyifthetesterknows whattheprogramissupposedtodo.He orshecan
then see if the program diverges from its[3]intended goal.
To minimizethenumber oferrorsinsoftware,richvarietyoftestdesignmethodshaveevolvedfor
softwareThesemethodsprovidethedeveloperwitha. systematicapproachtotestingMore. importantly,
methodsprovidea mechanismthatcan helptoensurethecompletenessof thetestand providethe
highest likelihood for uncovering errors[3] in software.
32
TESTING
33
TESTING
34
C hapter 8 : U SER M A N U A L
Pre-requisites[5]
● CentOS - 8
● Google drive account
● Make a directory with a name build in home.
○ cd /home
○ mkdir build
● Bamboo plan for production server
● Open port using below command(port 7000):
○ firewall-cmd --zone=public --add-port=7000/tcp --permanent
○ firewall-cmd --reload
Installation Steps[5]
● Install python-3
● sudo dnf install python3
● Install MongoDB
○ Make file using below command
■ vi /etc/yum.repos.d/mongodb.repo
○ Paste this in file
■ [MongoDB] name=MongoDB Repository
baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org arch/
gpgcheck=1 enabled=1 gpgkey= https://www.mongodb.org/static/pgp/server-
4.2.asc
○ Run commands to install and start service
■ sudo yum install mongodb-org systemctl start mongod.service system
mongod.service
● Install Node sudo dnf install nodejs
● Run bamboo build
● Install all required python dependencies. From HRMS_Production folder (/home/ run below
command: pip3 install -r app/requirements.txt
● Only for first time installation: From HRMS_Production folder run below comma database:
mongorestore -d HRMS app/database_hrms
● From hrms/app folder, open conf.ini. Check if the FOLDER_ID for the productio uncommented
and FOLDER_ID for the Dev/QA is commented. If not, do the same.
35
● For Dev/QA: Copy qa_token.pickle file from app/google_pickle_files to app/con Delete the
current token.pickle and rename qa_token.pickle to token.pickle.
● From hrms/app folder, open conf.ini. Check if the FOLDER_ID for the productio and
FOLDER_ID for the Dev/QA is uncommented. If not, do the same.
● From HRMS_Production/ui folder change .env file: change the url according to instance and
default port:7000 and add/change GENERATE_SOURCEMAP=false.
● Install npm dependencies. From HRMS_Production/ui folder run below command: n
● From HRMS_Production/ui folder run below command: npm run build
● From the hrms/app folder run below command: gunicorn -c configuration/gunicor app:app If
you are facing issue in running above command due to an already ru then find the process and
kill it. To find the process run below command: ps To kill the process, take parent process ID
from above command and run below -9 <PID>
36
8.2 Snapshots of the application
46
Fig.8.10(b) Apply leave module
Fig.8.11
9.1 Limitations
● To get the best out of our product we assume that the end user knows the Cres
● Users must have basic knowledge of Active Directory and must have its credent
● Fast internet connection is expected.
● Users are expected to have data in plain text format
● Users are expected to connect in the Crest network.
49
C hapter 10 : C O N C LU SIO N
10.1 Conclusion
D ue to this H um an Resource M anagem entSystem (H RM S)lotsofw ork w hich w asdone M anually by the H
R and PM O team w illbe autom ated.From now on the H R team doesnothave to m aintain an excelsheet(Leave
Tracker)forthe leavesofallem ployees.Em ployeescan apply and the D M can approve/rejectleavesfrom H RM S itself and
track the leave status. U sing the Bulk change m odule H R and PM O can directly change the grade,
designation,departm entand etc. of m any em ployees in bulk. M ostcrucialthing is thatH RM S is operated and m
aintained by Crest itself, So itcan save m oney on outsourcing the softw are and the com pany can m ake all required
changesaccording to theirneeds.U sing the feature offilterunderem ployee directory H R and PM O team can filter outem
ployees data they require based on skills,previous experience and various other param eters.
50
A PPEN D IC ES
● GraphQL
○ https://graphql.org/
● React.js
○ https://reactjs.org/
○ https://www.udemy.com/tutorial/react-the-complete-guide-incl-redux/what-
● Gunicorn
○ https://github.com/benoitc/gunicorn
● Nginx
○ https://www.nginx.com/
● Google Drive API Documentation
○ https://developers.google.com/drive/api/v3/about-sdk
51
R EFER EN C ES
[8] Nginx. (2004) Software for web serving, reverse proxying [Online]
[Accessed from February to June 2020]
https://docs.nginx.com/nginx/
52
[9] Gunicorn. [2010] A Python Web Server Gateway Interface HTTP Server.
[Online] [Accessed from February to June 2020]
https://gunicorn.org/#docs
[10] Google Drive API. [~2012] To read, write, and sync files in Google Driv [Online]
[Accessed from February to June 2020]
https://developers.google.com/drive/api/v3/about-sdk
53
PLA G IA R ISM R EPO R T
54
PLAGIARISM REPORT
55