Final Report Draft
Final Report Draft
Semester
2023 Autumn
PROJECT TITLE: JobSewa
Student Name: Nischal Khatiwada
London Met ID: 21049542
College ID: np01cp4a210198
Internal Supervisor: Prithivi Maharjan
External Supervisor: Prajil Shrestha
Assignment Due Date: 3rd January 2024
Assignment Submission Date: 3rd January 2024
Word Count (Where Required): 4103
I confirm that I understand my coursework needs to be submitted online via Google Classroom under the
relevant module page before the deadline in order for my assignment to be accepted and marked. I am
fully aware that late submissions will be treated as non-submission and a marks of zero will be awarded.
Table of Contents
1. Introduction.................................................................................................................................1
1.1. Introduction to the topic.......................................................................................................1
1.2. Current Scenario..................................................................................................................1
1.2.1. In context of Nepal.......................................................................................................1
1.2.2. In context of the world..................................................................................................2
1.2. Problem Scenario.................................................................................................................3
1.3. The project as a solution......................................................................................................4
1.4. Aim and Objectives..............................................................................................................5
1.4.1. Aim...............................................................................................................................5
1.4.2. Objectives.....................................................................................................................5
1.5. Structure of Report...............................................................................................................6
1.5.1. Background...................................................................................................................6
1.5.2. Development to date.....................................................................................................6
1.5.3. Analysis of progress.....................................................................................................6
1.5.4. Future work...................................................................................................................6
2. Background.................................................................................................................................7
2.1. Methodology........................................................................................................................7
2.1.1. Considered Methodology.............................................................................................7
2.1.2. Selected Methodology..................................................................................................8
2.1.2.1. Kanban Methodology............................................................................................8
2.2. Review of similar project.....................................................................................................9
2.2.1. Kumari Job...................................................................................................................9
2.2.2. Jobejee........................................................................................................................10
2.3. Table of Comparison..........................................................................................................11
2.4. Conclusion from comparison between similar projects.....................................................11
3. Development.............................................................................................................................12
3.1. Technology used................................................................................................................12
3.1.1. Front-end technologies...............................................................................................12
3.1.2. Server-side technologies.............................................................................................12
3.1.3. Database technology...................................................................................................13
3.1.4. Development tools......................................................................................................13
3.2. Survey Results...................................................................................................................14
3.2.1. Highlights from the Pre-Survey form.........................................................................14
3.3. Design................................................................................................................................15
3.3.1. Entity Relationship Diagram (ERD)...........................................................................15
3.3.1. Use Case Diagram.......................................................................................................16
3.3.4. Data Flow Diagram (DFD).........................................................................................17
3.3.5. Context Level Diagram..............................................................................................17
3.3.6. DFD Level 2 Diagram................................................................................................18
3.4. Implementation..................................................................................................................19
3.4.1. Authentication Page....................................................................................................19
3.4.1.1. To Do (Backlog)..................................................................................................19
3.4.1.2. Doing...................................................................................................................20
3.4.1.2.1. Register........................................................................................................20
3.4.1.2.2. User and Admin Login.................................................................................26
4. Analysis of Progress..................................................................................................................34
4.1. Progress Table....................................................................................................................34
4.2. Progress Review.................................................................................................................36
4.2.1. Requirement Gathering...............................................................................................36
4.2.2. Research on similar system........................................................................................36
4.2.3. Design.........................................................................................................................36
4.2.4. Development...............................................................................................................37
4.3. Progress Timeline..............................................................................................................38
4.4. Action Plan.........................................................................................................................38
5. Future Work..............................................................................................................................39
5.1. Development of Authentication Page................................................................................39
5.2. Development of Job Seeker Module..................................................................................39
5.3. Development of Job Provider Module...............................................................................39
5.4. Development of Admin Module........................................................................................39
5.5. Development of Messaging Portal.....................................................................................40
5.6. Development of Resume Generation Option.....................................................................40
5.7. Testing................................................................................................................................40
6. References.................................................................................................................................41
7. Appendix...................................................................................................................................44
7.1. Considered Methodology...................................................................................................44
7.1.1. Agile Methodology.....................................................................................................44
7.1.2. Waterfall Model..........................................................................................................46
7.1.3. Prototyping Model.......................................................................................................48
7.1.4. Iterative Waterfall Model...........................................................................................49
7.2. Selected Methodology........................................................................................................51
7.2.1. Kanban Methodology.................................................................................................51
7.3. Review of Similar project..................................................................................................54
7.3.1. Jobs Nepal...................................................................................................................54
7.3.2. Kantipur Jobs..............................................................................................................55
7.3.3. Glassdoor....................................................................................................................56
7.4. Survey Results...................................................................................................................57
7.4.1. Pre- Survey Results....................................................................................................57
7.5. High Level Use Case Description......................................................................................62
7.6. Expanded Use Case Description........................................................................................67
7.7. Technology Used...............................................................................................................88
7.7.1. React...........................................................................................................................88
7.7.1.1. Use Case of React in the proposed system..........................................................89
7.7.2. Tailwind CSS..............................................................................................................90
7.7.2.1. Use case of Tailwind CSS in the proposed system.............................................90
7.7.3. Node.js........................................................................................................................91
7.7.3.1. Use Case of Node.js in the proposed system.......................................................92
7.7.4. Express.js....................................................................................................................93
7.7.5. MongoDB...................................................................................................................94
7.7.5.1. Use case of MongoDB in the proposed system...................................................95
7.8. Software Requirement Specification (SRS).......................................................................96
7.8.1. Introduction................................................................................................................96
7.8.1.1. Purpose................................................................................................................96
7.8.1.2. Scope...................................................................................................................96
7.8.1.2.1. User Stories..................................................................................................96
7.8.1.3. Definitions, Acronyms, and Abbrevations..........................................................99
7.8.1.4. References...........................................................................................................99
7.8.1.5. Overview.............................................................................................................99
7.8.2. Overall description...................................................................................................100
7.8.2.1. Product Perspective...........................................................................................100
7.8.2.1.1. User Interfaces...........................................................................................101
7.8.2.1.2. Hardware Interfaces...................................................................................102
7.8.2.2. Product functions...............................................................................................103
7.8.2.2.1. Authentication............................................................................................103
7.8.2.2.2. User Profile and Resume generation..........................................................103
7.8.2.2.3. Company Profile........................................................................................103
7.8.2.2.4. Job Posting and Job Application Search and Filter...................................103
7.8.2.2.5. View and Save Job Posting and Job Application.......................................103
7.8.2.2.6. Apply for Job and Post Job........................................................................103
7.8.2.2.7. Post Interests..............................................................................................104
7.8.2.2.8. Messaging and Communication.................................................................104
7.8.2.2.9. Resume Search, View, and Download.......................................................104
7.8.2.2.10. Content’s Card View, Table View, and Pagination.................................104
7.8.2.3. User characteristics............................................................................................105
7.8.2.4. Operating Environment.....................................................................................106
7.8.2.4.1. Front-End Technologies.............................................................................106
7.8.2.4.2. Server-Side Technologies..........................................................................106
7.8.2.4.3. Authentication............................................................................................106
7.8.2.4.4. Development Tools....................................................................................106
7.8.2.4.5. Browser Compatibility...............................................................................106
7.8.2.4.6. Operating System Compatibility................................................................107
7.8.3. Specific requirements...............................................................................................108
7.8.3.1. External Interfaces.............................................................................................108
7.8.3.1.1. User Registration Interface........................................................................108
7.8.3.1.2. User Login Interface..................................................................................108
7.8.3.1.3. Admin Login Interface...............................................................................108
7.8.3.1.4. Forgot Password Interface.........................................................................108
7.8.3.1.5. Job Search Interface...................................................................................109
7.8.3.1.6. Job Application Search Interface...............................................................109
7.8.3.1.7. Job Seeker Profile Creation Interface........................................................109
7.8.3.1.8. Company Profile Creation Interface..........................................................109
7.8.3.1.9. Resume Generation Interface.....................................................................110
7.8.3.1.10. View and Save Job Interface...................................................................110
7.8.3.1.11. View Job Application Interface...............................................................110
7.8.3.1.12. Job Application Interface.........................................................................110
7.8.3.1.13. Job Posting Interface................................................................................110
7.8.3.1.14. Interest Posting Interface.........................................................................111
7.8.3.1.15. Resume Search, View and Download Interface......................................111
7.8.3.1.16. Messaging Interface.................................................................................111
7.8.3.2. Functional Requirements...................................................................................112
7.8.3.2.1. Register......................................................................................................112
7.8.3.2.2. Login..........................................................................................................112
7.8.3.2.3. User Profile................................................................................................113
7.8.3.2.4. Company Profile........................................................................................113
7.8.3.2.5. Resume Generation....................................................................................114
7.8.3.2.6. Apply Job...................................................................................................114
7.8.3.2.7. Post Job......................................................................................................115
7.8.3.2.8. Search Job..................................................................................................115
7.8.3.2.9. Search applied Job.....................................................................................116
7.8.3.2.10. View and Save Jobs.................................................................................116
7.8.3.2.11. Post Interest..............................................................................................117
7.8.3.2.12. Messaging and communication...............................................................117
7.8.3.2.13. Resume Search, View, and Download.....................................................118
Table of Figures
Figure 1: Kumari Job website..........................................................................................................9
Figure 2: Jobejee website..............................................................................................................10
Figure 3: General ERD of the system...........................................................................................15
Figure 4: Use Case Diagram.........................................................................................................16
Figure 5: Context Level Diagram..................................................................................................17
Figure 6: DFD Level 1..................................................................................................................18
Figure 7: Product Backlog for authentication page.......................................................................19
Figure 8: Level 1 DFD to register user.........................................................................................20
Figure 9: Collaboration diagram for user registration...................................................................20
Figure 10: Activity diagram for user registration..........................................................................21
Figure 11: Wireframe for registration...........................................................................................22
Figure 12: Mockup for registration...............................................................................................22
Figure 13: Frontend of user registration........................................................................................23
Figure 14: Registration frontend code part 1................................................................................23
Figure 15: Registration frontend code part 2................................................................................24
Figure 16: Registration frontend code part 3................................................................................24
Figure 17: API Creation for User registration...............................................................................25
Figure 18: Screenshot of registered user stored in mongodb........................................................25
Figure 19: Level 1 DFD for user login..........................................................................................26
Figure 20: Level 1 DFD for admin login......................................................................................27
Figure 21: Collaboration diagram for user login...........................................................................27
Figure 22: Collaboration diagram for admin login.......................................................................28
Figure 23: Activity diagram for login...........................................................................................28
Figure 24: Wireframe for Login....................................................................................................29
Figure 25: Mockup for login.........................................................................................................30
Figure 26: Frontend of user and admin login................................................................................31
Figure 27: Login frontend code part 1..........................................................................................31
Figure 28: Login frontend code part 2..........................................................................................32
Figure 29: User Login api.............................................................................................................32
Figure 30: Screenshot of login user stored in mongodb................................................................33
Figure 31: Revised Gantt chart......................................................................................................38
Figure 32: Agile Methodology (Source: (nvisia, 2020))...............................................................44
Figure 33: Waterfall Model (Source: (Adobe Experience Cloud, 2022)).....................................46
Figure 34: Prototyping Model (Source: (Martin, 2023))...............................................................48
Figure 35: Iterative Waterfall Model (Source: (GeeksforGeeks, 2023)).......................................49
Figure 36: Kanban Board...............................................................................................................53
Figure 37: JobsNepal website........................................................................................................54
Figure 38: Kantipur Jobs website..................................................................................................55
Figure 39: GLASSDOOR website.................................................................................................56
Figure 40: Personal Information about the respondents................................................................57
Figure 41: Desired Job Title Result...............................................................................................57
Figure 42: Current Status result.....................................................................................................58
Figure 43: Preferred Employment Type results.............................................................................58
Figure 44: Medium for job search results......................................................................................59
Figure 45: Willingness to use job portal for job application process results.................................59
Figure 46: CV update result...........................................................................................................60
Figure 47: Interested to use resume generation feature within the portal result............................60
Figure 48: Preferred communication medium result.....................................................................61
Figure 49: Logo of React...............................................................................................................88
Figure 50: Tailwind CSS logo.......................................................................................................90
Figure 51: Node.js logo.................................................................................................................91
Figure 52: Express.js logo.............................................................................................................93
Figure 53: MongoDB logo.............................................................................................................94
Figure 54: System Architecture of the application......................................................................100
Table of Tables
Table 1: Table of comparison for similar projects........................................................................11
Table 2: Progress Table.................................................................................................................35
Table 3: First reason for not choosing agile methodology............................................................44
Table 4: Second reason for not choosing Agile methodology......................................................45
Table 5: Third reason for not choosing Agile methodology.........................................................45
Table 6: First reason for not choosing Waterfall model................................................................46
Table 7: Second reason for not choosing Waterfall model...........................................................47
Table 8: Third reason for not choosing waterfall model...............................................................47
Table 9: First reason for not choosing prototype model...............................................................48
Table 10: Second reason for not choosing prototype model.........................................................48
Table 11: Third reason for not choosing prototype model............................................................48
Table 12: First reason to not use iterative waterfall model...........................................................49
Table 13: Second reason to not choose iterative waterfall model.................................................50
Table 14: Third reason to not choose iterative waterfall model....................................................50
Table 15: High Level Use Case for Register.................................................................................62
Table 16: High Level Use Case for Login....................................................................................62
Table 17: High Level Use Case for Forgot Password...................................................................62
Table 18: High Level Use Case for Change Password.................................................................62
Table 19: High Level Use Case for Logout..................................................................................63
Table 20: High Level Use Case for View Job...............................................................................63
Table 21: High Level Use Case for Save Job................................................................................63
Table 22: High Level Use Case for Search Job.............................................................................63
Table 23: High Level Use Case for Apply Job.............................................................................63
Table 24: High Level Use Case for Post Interest..........................................................................64
Table 25: High Level Use Case for Generate Resume..................................................................64
Table 26: High Level Use Case for Generate Profile....................................................................64
Table 27: High Level Use Case for Messaging and Communication...........................................64
Table 28: High Level Use Case for Post Job.................................................................................65
Table 29: High Level Use Case for Search Job Application.........................................................65
Table 30: High Level Use Case for View Job Application...........................................................65
Table 31: High Level Use Case for Save Job Application............................................................65
Table 32: High Level Use Case for View Resume........................................................................65
Table 33: High Level Use Case for Search Resume......................................................................66
Table 34: High Level Use Case for Download Resume................................................................66
Table 35: High Level Use Case for User Management.................................................................66
Table 36: High Level Use Case for Operation Moderation...........................................................66
Table 37: Expanded Use Case for Register...................................................................................67
Table 38: Expanded Use Case for Login.......................................................................................68
Table 39: Expanded Use Case for Forgot Password......................................................................69
Table 40: Expanded Use Case for Change Password....................................................................70
Table 41: Extended Use Case for Logout......................................................................................71
Table 42: Expanded Use Case for View Job.................................................................................72
Table 43: Expanded Use Case for Search Job...............................................................................73
Table 44: Expanded Use Case for Save Job..................................................................................74
Table 45: Expanded Use Case for Apply Job................................................................................75
Table 46: Expanded Use Case for Generate Profile......................................................................76
Table 47: Expanded Use Case for Generate Resume....................................................................77
Table 48: Expanded Use Case for Post Job...................................................................................78
Table 49: Expanded Use Case for Search Job Application...........................................................79
Table 50: Expanded Use Case for View Job Application.............................................................80
Table 51: Expanded Use Case for Post Interest.............................................................................81
Table 52: Expanded Use Case for Messaging and Communication..............................................82
Table 53: Expanded Use Case for Save Job Application..............................................................83
Table 54: Expanded Use Case for View Resume..........................................................................84
Table 55: Expanded Use Case for Search Resume........................................................................85
Table 56: Expanded Use Case for Download Resume..................................................................86
Table 57: Expanded Use Case for User Management...................................................................87
Table 58: Expanded Use Case for Operation Moderation.............................................................87
21049542 FINAL YEAR PROJECT
1. Introduction
1.1. Introduction to the topic
The present context in the job market indicates a huge demand for an effective and
comprehensive platform for both the job seekers as well as the employers. It can be a real
challenge finding a perfect job or a candidate. During this time of recession where everyone is
either experienced or fresher, is in search for a job. Old-school job search methods like
newspaper ads and in-person networking had provided a lot of opportunities to the people but
were too slow, stressful, challenging and lacked quality. It became outmoded but helped on
paving a way for the emergence of several job portals, but they all fell short due to the user
experience, data accuracy, and effectively matching candidates with suitable job openings.
Over the decade there has been drastic change in the hiring and recruitment process in Nepal.
Many organizations are proactive in fulfilling the HR needs with the use of various social media
platforms, job portals and personal referrals for hiring and recruiting process. LinkedIn has
emerged as the preferred professional network to fulfil the vacancies by locating qualified
candidates. Beside that various job portals are in frequent use to provide hiring and recruitment
services which includes jobsnepal, merojob, kumarijob and more.
1
NISCHAL
21049542 FINAL YEAR PROJECT
As employees want higher salary, firms can differentiate themselves by providing compelling
benefits. With sites like LinkedIn and Indeed facilitating job posts and application management,
technology has transformed talent acquisition. Remote hiring is made easier with video
interviews and collaborative technologies, while chatbots help with engagement (LinkedIn,
2023).
2
NISCHAL
21049542 FINAL YEAR PROJECT
The absence of organized tool in the present job portals lead the employees as well as the job
seekers in a difficult situation to sort through the wide range of opportunities and talents. The job
seekers often have to shift through multiple job portals on the other side the recruiters have to
face problem identifying the ideal candidates which wastes the valuable time and opportunities.
The recent data from the World Bank as of December 2022, reported an unemployment rate of
11.12% (Macrotrends, 2023). The above statistics illustrates the significant amount of people
who are actively looking for employment opportunities and highlights the crucial role job portal
plays in bridging the gap.
Here are some more problems described below:
Inefficient Job Matching Process: The job seekers frequently struggle on finding
the suitable job opportunities, whereas the recruiters struggle to find the ideal candidate
for their listings.
Poor Mobile Accessibility: Various job portals contain restricted mobile access,
making it harder for the job seekers to search and apply for jobs in various locations or on
the go.
Poor User Experience and Engagement: The users struggle in various platforms
due to lack of engaging features leading to low user retention and sense of dissatisfaction.
Inefficient Data Management: The job portal website requires handling of large
amount of data, job search and listing and frequent interaction between the job seeker and
recruiter. Inefficient data management leads to various challenges like slower platform
performance, interaction problems and data theft and loss.
3
NISCHAL
21049542 FINAL YEAR PROJECT
To tackle the above pressing issues and attempt to address the gap between the Job Seeker and
the Recruiter, development of an advanced Job Portal Website is intended. This is accomplished
by taking into consideration the information provided by both the Job Seeker and the Recruiter,
as well as by using a range of different filters to accommodate each person's unique needs and
preferences. The portal also prioritizes user convenience, real – time updates, and easy
communication channels between Job seeker and employers.
The solutions to the above problems are described here:
Efficient Job Matching Process: The use of different sorting and filtering features
with locational job availability will allow the job seekers to find out the suitable job as
per their preferences making it easy for the recruiters finding the ideal candidates.
Improved Mobile Accessibility: Development of mobile responsive job portal
enhances the problem of poor mobility for the users which allows the access to the
platform anywhere making the job search and application process more convenient and
beneficial.
Enhanced User Experience and Engagement: Development of intuitive and user-
friendly interface making the experience of user as seamless and efficient as possible.
The platform will contain real-time chat support enabling constant engagement of the
recruiter and job seeker to enhance user engagement and satisfaction.
Efficient Data Management: Provision of efficient data management system is
enabled from the use of optimized database architecture to handle the vast amount of user
data, job listings, and interaction. Robust security protocols will be implemented for the
safety of user information.
4
NISCHAL
21049542 FINAL YEAR PROJECT
1.4.2. Objectives
The objectives which have been designated as fundamental to the project are listed below:
To create a platform for Job Seekers to find jobs that match their talents and
requirements.
To make it easier for recruiters to hire individuals with the talents that the
organization requires.
To allow users to experience advanced search and filtering for finding relevant job
listings quickly and efficiently.
To provide customized Job Posting experiences and an option to build their
resume.
To provide direct and secure communication channel between job seekers and
recruiters.
To establish connection between huge number of recruiters and job seekers over the
country or world.
To protect user information using strong data security measures.
To bridge the gap between the job seekers and the recruiter and provide user friendly
interfaces to increase user’s satisfaction.
5
NISCHAL
21049542 FINAL YEAR PROJECT
6
NISCHAL
21049542 FINAL YEAR PROJECT
2. Background
The project attempts to address the gap between the Job Seeker and the Recruiter with the
development of an advanced Job Portal Website. This is accomplished by taking into
consideration the information provided by both the Job Seeker and the Recruiter, as well as by
using a range of different filters to accommodate each person's unique needs and preferences.
The portal also prioritizes user convenience, real – time updates, and easy communication
channels between Job seeker and employers.
2.1. Methodology
2.1.1. Considered Methodology
Here are some of the methodologies considered for the development of the project:
Agile Methodology
Waterfall Model
Prototyping Model
Iterative Waterfall Model
The complete description of the considered methodologies can be found here.
7
NISCHAL
21049542 FINAL YEAR PROJECT
Some of the reasons to use Kanban as the methodology for the project are described below:
Planning flexibility: The kanban team focuses the task that is being done presently and
as soon as the task is finished the next task is retrieved from the top of the to-do list i.e.,
backlog.
Fewer Bottlenecks: The kanban enables the use of WIP limits for each stage of the
workflow ensuring balance distribution of task which prevents the teams from working
too much at once.
Visual metrics: The kanban contains a core value i.e., strong focus on continually
improving the effectiveness and efficiency of the team with every iteration of the work.
Continuous Delivery (CD): The Kanban includes Continuous Delivery which focuses
on efficient flow of work which helps the kanban team to delivery high quality products
faster while ensuring high quality (ATLASSIAN, 2023).
No Sprint Planning: The Kanban doesn’t include sprint planning meeting or fixed
length iterations unlike Scrum. The kanban team can focus on completing certain work
without time limit which enhances continuous delivery model.
8
NISCHAL
21049542 FINAL YEAR PROJECT
Some of the features that has been taken as an inspirated and included in the proposed project
includes:
Clear and understating UI
Search and filter which includes searching jobs in various industries like government,
Tech, Banking and more.
9
NISCHAL
21049542 FINAL YEAR PROJECT
2.2.2. Jobejee
Jobejee can be presented as one of the fastest growing job portals in Nepal. It is also available as
a mobile application (only for Android) in addition to websites. It allows users to experience the
feature of advance search with the use of intelligent search algorithm where the users can search
jobs based on skills, desired industry and more (jobejee, 2023).
Some of the features that has been inspired by the Jobejee website to use in the proposed system are:
Resume upload and Generation. The website allows the user to upload and create a
resume providing various personal and professional details.
Navigation board providing navigation to various pages of the page like applied job,
settings profile and more.
10
NISCHAL
21049542 FINAL YEAR PROJECT
2. Login
3. Easy to use
4. Authentication
and Authorization
(JWT)
5. Resume
generation
6. Post Interest (For
Freelancers)
7. Messaging and
Communication
8. Responsive
Design
9. Alerts
11
NISCHAL
21049542 FINAL YEAR PROJECT
3. Development
3.1. Technology used
3.1.1. Front-end technologies
The frontend technologies used during the development of the project are described below:
React: React is a popular front-end JavaScript library developed by facebook which
is used for web and generating native user interfaces (React, 2023).
The detailed description of React can be found here.
Tailwind CSS: Tailwind CSS is a utility-first CSS framework for rapidly creating
websites within HTML with classes such as flex, pt-4, text-center that can be used to
create any design (tailwindcss, 2023).
The detailed description of Tailwind CSS can be found here.
12
NISCHAL
21049542 FINAL YEAR PROJECT
13
NISCHAL
21049542 FINAL YEAR PROJECT
14
NISCHAL
21049542 FINAL YEAR PROJECT
3.3. Design
3.3.1. Entity Relationship Diagram (ERD)
15
NISCHAL
21049542 FINAL YEAR PROJECT
16
NISCHAL
21049542 FINAL YEAR PROJECT
17
NISCHAL
21049542 FINAL YEAR PROJECT
18
NISCHAL
21049542 FINAL YEAR PROJECT
3.4. Implementation
3.4.1. Authentication Page
3.4.1.1. To Do (Backlog)
The prioritized list of works that need to be completed can be seen in the backlog table below:
19
NISCHAL
21049542 FINAL YEAR PROJECT
3.4.1.2. Doing
3.4.1.2.1. Register
Design
20
NISCHAL
21049542 FINAL YEAR PROJECT
21
NISCHAL
21049542 FINAL YEAR PROJECT
22
NISCHAL
21049542 FINAL YEAR PROJECT
Development
23
NISCHAL
21049542 FINAL YEAR PROJECT
24
NISCHAL
21049542 FINAL YEAR PROJECT
25
NISCHAL
21049542 FINAL YEAR PROJECT
Design
26
NISCHAL
21049542 FINAL YEAR PROJECT
27
NISCHAL
21049542 FINAL YEAR PROJECT
28
NISCHAL
21049542 FINAL YEAR PROJECT
29
NISCHAL
21049542 FINAL YEAR PROJECT
30
NISCHAL
21049542 FINAL YEAR PROJECT
Development
31
NISCHAL
21049542 FINAL YEAR PROJECT
32
NISCHAL
21049542 FINAL YEAR PROJECT
33
NISCHAL
21049542 FINAL YEAR PROJECT
4. Analysis of Progress
4.1. Progress Table
34
NISCHAL
21049542 FINAL YEAR PROJECT
35
NISCHAL
21049542 FINAL YEAR PROJECT
The project is being developed with the use of Kanban Methodology as the project management
approach. Various topics have been provided below to review the progress of the project till
now.
4.2.1. Requirement Gathering
The initial phase of the project started with conducting research on what system can be
developed addressing real world problems. The idea of developing a job portal website was
finalized. Some more research work was performed for the selection of topic name which could
be viable with the idea of the project. A feasibility study was conduction to ensure its viability
too. A survey was conducted with diverse groups of individuals to collect insight about the
system, what features they want in the system, how can the project help them and more. With the
response provided by the individuals, various changes and upgrades were made to the system.
The identification of key features were possible due to the survey conducted.
4.2.3. Design
The detailed system’s requirements have been outlined with the creation of a Use Case Diagram
involving job seekers, job providers and an administrator as the actor involved. High Level Use
Case Description has been created which provides overall details about the deliverables of the
project. Also Expanded Use Case Description have been
36
NISCHAL
21049542 FINAL YEAR PROJECT
generated to showcase how the actors and the system interact within the features. An overall
Data flow Diagram of the system have been created to provide the idea on how the flow of data
or information into the overall system’s features or processes is conducted. Various UML
diagrams including sequence diagrams, activity diagrams, collaboration diagrams have been
generated to understand the designs, code architecture and proposed implementation of the
system. The wireframes and mockups too have been designed to layout content and functionality
on page which will be used in future for development.
4.2.4. Development
The development work of the system is in progress. The registration and login form has been
created where all the actors involved into the system can registrate with unique email addresses
and password and an appropriate role. The user then can login to the after being registered. The
user registration and login API endpoints have been created which allows the registration and
login of the user. The appropriate user model is generated with all the data or the attributes that
the user contains.
37
NISCHAL
21049542 FINAL YEAR PROJECT
38
NISCHAL
21049542 FINAL YEAR PROJECT
5. Future Work
5.1. Development of Authentication Page
The frontend and backend development of the Authentication page will be done simultaneously.
The forgot password option will be created to allow user to recover the forgot password. The
forgot password API will be generated for assigning it with the frontend. The verifyOTP API
also will be created to use while receiving OTP from the email address. The development of
feature to change password and logout will also be performed.
39
NISCHAL
21049542 FINAL YEAR PROJECT
5.7. Testing
Various test cases will be prepared for the testing of the system to check whether the system
contains any errors or not. The different testing methods like unit testing and integration
testing will be performed to identify any errors or bugs.
40
NISCHAL
21049542 FINAL YEAR PROJECT
6. References
Adobe Experience Cloud, 2022. Waterfall Methodology: Project Management | Adobe
Workfront. [Online]
Available at: https://business.adobe.com/blog/basics/waterfall#:~:text=The%20Waterfall%20methodo
logy%20follows%20a,%2C%20are%20usually%20self%2Dcontained.
[Accessed 10 11 2023].
41
NISCHAL
21049542 FINAL YEAR PROJECT
JobsNepal, 2023. JobsNepal: Search Job - Find Jobs, Vacancy in Nepal. [Online]
Available at: https://www.jobsnepal.com/about-us
[Accessed 12 December 2023].
Kumari Job, 2023. Kumari Job: Jobs In Nepal | Job Vacancy In Kathmandu. [Online]
Available at: https://www.kumarijob.com/about-us
[Accessed 11 December 2023].
LinkedIn, 2023. How the Job Market Affects the Recruitment World. [Online]
Available at: https://www.linkedin.com/pulse/how-job-market-affects-recruitment-world-
lambertnemecgroup/
[Accessed 25 December 2023].
Martins, J., 2022. What Is Kanban? A Beginner's Guide for Agile Teams [2023]. [Online]
Available at: https://asana.com/resources/what-is-kanban
[Accessed 10 11 2023].
42
NISCHAL
21049542 FINAL YEAR PROJECT
tailwindcss, 2023. Rapidly build modern websites without ever leaving your HTML..
[Online]
Available at: https://lucid.app/documents#/documents?folder_id=home
[Accessed 21 December 2023].
Visual Studio, 2023. Visual Studio: IDE and Code Editor for Software Developers ....
[Online]
Available at: https://visualstudio.microsoft.com/
[Accessed 10 December 2023].
43
NISCHAL
21049542 FINAL YEAR PROJECT
7. Appendix
7.1. Considered Methodology
7.1.1. Agile Methodology
The agile methodology is a project management technique that places emphasis on ongoing
improvement and cross-functional collaboration. It breaks down large projects into smaller parts
and leads groups through planning, carrying out, and assessing tasks in succession (Wrike,
2023).
The reasons to not choose agile methodology for the project are mentioned below:
Scenario It makes difficulty in predicting time and resources at the beginning of
the project.
Justification The system consists of fixed time constraints and deadline which can’t
be achieved without knowing the end result in the required time.
Table 3: First reason for not choosing agile methodology.
44
NISCHAL
21049542 FINAL YEAR PROJECT
45
NISCHAL
21049542 FINAL YEAR PROJECT
The reasons to not choose waterfall model for the project are mentioned below:
Scenario The project demands various changes and adaptability throughout the
development process.
Justification Various changes may need to be made after completion of various phases
during the time of development which the waterfall model
doesn’t allow.
Table 6: First reason for not choosing Waterfall model.
46
NISCHAL
21049542 FINAL YEAR PROJECT
Scenario The test conducting approach only at the end of the development
cycle creates problem as it might not contain enough time.
Justification The waterfall method conducts testing only at the end of the
development cycle which poses risk as the bugs and issues can only be
identified at the end.
Table 8: Third reason for not choosing waterfall model.
47
NISCHAL
21049542 FINAL YEAR PROJECT
7.1.3.Prototyping Model
Prototyping Model is a software development model in which prototype is built, tested, and
reworked until an acceptable prototype is achieved. It also establishes the foundation for the
ultimate software or system. It functions well in situations where the specific requirements of the
project are unknown. It is an iterative, trial and error method which takes place between
developer and client (Martin, 2023).
The reasons to not choose prototype model for the project are mentioned below:
Scenario The project consists of clear objectives and limited scale or scope to
avoid any problems.
Justification In the prototype model, huge number of prototyping may invite various
complexities and bugs, which can block the main output of the project.
Table 9: First reason for not choosing prototype model.
Scenario The frequent feedback from the client or supervisor is critical for
completion of the project.
Justification In the prototyping model the client involvement and feedback is minimum
which might hamper the time constraint and deliverables of
the project.
Table 10: Second reason for not choosing prototype model.
48
NISCHAL
21049542 FINAL YEAR PROJECT
The reasons to not choose iterative waterfall model for the project are mentioned below:
Scenario Academic project with fixed deadline.
Justification In iterative waterfall the project completion date is not confirmed due
to constant requirement changes but in case of the proposed project, the time
constraint is fixed and date for submission is pre-defined.
Table 12: First reason to not use iterative waterfall model.
49
NISCHAL
21049542 FINAL YEAR PROJECT
50
NISCHAL
21049542 FINAL YEAR PROJECT
51
NISCHAL
21049542 FINAL YEAR PROJECT
While Kanban's four principles emphasize the reasons for its effectiveness in advancing Agile-
based software development, its six core practices provide a clear implementation roadmap.
Visualize workflows: Workflows must be visualized in order to be managed. Columns
on Kanban boards show stages in your workflow, such as "To do," "In progress," and
"Done." Each card represents a single job or user narrative and contains information such
as deadlines, responsible team members, and more.
Limit work-in-progress (WIP): The confusion of multitasking may be a productivity
killer, so keeping work-in-progress to a minimum is essential. Team members can focus
on completing tasks rather than juggling too many by establishing WIP limits for each
column on your Kanban board. Everyone's goal is to have tasks on the Kanban board.
Manage flow: When it comes to spotting bottlenecks and blockages, the Kanban board
is the go-to tool. If the "Code review" column is continually full, this indicates that code
reviews are slowing down the process and may require some attention.
Ensure explicit process policies: Processes that are well-documented keep
everyone on the same page. Outlining roles, responsibilities, workflows, and protocols is
part of documenting and describing processes. The master project documentation
template is an excellent starting point for your documentation efforts.
Deploy feedback loops: Feedback is the foundation of continuous improvement,
assisting project managers in determining what is working and what needs to be tweaked.
This feedback, gleaned from team member experiences, board contacts, and senior
management insights, serves as the cornerstone for continual improvement. It enables
project managers to determine what is working and what needs to be tweaked.
Improve collaboratively: Continuous improvement is a continuous process that
includes analyzing performance, identifying opportunities, and making small
improvements. Kanban boards are adaptable enough to manage a variety of workflows
while still maintaining job progress (ATLASSIAN, 2023).
52
NISCHAL
21049542 FINAL YEAR PROJECT
Kanban board is a visualization tool used by the kanban teams for managing the workload and
flow. In a Kanban board, work is displayed in a project board that is organized by columns.
Traditionally, each column represents a stage of work. Columns on the most basic Kanban board
might include "To do," "In progress," and "Done." Each column is populated with visual cards
that represent specific jobs (Martins, 2022).
53
NISCHAL
21049542 FINAL YEAR PROJECT
Jobs Nepal claiming itself being the largest locally focused employment website in Nepal
contains various compelling features. The one features that has been inspired by the Jobs Nepal
website to use in the proposed system is:
Use of Role-based access control (RBAC) where different registration form is presented
for the user according to the role selected. The job seeker and company are present with
different registration from. The idea of role-based access control is used in the proposed
system where the user needs to select the role from the checkbox presented for
registration.
54
NISCHAL
21049542 FINAL YEAR PROJECT
Kantipur Jobs has been one of the leading solutions for human resource in the nation since 2012.
The inspiring feature in Kantipur jobs to be integrated in the proposed system is included below:
The job listing and job description of the Kantipur jobs contains details about the
company, job description with key responsibilities, job specifications, and education
description. The proposed system will contain details job description page where various
details will be provided with various options which includes apply, save and more.
55
NISCHAL
21049542 FINAL YEAR PROJECT
7.3.3. Glassdoor
Glassdoor is one of the largest job and recruiting websites in the world. It takes delight in
assisting people in finding jobs and companies that they enjoy. The business was founded on the
principle of improving workplace transparency. It has created several tools to assist job searchers
in making more informed career selections. The Glassdoor features millions of the most recent
job postings, as well as an expanding database of company reviews, CEO approval ratings,
salary reports, interview reviews and questions, benefits reviews, office images, and more.
Unlike other employment sites, every material on the site is provided by the people who know a
company the best which are employees (GLASSDOOR, 2023).
Glassdoor is one of the largest job recruiting websites in the world with various advanced
features and options allowing people in finding jobs and companies. The inspiring feature in
Glassdoor to be integrated into the proposed system is:
The user being able to make a post. However, in the Glassdoor website the user can make
a post into the community. But in case of the proposed system the user can make a post
being a freelancer providing various professional details to be hired by the company.
56
NISCHAL
21049542 FINAL YEAR PROJECT
57
NISCHAL
21049542 FINAL YEAR PROJECT
58
NISCHAL
21049542 FINAL YEAR PROJECT
Figure 45: Willingness to use job portal for job application process results.
59
NISCHAL
21049542 FINAL YEAR PROJECT
Figure 47: Interested to use resume generation feature within the portal result.
60
NISCHAL
21049542 FINAL YEAR PROJECT
61
NISCHAL
21049542 FINAL YEAR PROJECT
62
NISCHAL
21049542 FINAL YEAR PROJECT
63
NISCHAL
21049542 FINAL YEAR PROJECT
64
NISCHAL
21049542 FINAL YEAR PROJECT
65
NISCHAL
21049542 FINAL YEAR PROJECT
66
NISCHAL
21049542 FINAL YEAR PROJECT
3. Fills out the registration form. 4. Checks whether the provided details are
valid or not and whether the user is already
registered.
5. Provides registration successful alert
message.
6. Redirects the user to the login page.
Table 37: Expanded Use Case for Register.
67
NISCHAL
21049542 FINAL YEAR PROJECT
3. Fills out the login form. 4. Checks whether the details provided in
the form are valid or not and also checks
whether the user is registered or not.
5. Provides login successful alert
message.
6. Redirects the user to their respective
dashboard.
Table 38: Expanded Use Case for Login.
68
NISCHAL
21049542 FINAL YEAR PROJECT
69
NISCHAL
21049542 FINAL YEAR PROJECT
70
NISCHAL
21049542 FINAL YEAR PROJECT
71
NISCHAL
21049542 FINAL YEAR PROJECT
72
NISCHAL
21049542 FINAL YEAR PROJECT
73
NISCHAL
21049542 FINAL YEAR PROJECT
74
NISCHAL
21049542 FINAL YEAR PROJECT
75
NISCHAL
21049542 FINAL YEAR PROJECT
76
NISCHAL
21049542 FINAL YEAR PROJECT
77
NISCHAL
21049542 FINAL YEAR PROJECT
78
NISCHAL
21049542 FINAL YEAR PROJECT
79
NISCHAL
21049542 FINAL YEAR PROJECT
80
NISCHAL
21049542 FINAL YEAR PROJECT
81
NISCHAL
21049542 FINAL YEAR PROJECT
2. View the application of the preferred 3. Shows application with some various
applicant. other options including messaging.
4. Clicks on messaging option 5. Opens the messaging portal.
6. Writes message to send
7. Sends the message
Table 52: Expanded Use Case for Messaging and Communication.
82
NISCHAL
21049542 FINAL YEAR PROJECT
83
NISCHAL
21049542 FINAL YEAR PROJECT
84
NISCHAL
21049542 FINAL YEAR PROJECT
85
NISCHAL
21049542 FINAL YEAR PROJECT
86
NISCHAL
21049542 FINAL YEAR PROJECT
87
NISCHAL
21049542 FINAL YEAR PROJECT
Improved Performance: React leverages Virtual DOM, which speeds up the creation of
web apps. Virtual DOM examines the past states of the components and updates only the
things in the Real DOM that have changed, rather than updating all of the components
again, as traditional web applications do.
88
NISCHAL
21049542 FINAL YEAR PROJECT
Reusable Components: Components are the building parts of any React application, and a
single app is typically made up of numerous components. These components have their
own logic and controls, and they can be reused across the program, reducing development
time significantly.
Unidirectional data flow: React uses a one-way data flow. As a result, while creating a
React project, developers frequently layer child components within parent components.
Because data flows in a single path, it is easier to debug faults and pinpoint the location
of a problem in an application at any given time.
Both web and mobile app development: We already know that React is utilized for web
application development, but that's not all it can do. React Native, a framework developed
from React itself, is quite popular and is used to create stunning mobile applications. As a
result, React may be used to create both web and mobile applications (Simplilearn, 2023).
89
NISCHAL
21049542 FINAL YEAR PROJECT
90
NISCHAL
21049542 FINAL YEAR PROJECT
7.7.3. Node.js
Node.js is a cross-platform open-source JavaScript runtime environment and library for running
web applications outside of the client's browser. Ryan Dahl created it in 2009, and the most
recent version, 15.14, was released in April 2021. Node.js is used by developers to create server-
side web applications, and it is ideal for data-intensive applications due to its asynchronous,
event-driven approach.
91
NISCHAL
21049542 FINAL YEAR PROJECT
92
NISCHAL
21049542 FINAL YEAR PROJECT
7.7.4. Express.js
Express.js is a simple framework that builds on the capabilities of the Node.js web server to
simplify its APIs and add useful new features. It facilitates the organization of your application's
functionality through the use of middleware and routing. It adds useful utilities to Node.js HTTP
objects and makes dynamic HTTP objects easier to render.
93
NISCHAL
21049542 FINAL YEAR PROJECT
7.7.5. MongoDB
MongoDB is a free and open-source NoSQL database management system. NoSQL (Not merely
SQL) is a database technology that is used as an alternative to traditional relational databases.
NoSQL databases are extremely handy when dealing with massive amounts of scattered data.
MongoDB is a tool for managing document-oriented data, as well as storing and retrieving data.
MongoDB is used for high-volume data storage, allowing enterprises to store massive amounts
of data while being responsive. Ad hoc queries, indexing, load balancing, aggregation, server-
side JavaScript execution, and other functionalities are also used by businesses.
94
NISCHAL
21049542 FINAL YEAR PROJECT
95
NISCHAL
21049542 FINAL YEAR PROJECT
As a job seeker, I want to use the forgot password option so that I can recover my
password.
Company Profile
As a job provider, I want to be able to create a profile for the company as well as
create profile with my personal and professional information so that I can apply for
jobs easily.
96
NISCHAL
21049542 FINAL YEAR PROJECT
97
NISCHAL
21049542 FINAL YEAR PROJECT
As a job seeker, I want to apply for jobs directly through the platform.
As a job provider, I want to post the jobs directly through the platform.
Post Interests
As a job seeker, I want to view the job listing in the card view with the feature of
pagination.
As a job provider, I want to view the request by freelancers in the card view and the job
posting form filled by the seekers in table view with the feature of pagination.
As an admin, I want to view all the activities performed by the job seeker as well as the
job provider in the form of table view with the feature of pagination.
98
NISCHAL
21049542 FINAL YEAR PROJECT
7.8.1.4. References
IEEE Std 830-1998 – IEEE Recommended Practice for Software Requirement
Specifications
7.8.1.5. Overview
The software Requirement Specifications (SRS) provides the requirements for JobSewa. It
consists detailed information about the purpose and scope of the project with its main aim and
various objectives. It also outlines the functional and non-functional requirements of the project.
The idea on how the user interfaces will look like, system constraints, assumptions made, and
system requirements can be obtained with this SRS. The SRS also provides insights on how the
development process will be performed.
The SRS is organized into various sections to allow easy exploration and understanding of all the
contents. The document begins with an introduction to the project followed by the overall details
about the project. The document continues with the section where all the functional and non-
functional requirements of the project, user interfaces, hardware and software requirements, and
all the deliverables are presented. The document concludes with appendix where all the
additional information is included. The document in made in a logical flow to enable readers to
easily understand the project details.
99
NISCHAL
21049542 FINAL YEAR PROJECT
The user interacts with the JobSewa job portal web application. The system sends HTTP request
to the NodeJs server and the server sends data request to the Mongo DB database. The Mongo
DB database then sends data response to the NodeJs Server. The server provides HTTP response
to the JobSewa web app.
10
NISCHAL
21049542 FINAL YEAR PROJECT
7.8.2.1.1. User
Interfaces Job Seeker
Interface
The job seeker interface provides efficient and easy job search and application experience to the
users. It includes features which are listed below:
User registration and login.
Recover password using forgot password option.
Job search and filter.
User profile generation.
Resume building.
View and Save jobs.
Apply for jobs.
Post interests.
Admin Interface
The admin interface provides tools for the admin to manage the overall operations and functioning
of the system. It includes features which are listed below:
Admin login.
System configuration and settings.
All operations view.
10
NISCHAL
21049542 FINAL YEAR PROJECT
10
NISCHAL
21049542 FINAL YEAR PROJECT
10
NISCHAL
21049542 FINAL YEAR PROJECT
10
NISCHAL
21049542 FINAL YEAR PROJECT
Experience:
Job Seekers: Range of professional experience levels which includes entry level, mid-
level and experienced.
Job Providers: Experienced professionals with clear ideas about the industry hiring
practices.
Technical Expertise:
Job Seekers: Technical skills ranging from basic to intermediate and familiarity with
web applications.
Job Providers: Capable in using online recruitment tools with communication
skills.
10
NISCHAL
21049542 FINAL YEAR PROJECT
7.8.2.4.3. Authentication
The authentication system required for the seamless operation of the software is:
JSON Web Tokens (JWT): Used for user authorization and authentication.
10
NISCHAL
21049542 FINAL YEAR PROJECT
10
NISCHAL
21049542 FINAL YEAR PROJECT
10
NISCHAL
21049542 FINAL YEAR PROJECT
10
NISCHAL
21049542 FINAL YEAR PROJECT
11
NISCHAL
21049542 FINAL YEAR PROJECT
11
NISCHAL
21049542 FINAL YEAR PROJECT
7.8.3.2.2. Login
Req.ID Requirement Description
FR-02 User as well as admin can login to the system using the same login form.
Sys.Req.ID System Requirement
SR-01 The system shall provide login form
SR-02 User and Admin shall be able to submit the form
SR-03 The system shall verify all the fields and throw error if
data cannot be validated.
SR-04 The system shall check whether the credentials
provided while logging in to the system is already
registered or not.
SR-05 The system shall throw error if login credentials are not
correct
SR-06 The system shall provide alert message whether the
user and admin are logged in successfully or not and
redirect to their respective dashboard
11
NISCHAL
21049542 FINAL YEAR PROJECT
11
NISCHAL
21049542 FINAL YEAR PROJECT
11
NISCHAL
21049542 FINAL YEAR PROJECT
11
NISCHAL
21049542 FINAL YEAR PROJECT
11
NISCHAL
21049542 FINAL YEAR PROJECT
11
NISCHAL
21049542 FINAL YEAR PROJECT
11
NISCHAL