0% found this document useful (0 votes)
186 views128 pages

Final Report Draft

This report summarizes the progress of developing a job portal website called JobSewa. It discusses the technologies used, design diagrams, implementation of authentication pages, and analysis of progress to date. Future work includes developing modules for job seekers, providers and admins as well as messaging, resume generation and testing.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
186 views128 pages

Final Report Draft

This report summarizes the progress of developing a job portal website called JobSewa. It discusses the technologies used, design diagrams, implementation of authentication pages, and analysis of progress to date. Future work includes developing modules for job seekers, providers and admins as well as messaging, resume generation and testing.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 128

Module Code & Module Title

CS6P05 - Final Year Project

Assessment Type & Weightage


Interim Report (25%)

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.

1.2. Current Scenario


1.2.1. In context of Nepal
The unemployment rate in Nepal for youths aged between 15-29 is 19.2 percent, compared to 2.7
percent for the general population. Every year, over 400,000 young people are anticipated to
enter the labour force. A substantial number of youths are opting overseas migration in search of
higher paying job and dignity of work. The above data represent the quantitative aspects of
employment crisis in Nepal (Internation Labour Organization, 2023).

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

1.2.2. In context of the world


Recent labour market shifts have reshaped online job search and recruitment, with sites such as
Indeed and Glassdoor playing critical roles. The Indeed and Glassdoor Workplace Trend Report
identifies five critical issues influencing labour markets in Canada and around. The labour
shortage will remain and have an impact. In September, remote work was mentioned in around
11.2% of Canadian job advertisements on Indeed, a notable rise from the pre-pandemic period.

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

1.2. Problem Scenario

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

1.3. The project as a solution

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. Aim and Objectives


1.4.1. Aim
The primary aim of the Job Portal Website is to transform the job market by providing an
intuitive, efficient, and data-driven solution which empower job seekers to find their dream jobs
while enabling employers to identify top talent effortlessly.

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

1.5. Structure of Report


1.5.1. Background
The background section in the document provides an idea and better understanding of the
project. The section includes research and observations made on the similar systems to grasp
more ideas through them. It also provides information about the technologies and methodology
used to develop the desired system.

1.5.2. Development to date


The development section in the document explains the development process of the project till the
date.

1.5.3. Analysis of progress


The analysis of progress section in the document explains and analyses the progress till the date
to obtain the information to the state of the project. The state of the project includes how much
work is done, how much time is needed to complete the project and how it is being performed.

1.5.4. Future work


The future work section in the document outlines the future works and plans needed to complete
the project at time.

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

2.1.2. Selected Methodology


2.1.2.1. Kanban Methodology
The Job Portal Website will be developed utilizing an agile development process, with Kanban
serving as the project management tool. Kanban method falls under agile methodology aiming at
continuous improvement, flexibility in task management, and enhanced workflow. The main
goal of the Kanban Framework is to promote project transparency and team member
participation by displaying the entire project on boards (kissflow, 2023).

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.

The detailed description of Kanban Methodology can be found here.

8
NISCHAL
21049542 FINAL YEAR PROJECT

2.2. Review of similar project


2.2.1. Kumari Job
Kumari Job is the renowned and one of the legally certified Human Resource consulting firm in
Nepal developed acting as a bridge between job seekers and recruiters. Kumari Job provides
various services to its users including Job website portal, Employee Outsourcing, Training
services as well as permanent and temporary recruitment services. However, the website lacks
communication and interaction feature between the user and recruiter (Kumari Job, 2023).

Figure 1: Kumari Job website.

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).

Figure 2: Jobejee website.

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.

More similar project can be found here.

10
NISCHAL
21049542 FINAL YEAR PROJECT

2.3. Table of Comparison


S. Features Kuma Jobejee Jobs Kantipur Glassd JobSe
N. ri Job Nepal Jobs oor wa
1. Registration

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

Table 1: Table of comparison for similar projects.

2.4. Conclusion from comparison between similar projects


With the comparison made between the similar projects in the table above it clearly states that
the proposed system provides all the basic and more features to the users. It even provides more
easy navigation with good and clear user interfaces ensuring user to not experience any
problems. The proposed system even provides the features to post interests focusing on the
freelancers which the other websites lack. However, the proposed system doesn’t contain mobile
app which can be developed in the future.

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.

3.1.2. Server-side technologies


The backend technologies used during the development of the project are described below:
 Node.js: Node.js is a JavaScript runtime built on Chrome’s V8 JavaScript engine.
Node.js is a scalable network application runtime that is built as an asynchronous event-
driven JavaScript runtime (nodejs, 2023).
The detailed description of Node.js can be found here.

 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 (geeksforgeeks,
2023).
The detailed description of Express.js can be found here.

12
NISCHAL
21049542 FINAL YEAR PROJECT

3.1.3. Database technology


The database technology used during the development of the project is described below:
 MongoDB: MongoDB is an open-source NoSQL database management program.
MongoDB is used for high-volume data storage, allowing enterprises to store massive
amounts of data while being responsive (TechTarget, 2023).
The detailed description of Express.js can be found here.
3.1.4. Development tools
The development tools used are described below:
 Visual Studio code (VS code): Visual Studio Code is a lightweight yet capable
source code editor for Windows, macOS, and Linux that runs on the desktop. It includes
built-in support for JavaScript, TypeScript, and Node.js (Visual Studio, 2023).
 Git: Git is a free and open-source distributed version control system designed to handle
projects of all sizes with speed and efficiency. Git is simple to use, has a small footprint,
and delivers lightning-fast speed (git, 2023).

13
NISCHAL
21049542 FINAL YEAR PROJECT

3.2. Survey Results


3.2.1. Highlights from the Pre-Survey form
Twenty responses were obtained from the pre-survey form for a job portal website named as
JobSewa. The highlights from the pre-survey form are mentioned in lists below:
 Diverse group of individuals were the respondents to the form with varying desired job
title where Web Developer being the most preferred job title.
 The other desired job title included Data Scientist, Flutter Developer, Full Stack
developer and more.
 The respondents were primarily interested in full-time employment while some were
interested in remote and part-time opportunities.
 Online job portals and social media (Ads) were the primary mediums through which the
respondents searched for employment opportunities.
 Almost every respondent is interested in a built-in resume generation feature to
frequently generate and update their CV or resume.
 About 45% of respondents were compelled by the idea of the messaging option within
the portal where they can communicate to the job providers easily. On the other hand,
40% of the respondents preferred communication via email services.
Get the pre-survey results here.

14
NISCHAL
21049542 FINAL YEAR PROJECT

3.3. Design
3.3.1. Entity Relationship Diagram (ERD)

Figure 3: General ERD of the system.

15
NISCHAL
21049542 FINAL YEAR PROJECT

3.3.1. Use Case Diagram

Figure 4: Use Case Diagram

16
NISCHAL
21049542 FINAL YEAR PROJECT

3.3.4. Data Flow Diagram (DFD)


3.3.5. Context Level Diagram

Figure 5: Context Level Diagram.

17
NISCHAL
21049542 FINAL YEAR PROJECT

3.3.6. DFD Level 2 Diagram

Figure 6: DFD Level 1.

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:

Figure 7: Product Backlog for authentication page.

19
NISCHAL
21049542 FINAL YEAR PROJECT

3.4.1.2. Doing
3.4.1.2.1. Register
Design

Figure 8: Level 1 DFD to register user.

Figure 9: Collaboration diagram for user registration.

20
NISCHAL
21049542 FINAL YEAR PROJECT

Figure 10: Activity diagram for user registration.

21
NISCHAL
21049542 FINAL YEAR PROJECT

Figure 11: Wireframe for registration.

Figure 12: Mockup for registration

22
NISCHAL
21049542 FINAL YEAR PROJECT

Development

Figure 13: Frontend of user registration.

Figure 14: Registration frontend code part 1.

23
NISCHAL
21049542 FINAL YEAR PROJECT

Figure 15: Registration frontend code part 2.

Figure 16: Registration frontend code part 3.

24
NISCHAL
21049542 FINAL YEAR PROJECT

Figure 17: API Creation for User registration.

Figure 18: Screenshot of registered user stored in mongodb.

25
NISCHAL
21049542 FINAL YEAR PROJECT

3.4.1.2.2. User and Admin Login


In the following project, user and admin login authentication was the second part selected for
development. The user needs to register first, to become a member to access the various services
provided by the system. The user then needs to login to the system to access the respective
dashboard. The administrator with the use of pre-defined email and password logs into the
system and performs various operations.

Design

Figure 19: Level 1 DFD for user login.

26
NISCHAL
21049542 FINAL YEAR PROJECT

Figure 20: Level 1 DFD for admin login.

Figure 21: Collaboration diagram for user login.

27
NISCHAL
21049542 FINAL YEAR PROJECT

Figure 22: Collaboration diagram for admin login.

Figure 23: Activity diagram for login.

28
NISCHAL
21049542 FINAL YEAR PROJECT

Figure 24: Wireframe for Login.

29
NISCHAL
21049542 FINAL YEAR PROJECT

Figure 25: Mockup for login

30
NISCHAL
21049542 FINAL YEAR PROJECT

Development

Figure 26: Frontend of user and admin login.

Figure 27: Login frontend code part 1.

31
NISCHAL
21049542 FINAL YEAR PROJECT

Figure 28: Login frontend code part 2.

Figure 29: User Login api.

32
NISCHAL
21049542 FINAL YEAR PROJECT

Figure 30: Screenshot of login user stored in mongodb.

33
NISCHAL
21049542 FINAL YEAR PROJECT

4. Analysis of Progress
4.1. Progress Table

S.No. Tasks Status Progress (%)


1. Topic Selection Completed 100%
2. Feasibility Study Completed 100%
3. Research on the topic Completed 100%
4. Research on various similar projects. Completed 100%
5. Identify the Tech Stack for the Completed 100%
development of the system
6. Research about the tech stack being Completed 100%
used
7. Gather initial requirements Completed 100%
8. Generate Project Proposal Completed 100%
9. Generate overall UML Diagrams Partially Completed 80%
10. Wireframes and Mockups Partially Completed 60%
11. Development of User Signup and Completed 100%
Login
12. Development of forgot password Not Completed 0%
option
13. Development of change password Not Completed 0%
and logout option
14. Development of Job Seeker Module Not Completed 0%
15. Development of Job Provider Module Not Completed 0%
16. Development of Admin Module Not Completed 0%
17. Development of in-built messaging Not Completed 0%
facility
18. Development of Resume generation Not Completed 0%
feature
19. Search and Filter Not Completed 0%

34
NISCHAL
21049542 FINAL YEAR PROJECT

20. Testing Not Completed 0%


21. Finalize Interim Report Completed 100%
22. Deployment Not Completed 0%
23. Review and Refinement Not Completed 0%
24. Final Report Submission Not Completed 0%
Table 2: Progress Table.

35
NISCHAL
21049542 FINAL YEAR PROJECT

4.2. Progress Review

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.2. Research on similar system


Intense research work was conducted on various similar systems to extract the key features that
can be used in the proposed system for its betterment. The systems that have been present in
Nepal as well as the world were used to get some insights from them. Five of the similar projects
were mentioned in the background section above and some of the excellent features within them
were extracted as an inspiration to use in the following system. A comparison table was also
created where the comparison between the system were made mentioning the standout features
not available within them will be present in the proposed system.

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

4.3. Progress Timeline


As comparison to the Gantt Chart outlined in the proposal, the project have experienced delays.
The research and requirement gathering tasks took longer than the timeframe presented. Various
obstacles were identified and overcame which resulted into lagging behind the proposed
timeline. In the previous gantt chart the development of admin dashboard should have completed
till the date but it was not possible as UI and UX design took much more time than expected. The
time allocation for Authentication page was also less which caused the problem. The
development of the Authentication page requires more time that the allocation made previously.

4.4. Action Plan


The remaining tasks of the project will be performed according to the revised Gantt chart. Every
task before the interim report outlined in the previous gantt chart have been completed now, the
Development phase will continue after the submission of the interim report.

Figure 31: Revised Gantt chart.

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.

5.2. Development of Job Seeker Module


Initially, a job model will be created in the MongoDB database which stores the properties of the
job. Various APIs will be generated for endpoints like apply job, save job and more. The Job
Seeker Module will allow the job seeker to create a profile, post an interest, apply for the job and
more.

5.3. Development of Job Provider Module


The frontend development of the Job Provider Module will be conducted using various
components. The development of Job Provider Module will allow the company or recruiter to
post jobs, create account and other several services or features. Multiple APIs will be generated
at the backend to enable seamless integration of external data into the react application.

5.4. Development of Admin Module


The frontend and backend development of the Admin Module will be performed simultaneously.
The admin module will provide privilege to the administrator to perform various job moderation
and conduct user management. A User-friendly and good-looking frontend will be created with
React. And various APIs will be created to allow admin to perform operation into the system.

39
NISCHAL
21049542 FINAL YEAR PROJECT

5.5. Development of Messaging Portal


The development of messaging portal will be performed with the use of socket.io which is a
library that enables real time communication. The messaging portal will allow the job providers
and job seekers to communicate and interact with each other. The responsive and User-friendly
interface to messages and messaging options will be created.

5.6. Development of Resume Generation Option


The resume generation option will be integrated into the Job Seeker module which will allow
the user to create and update their resume. A resume generation form will be created using the
frontend technology and different APIs required for the integration will be created in the
backend.

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].

ATLASSIAN, 2023. 4 Kanban Principles for Agile Project Management. [Online]


Available at: https://www.atlassian.com/agile/project-management/kanban-principles
[Accessed 15 December 2023].

ATLASSIAN, 2023. Kanban - A brief introduction. [Online]


Available at: https://www.atlassian.com/agile/kanban
[Accessed 20 11 2023].

geeksforgeeks, 2023. Express.js. [Online]


Available at: https://www.geeksforgeeks.org/express-js/
[Accessed 21 December 2023].

geeksforgeeks, 2023. Introduction to Tailwind CSS. [Online]


Available at: https://www.geeksforgeeks.org/introduction-to-tailwind-css/
[Accessed 21 December 2023].

GeeksforGeeks, 2023. Software Engineering | Iterative Waterfall Model. [Online]


Available at: https://www.geeksforgeeks.org/software-engineering-iterative-waterfall-
model/
[Accessed 26 11 2023].
git, 2023. Git. [Online]
Available at: https://git-scm.com/
[Accessed 10 December 2023].

GLASSDOOR, 2023. What is Glassdoor?. [Online]


Available at: https://help.glassdoor.com/s/article/What-is-Glassdoor?language=en_US
[Accessed 10 December 2023].

Internation Labour Organization, 2023. Employment promotion in Nepal. [Online] Available


at: https://www.ilo.org/kathmandu/areasofwork/employment-promotion/lang--
en/index.htm#:~:text=Employment%20challenges&text=The%20unemployment%20rate
%20for%20youth,the%20employment%20challenge%20in%20Nepal.
[Accessed 1 December 2023].

jobejee, 2023. Jobejee Features. [Online] Available


at: https://www.jobejee.com/learn-more [Accessed 12
December 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].

KantipurJob, 2017. WHO WE ARE. [Online]


Available at: https://kantipurjob.com/about-us
[Accessed 12 December 2013].

kissflow, 2023. Kanban Methodology: The Simplest Agile Framework - Kissflow.


[Online]
Available at: https://kissflow.com/project/agile/kanban- methodology/#:~:text=Kanban%20focuses
%20on%20breaking%20down,when%20an% 20urgent%20task%20surfaces.

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].

Macrotrends, 2023. Nepal Unemployment Rate 1991-2023 | MacroTrends. [Online]


Available at: https://www.macrotrends.net/countries/NPL/nepal/unemployment-
rate#:~:text=Nepal%20unemployment%20rate%20for%202022,a%200.02%25%20decli ne
%20from%202018.
Martin, M., 2023. Prototype Model in Software Engineering. [Online]
Available at: https://www.guru99.com/software-engineering-prototyping-model.html
[Accessed 27 11 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].

nodejs, 2023. Node.js. [Online]


Available at: https://nodejs.org/en
[Accessed 21 December 2023].

nvisia, 2020. What is Agile Methodology? Benefits of using Agile. [Online]


Available at: https://www.nvisia.com/insights/agile-methodology [Accessed 10
11 2023].

React, 2023. Getting Started. [Online]


Available at: https://legacy.reactjs.org/docs/getting-started.html
[Accessed 21 December 2023].

42
NISCHAL
21049542 FINAL YEAR PROJECT

Simplilearn, 2023. The Best Guide to Know What Is React. [Online]


Available at: https://www.simplilearn.com/tutorials/reactjs-tutorial/what-is-reactjs
[Accessed 21 December 2023].

Simplilearn, 2023. What is Node.js: A Comprehensive Guide. [Online]


Available at: https://www.simplilearn.com/tutorials/nodejs-tutorial/what-is-nodejs
[Accessed 21 December 2023].

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].

TechTarget, 2023. DEFINITION MongoDB. [Online]


Available at: https://www.techtarget.com/searchdatamanagement/definition/MongoDB [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].

Wrike, 2023. What Is Agile Methodology in Project Management?. [Online]


Available at: https://www.wrike.com/project-management-guide/faq/what-is-agile-
methodology-in-project-management/
[Accessed 10 11 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).

Figure 32: Agile Methodology (Source: (nvisia, 2020)).

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

Scenario Documentation challenges due to creation of required document at


the time of need only.
Justification The proposed system is a smaller-scale project where documentation is an
important aspect for clarity and efficiency. The just-in-time approach of the
agile methodology might lead to the details being
lacked.
Table 4: Second reason for not choosing Agile methodology.

Scenario Concerns for organizing project due to Incremental Delivery.


Justification The development of different components are performed in different cycles
of the agile methodology. The speed up process may lead to disorganization
of the project. The proposed system needs to be
organized and be developed within a specific timeframe.
Table 5: Third reason for not choosing Agile methodology.

45
NISCHAL
21049542 FINAL YEAR PROJECT

7.1.2. Waterfall Model


The Waterfall technique, sometimes referred to as the Waterfall model, is a step-by-step
approach to project development that proceeds through all stages of a project, such as analysis,
design, development, and testing, like a waterfall. Each stage is finished before the next one
starts (Adobe Experience Cloud, 2022).

Figure 33: Waterfall Model (Source: (Adobe Experience Cloud, 2022)).

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 Progress needs to be submitted every week or at specific time to the


supervisor due to academic project. The feedback is very important for
completion of the project.
Justification The waterfall method uses minimal interaction approach which cannot be
fruitful for the proposed system. The continuous feedback from the
supervisor avoids missing out the valuable insights.
Table 7: Second reason for not choosing Waterfall model.

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).

Figure 34: Prototyping Model (Source: (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.

Scenario Frequent testing is important while developing the proposed system.


Justification The iterative nature of prototype model may invite more testing, which
creates problem due to the fixed deadline of the project development.
Table 11: Third reason for not choosing prototype model.

48
NISCHAL
21049542 FINAL YEAR PROJECT

7.1.4. Iterative Waterfall Model


The Iterative Waterfall Model is a software development methodology that blends the flexibility
of iterative design with the sequential processes of the classic Waterfall Model. Instead of
waiting until the project is finished, it enables adjustments and enhancements to be made at
every stage of the development process (GeeksforGeeks, 2023).

Figure 35: Iterative Waterfall Model (Source: (GeeksforGeeks, 2023)).

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

Scenario Small project with limited scope and requirement


Justification The multiple iterative process may invite various problems which may
outweigh the outcomes obtained by the completion of the project. It consists
of limited scope and requirement with not many changes
required in the future.
Table 13: Second reason to not choose iterative waterfall model.

Scenario Development or work in various phases at the same time.


Justification The iterative waterfall assumes to start the next phase only after the
end of the first, but it is not possible in terms of the proposed project.
Various phases align with each other at the same time.
Table 14: Third reason to not choose iterative waterfall model.

50
NISCHAL
21049542 FINAL YEAR PROJECT

7.2. Selected Methodology


7.2.1. Kanban Methodology
The kanban methodology comprises four simple principles which are included below:
 Start with what you do now: Kanban begins with the discovery phase, so you don't
waste time and money repairing something that already works. During this phase, project
managers identify existing processes and workflows that are effective and procedures,
roles, and responsibilities that should be improved. Managers can reduce organizational
disturbance and precisely measure ROI for Kanban enhancements by focusing on specific
issue areas that require optimization.
 Accept the pursuit of incremental, evolutionary change: Kanban emphasizes
tiny, controllable improvements, so think baby steps rather than massive leaps. Large-
scale changes can overwhelm teams and bring unexpected obstacles. For example,
redesigning your company's whole software deployment process all at once could result
in missing steps, costly errors and downtime, and even team pushback due to
unfamiliarity.
 Respect the current process, roles, responsibilities, and titles: Kanban
respects the organizational processes, roles, and titles and aims to enhance rather than
disrupt the natural order of operations. This synergy makes it easy to weave Kanban into
existing workflows. By honoring the current structure, Kanban reduces resistance to
change and allows for quick implementation because the company does not need to
restructure before starting with Kanban.
 Encourage actions of leadership at all levels of your organization: Kanban
promotes empowerment by encouraging everyone, from interns to CEOs, to take
ownership of their responsibilities. When employees feel empowered to take
responsibility of their tasks, they are more engaged, accountable, and happy at work.
Kanban empowers every member of the team to participate to the process. A junior
developer, for example, may discover a bottleneck in the workflow and propose a data-
backed remedy.

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).

Figure 36: Kanban Board.

53
NISCHAL
21049542 FINAL YEAR PROJECT

7.3. Review of Similar project


7.3.1. Jobs Nepal
Jobs Nepal has claimed itself being the largest locally focused employment website in the
nation with extensive job listing that cover various industries. It contains clean and effective
user-friendly interface making it easy for the user to navigate through the different contents of
the website. Jobs Nepal provides various services which includes Direct Recruitment,
Vacancy Announcement and Banner Advertisement (JobsNepal, 2023).

Figure 37: JobsNepal website.

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

7.3.2. Kantipur Jobs


Kantipur Jobs falls under the organization named as Kantipur Management Private Limited
(KMPL) which is an expertise on human resources solution and have been providing human
resources management and similar solutions to the companies and users in the nation since 2012.
The services of Kantipur Jobs includes HR consulting, staff outsourcing, recruitment and
selection processes and training. The website provides efficient detailed job description and
straightforward application processes being a valuable resource to go through the job market
scenario in Nepal (KantipurJob, 2017).

Figure 38: Kantipur Jobs website.

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).

Figure 39: GLASSDOOR website.

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

7.4. Survey Results


7.4.1. Pre- Survey Results

Figure 40: Personal Information about the respondents.

Figure 41: Desired Job Title Result.

57
NISCHAL
21049542 FINAL YEAR PROJECT

Figure 42: Current Status result.

Figure 43: Preferred Employment Type results.

58
NISCHAL
21049542 FINAL YEAR PROJECT

Figure 44: Medium for job search results.

Figure 45: Willingness to use job portal for job application process results.

59
NISCHAL
21049542 FINAL YEAR PROJECT

Figure 46: CV update result.

Figure 47: Interested to use resume generation feature within the portal result.

60
NISCHAL
21049542 FINAL YEAR PROJECT

Figure 48: Preferred communication medium result.

61
NISCHAL
21049542 FINAL YEAR PROJECT

7.5. High Level Use Case Description


Use Case: Register
Actors: User (Job Seeker and Job Provider)
Description: A User who is willing to use the service of JobSewa, fills out the
registration form with appropriate details. The service includes job
application, job posting, resume generation and more.
Table 15: High Level Use Case for Register.

Use Case: Login


Actors: User (Job Seeker and Job Provider), Admin
Description: A registered User fills out the login form to enter the respective dashboards
whether it be job seekers or job provider. An admin uses
pre-define email and password to login to the system.
Table 16: High Level Use Case for Login.

Use Case: Forgot Password


Actors: User (Job Seeker and Job Provider)
Description: A User can recover the forgotten password with the use of forgot
password option. The user may need to provide some credentials
before being able to recover the password.
Table 17: High Level Use Case for Forgot Password.

Use Case: Change Password


Actors: User, Admin
Description: A user as well as the admin can change the password whenever they
required. The change password option allows them to change the password.

Table 18: High Level Use Case for Change Password.

62
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: Logout


Actors: User, Admin
Description: A user as well as the admin can logout of the system with the use of
logout option whenever they desire.
Table 19: High Level Use Case for Logout.

Use Case: View Job


Actors: Job Seeker
Description: A job seeker can view all the available job that have been posted by
the job providers.
Table 20: High Level Use Case for View Job.

Use Case: Save Job


Actors: Job Seeker
Description: A job seeker can save the preferred job. The saved jobs can be used
at the future to view or even apply within the time.
Table 21: High Level Use Case for Save Job.

Use Case: Search Job


Actors: Job Seeker
Description: A job seeker can search for all the available jobs as per the preference with
the use of some keywords and criteria. All the searched jobs will
be listed as per the provided criteria.
Table 22: High Level Use Case for Search Job.

Use Case: Apply Job


Actors: Job Seeker
Description: A job seeker can apply to the jobs that have been posted by the
company or job providers.
Table 23: High Level Use Case for Apply Job

63
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: Post Interest


Actors: Job Seeker
Description: A job seeker (freelancer) can post their interest with some of the details
to get hired or accepted.
Table 24: High Level Use Case for Post Interest.

Use Case: Generate Resume


Actors: Job Seeker
Description: A job seeker can generate resume by providing the required details
with the use of in-built resume generation tool.
Table 25: High Level Use Case for Generate Resume.

Use Case: Generate Profile


Actors: User (Job Seeker and Job Provider)
Description: A user can generate their profile as they are logged in to the system. A job
seeker can create profile with personal and professional details where a job
provider or company can create profile with professional
and company’s description.
Table 26: High Level Use Case for Generate Profile.

Use Case: Messaging and Communication


Actors: User (Job Seeker and Job Provider)
Description: A job provider and job seeker can communicate and connect with each other
with the use of in-built messaging feature. While viewing the user
application the option of messaging can be seen by the job provider
which enables the communication between them.
Table 27: High Level Use Case for Messaging and Communication.

64
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: Post Job


Actors: Job Provider
Description: A job provider can post the job with the overall requirements which
includes description of the job, qualification and more which can be
applied by the job seeker.
Table 28: High Level Use Case for Post Job.

Use Case: Search Job Application


Actors: Job Provider
Description: A job provider will be able to search for the job applications with the
use of some keywords and criteria entered in the search box.
Table 29: High Level Use Case for Search Job Application.

Use Case: View Job Application


Actors: Job Provider
Description: A job provider can view all the applied jobs by the job seekers.
Table 30: High Level Use Case for View Job Application.

Use Case: Save Job Application


Actors: Job Provider
Description: A job provider can view and save the job applications as per the
preference which can be reviewed or stored for the future use.
Table 31: High Level Use Case for Save Job Application.

Use Case: View Resume


Actors: Job Provider
Description: A job provider can view the resume of the job applicants or the job
seekers.
Table 32: High Level Use Case for View Resume.

65
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: Search Resume


Actors: Job Provider
Description: A job provider can search the resumes of the job seekers or the
applicants as per some keywords or criteria.
Table 33: High Level Use Case for Search Resume.

Use Case: Download Resume


Actors: Job Provider
Description: A job provider can download the resume of the job seekers or the job
applicants which can be viewed while being offline.
Table 34: High Level Use Case for Download Resume.

Use Case: User Management


Actors: Admin
Description: An admin is responsible for managing the user. An admin can block
the user which restricts the user from logging into the system.
Table 35: High Level Use Case for User Management.

Use Case: Operation Moderation


Actors: Admin
Description: An admin is responsible for operation moderation. An admin accepts
or blocks the job posting made by the job provider.
Table 36: High Level Use Case for Operation Moderation.

66
NISCHAL
21049542 FINAL YEAR PROJECT

7.6. Expanded Use Case Description


Use Case: Register
Actors: User (Job Seeker and Job Provider)
Description: A User who is willing to use the service of JobSewa, fills out the
registration form with appropriate details. The service includes job
application, job posting, resume generation and more.

Typical Course of Events:


Actor Action System Response
1. User enters the registration page. 2. Presents the registration form.

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.

Alternative Course of action:


 Line 4. Checks whether the provided details are valid or not and whether the user is
already registered. If the provided details are not valid or the user is already registered.
 Line 5. Provides registration unsuccessful alert message.
 Line 6. The user is redirected to no other page.

67
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: Login


Actors: User (Job Seeker and Job Provider), Admin
Description: A registered User fills out the login form to enter the respective
dashboards whether it be job seekers or job provider. An admin uses pre-
define email and password to login to the system.

Typical course of Events:


Actor Action System Response
1. User enters the login page. 2. Presents the login form.

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.

Alternative Course of action:


 Line 4. Checks whether the provided details are valid or not and whether the user is
registered or not. If the provided details are not valid or the user notalready registered.
 Line 5. Provides login unsuccessful alert message.
 Line 6. The user is redirected to no other page.

68
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: Forgot Password


Actors: User (Job Seeker and Job Provider)
Description: A User can recover the forgotten password with the use of forgot
password option. The user may need to provide some credentials before
being able to recover the password.

Typical course of Events:


Actor Action System Response
1. User enters the login page. 2. Presents the login form.

3. Fills out the login form. 4. Provides password is incorrect alert


message.
5. Clicks Forgot password option. 6. Redirects the user to the forgot
password page.
7. Performs forgot password operations. 8. Ask the user to enter the new password.
9. User provides new password and login 10. Redirects the user to their respective
to the system. dashboard.
Table 39: Expanded Use Case for Forgot Password.

69
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: Change Password


Actors: User, Admin
Description: A user as well as the admin can change the password whenever they
required. The change password option allows them to change the password.

Typical course of Events:


Actor Action System Response
1. Interacts with Change Password 2. Provides password changing form or UI.
Option.
3. Adds new password.
4. Clicks on change password submit 5. The new password is set.
button.
6. Password changed alert message is
provided.
Table 40: Expanded Use Case for Change Password.

70
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: Logout


Actors: User, Admin
Description: A user as well as the admin can logout of the system with the use of
logout option whenever they desire.

Typical course of Events:


Actor Action System Response
1. Interacts with Logout Option. 2. Logouts the user from the system.

3. Navigate to login page.


Table 41: Extended Use Case for Logout.

71
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: View Job


Actors: Job Seeker
Description: A job seeker can view all the available job that have been posted by
the job providers.

Typical course of Events:


Actor Action System Response
1. Lists all the available jobs.

2. Views the available jobs as per the


choice.
3. Clicks into the preferred job. 4. Provides job description and various
other options.
Table 42: Expanded Use Case for View Job.

72
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: Search Job


Actors: Job Seeker
Description: A job seeker can search for all the available jobs as per the preference
with the use of some keywords and criteria. All the searched jobs will be
listed as per the provided criteria.

Typical course of Events:


Actor Action System Response
1. The job seeker looks out for the search
bar.
2. The job seeker perform search action 3. Views all the jobs as per the criteria of
with some criteria or keyword the job seeker
4. Lists out all the available jobs as per the
search performed.
Table 43: Expanded Use Case for Search Job.

73
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: Save Job


Actors: Job Seeker
Description: A job seeker can save the preferred job. The saved jobs can be used
at the future to view or even apply within the time.

Typical course of Events:


Actor Action System Response
1. Lists all the available jobs.

2. Views the available jobs as per the


choice.
3. Clicks into the preferred job. 4. Provides job description and various
other options including save option.
5. Clicks on the save job option. 6. Provides job saved alert message and
inserts the job into the saved jobs
interface.
Table 44: Expanded Use Case for Save Job.

Alternative Course of action:


 Line 6. If the job is not saved the alert message as the job not saved is provided and the
job is not available at the saved jobs interface.

74
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: Apply Job


Actors: Job Seeker
Description: A job seeker can apply to the jobs that have been posted by the
company or job providers.

Typical course of Events:


Actor Action System Response
1. Lists all the available jobs.

2. Views the available jobs as per the


choice.
3. Clicks into the preferred job. 4. Provides job description and various
other options including apply job option.
5. Clicks on the apply job option. 6. Provides job applied alert message and
inserts the job into the applied jobs
interface.
Table 45: Expanded Use Case for Apply Job.

Alternative Course of action:


 Line 6. If the job is not applied the alert message as the job not applied is provided and
the job is not available at the applied jobs interface.

75
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: Generate Profile


Actors: User (Job Seeker and Job Provider)
Description: A user can generate their profile as they are logged in to the system. A job
seeker can create profile with personal and professional details where a job
provider or company can create profile with professional
and company’s description.

Typical course of Events:


Actor Action System Response
1. Navigates to profile section.

2. Fills out the profile generation form with


personal and professional details.
3. Submits the form. 4. Validates the details provided into the
form.
5. Generates user profile.
Table 46: Expanded Use Case for Generate Profile.

76
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: Generate Resume


Actors: Job Seeker
Description: A job seeker can generate resume by providing the required details
with the use of in-built resume generation tool.

Typical course of Events:


Actor Action System Response
1. Looks out for the resume generation
option.
2. Fills out the resume generation form
with every details.
3. Submits the form. 4. Validates the details provided into the
form.
5. Generates the resume of the user.
Table 47: Expanded Use Case for Generate Resume.

77
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: Post Job


Actors: Job Provider
Description: A job provider can post the job with the overall requirements which
includes description of the job, qualification and more which can be
applied by the job seeker.

Typical course of Events:


Actor Action System Response
1. Looks out for the post job option. 2. Provides the job posting form.

3. Fills out the job posting form with the job


requirement, qualification, company
requirements and more.
3. Submits the form. 4. Validates the details provided into the
form.
5. Provided job posted alter message and the
job can be seen in the posted jobs
interface.
Table 48: Expanded Use Case for Post Job.

78
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: Search Job Application


Actors: Job Provider
Description: A job provider will be able to search for the job applications with the
use of some keywords and criteria entered in the search box.

Typical course of Events:


Actor Action System Response
1. Looks out for searching job application 2. Provides the job posting form.
option.
3. Performs search operation with the use 4. Views all the job applications as per the
of some keyword or criteria search criteria provided
5. Provides list of all the job applications
as per the search criteria.
Table 49: Expanded Use Case for Search Job Application.

79
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: View Job Application


Actors: Job Provider
Description: A job provider can view all the applied jobs by the job seekers.

Typical course of Events:


Actor Action System Response
1. Lists all the job application on the job
posting.
2. View the job applications as per the
preference.
3. Select and view the details of the job
applications as per the preferences.
Table 50: Expanded Use Case for View Job Application.

80
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: Post Interest


Actors: Job Seeker
Description: A job seeker (freelancer) can post their interest with some of the details
to get hired or accepted.

Typical course of Events:


Actor Action System Response
1. Looks out for the option to post the 2. Provide option for posting interest.
interest.
3. Enter the job posting option. 4. Presents form to post interest.
5. Fill out the form for posting interest.
6. Clicks on the post interest option. 7. Verifies whether the details provided
into the form in valid or not.
8. Provides interest posted alert message.
Table 51: Expanded Use Case for Post Interest.

Alternative Course of action:


 Line 6. If the interest is not posted an alert message as interest is not posted is
provided.

81
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: Messaging and Communication


Actors: User (Job Seeker and Job Provider)
Description: A job provider and job seeker can communicate and connect with each other
with the use of in-built messaging feature. While viewing the user
application the option of messaging can be seen by the job provider
which enables the communication between them.

Typical course of Events:


Actor Action System Response
1. Provides list of all job applications.

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

Use Case: Save Job Application


Actors: Job Provider
Description: A job provider can view and save the job applications as per the
preference which can be reviewed or stored for the future use.

Typical course of Events:


Actor Action System Response
1. Lists all the job application on the job
posting.
2. View the job applications as per the
preference.
3. Select and view the details of the job 4. Provides the option to save the job
applications as per the preferences. application.
5. Save the job application 6. Provides job application saved alert
message and inserts the job into the saved jobs
interface.
Table 53: Expanded Use Case for Save Job Application.

Alternative Course of action:


 Line 6. If the job application is not saved the alert message as the job application not
saved is provided and the job is not available at the saved jobs interface.

83
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: View Resume


Actors: Job Provider
Description: A job provider can view the resume of the job applicants or the job
seekers.

Typical course of Events:


Actor Action System Response
1. Lists all the job application on the job
posting.
2. Provides option to view the resume of
the applicant.
3. Click on the resume view option of the 4. Loads and shows the resume of the
job applicant. applicant.
Table 54: Expanded Use Case for View Resume.

84
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: Search Resume


Actors: Job Provider
Description: A job provider can search the resumes of the job seekers or the
applicants as per some keywords or criteria.

Typical course of Events:


Actor Action System Response
1. Looks out for the option of searching the 2. Provides option or search bar to search
resume with name or other keywords. for the resume.
3. Show the resume of the applicant as per
the search performed.
4. View and explore the resume of the
applicant.
Table 55: Expanded Use Case for Search Resume.

85
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: Download Resume


Actors: Job Provider
Description: A job provider can download the resume of the job seekers or the job
applicants which can be viewed while being offline.

Typical course of Events:


Actor Action System Response
1. Lists all the job application on the job
posting.
2. Provides option to view the resume of
the applicant.
3. Click on the resume view option of the 4. Loads and shows the resume of the
job applicant. applicant.
5. View and explore the resume of the 6. Shows option to download the resume
applicant. of the applicant.
7. Download the resume of the applicant
for offline view.
Table 56: Expanded Use Case for Download Resume.

86
NISCHAL
21049542 FINAL YEAR PROJECT

Use Case: User Management


Actors: Admin
Description: An admin is responsible for managing the user. An admin can block
the user which restricts the user from logging into the system.

Typical course of Events:


Actor Action System Response
1. Admin logs into the system providing
email and password.
2. View the dashboard for User 3. Provides option to block the user.
4. Block the user.
Table 57: Expanded Use Case for User Management.

Use Case: Operation Moderation


Actors: Admin
Description: An admin is responsible for operation moderation. An admin accepts
or blocks the job posting made by the job provider.

Typical course of Events:


Actor Action System Response
1. Admin logs into the system providing
email and password.
2. View the dashboard for product 3. Provides option to accept or block the
management. request of job post option.
4. Accept the job posting request.
Table 58: Expanded Use Case for Operation Moderation.

Alternative Course of action:


 Line 4. If the admin blocks the job posting request the post is blocked and it is not seen in
the job seeker’s and job provider’s dashboard.

87
NISCHAL
21049542 FINAL YEAR PROJECT

7.7. Technology Used


7.7.1. React
React is a UI development library based on JavaScript. Webpack is used by React to
automatically compile React, JSX, and ES6 code while handling CSS file prefixes. Despite being
a library rather than a language, React is frequently utilized in web development. The library
debuted in May 2013 and has since become one of the most popular frontend libraries for web
development. Beyond just UI, it provides several extensions for overall application architecture
support, such as Flux and React Native.

Figure 49: Logo of React.

Reasons to use React as the frontend technology:


 Easy construction of dynamic apps: React makes it easier to create dynamic web
applications because it takes less coding and provides more functionality than JavaScript,
where coding can quickly become complex.

 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).

7.7.1.1. Use Case of React in the proposed system


 The generation of Navbar component to replicate into the overall pages. As the
navigation bar is same for overall system the component of the navigation bar can be
created which reduces the work of static code writing and make code reusability.
 React allows client-side routing with the use of React Router. It is a library of React to
manage navigations and URLs within the React application.
 Generation of single page application with multiple views.
 React allows use of props which can be used in various components. For example, the job
listing component contains job title and job description. The same component is used for
all the job listing available but the properties inside it can be changed with passing props
into it.

89
NISCHAL
21049542 FINAL YEAR PROJECT

7.7.2. Tailwind CSS


Tailwind CSS can be used to quickly and easily style websites. Tailwind CSS is a utility- first
CSS framework for quickly creating customized user interfaces. It is a highly configurable, low-
level CSS framework that provides you with all of the building blocks you need to create custom
designs without any unpleasant opinionated styles that you must struggle to override. It simply
takes a raw CSS file, process the CSS and produce an output.

Figure 50: Tailwind CSS logo.

The advantages of Tailwind CSS are mentioned below:


 It offers faster UI building process.
 No need of providing any silly names for CSS classes and Id.
 CSS file with the fewest lines of code.
 Customization of designs for creation of components.
 Automatic responsive website (geeksforgeeks, 2023).

7.7.2.1. Use case of Tailwind CSS in the proposed system


 Tailwind CSS provides pre-defined classes like flex, pt-4, text-center which can be used
as an alternative for CSS code display: flex, padding-top: 4px, text-align: center
respectively.
 As it offers pre-defined classes no need to provides names for CSS classes and line and
also reduces the use of CSS.
 No need of creating media quries as Tailwind CSS provides automated responsiveness.

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.

Figure 51: Node.js logo.

The features of node,js have been described below:


 Asynchronous in nature and event driven: NodeJs servers never wait for
responses from APIs. It goes to the next API without waiting for data from the API. As a
result, all NodeJS APIs are completely non-blocking. It employs an event- driven method
to receive and track all responses to prior API calls. As a result, we can say that all
NodeJs APIs are non-blocking.
 Single Threaded Architecture: NodeJs has a single threaded architecture with event
looping, which makes NodeJs more scalable. In contrast to conventional servers, they
create a restricted number of threads to process requests. Whereas for the event-driven
approach, NodeJS servers respond in a non-blocking or asynchronous way, making
NodeJS more scalable.

91
NISCHAL
21049542 FINAL YEAR PROJECT

 Cross-platform compatibility: NodeJs can be used on a variety of systems including


Windows, UNIX, LINUX, MacOS, and various mobile devices. It can be combined with
any relevant package to generate a self-sufficient execution.
 Quick code execution: NodeJs uses the V8 JavaScript runtime engine, which is also
utilized by Google Chrome. The hub provides a wrapper for the JavaScript, which speeds
up the runtime motor and, as a result, speeds up the preposition process of the requests
inside NodeJs (Simplilearn, 2023).

7.7.3.1. Use Case of Node.js in the proposed system


 The use of JavaScript language for both frontend and backend development makes
the development process of the proposed system more easier.
 Creation of RESTful API for user registration, login, forgot password, post jobs and
more.
 As the proposed system contains real-time chat application, the use of socket.io library
from node.js make the work easy.
 The use of Json Web Token (JWT) with the help of npm package in node.js allows to
generate, sign and verify tokens.

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.

Figure 52: Express.js logo

The reasons to use express.js have been mentioned below:


 Quickly and easily creates Node.js web applications.
 It's simple to set up and customize.
 You can use HTTP methods and URLs to define application routes.
 Contains a number of middleware modules that can be used to carry out additional
requests and answers.
 It's easy to connect to a variety of template engines, including Jade, Vash, and EJS.
 Allows you to provide a middleware for error handling (geeksforgeeks, 2023).

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.

Figure 53: MongoDB logo.

Some of the features of MongoDB are described in the points below:


 Replication: A replica set is a collection of two or more MongoDB instances that are
used to ensure high availability. Primary and secondary servers are used to create replica
sets. The primary MongoDB server handles all read and write activities, while the
secondary replica maintains a copy of the data. When a primary replica fails, the
secondary replica takes its place.
 Scalability: MongoDB allows for both vertical and horizontal scaling. Vertical scaling
increases the power of an existing machine, whereas horizontal scaling increases the
number of machines available to a user.
 Schema-less: MongoDB is a schema-less database, which implies it can manage data
without requiring a blueprint.
 Document: When compared to SQL databases, data in MongoDB is kept in documents
with key-value pairs rather than rows and columns, making the data more flexible
(TechTarget, 2023).

94
NISCHAL
21049542 FINAL YEAR PROJECT

7.7.5.1. Use case of MongoDB in the proposed system


 The use of MongoDB collection instead of tables to store the data of user, jobs,
messages and more.
 The job details document with information of each job like job name, job description,
qualification can be stored into MongoDB collection.

95
NISCHAL
21049542 FINAL YEAR PROJECT

7.8. Software Requirement Specification (SRS)


7.8.1. Introduction
7.8.1.1. Purpose
The purpose of this Software Requirements Specification (SRS) is to define the requirements for
the development of a Job Portal Website named as JobSewa. This document outlines the
features, functionalities, and constraints associated with the development of the software. Being
the developer of this project, the SRS documentation aims to provide a comprehensive guide and
serve as roadmap ensuring clarity and association with the project objectives. The intended
audience for this SRS includes developers, project managers, and stakeholders involved in the
development and deployment of the Job Portal Website.
7.8.1.2. Scope
The software product to be produced is an advanced job portal website with an intuitive,
efficient, and data-driven solution which empowers job seekers to find their dream jobs while
enabling employers to identify ideal and top talents effortlessly.
The specification of the product is outlined by the user stories provided in the section below.
7.8.1.2.1. User
Stories
Authentication

 As a job seeker, I want to register with my email address so that a profile of me is


created.
 As a job seeker, I want to sign in with the credentials obtained after registration so
that I can enjoy the services.

 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

User Profile and Resume generation


 As a job seeker, I want to upload my resume or CV to simplify the
application process.
 As a job seeker, I want to be able to create a profile with my personal and
professional information so that I can apply for jobs easily.
 As a job seeker, I want to use the resume builder tool to create and format my
resume.

Job Posting and Job Application Search and Filter

 As a job seeker, I want to search for jobs based on my preferences, such as


location, job title and salary range.

 As a job seeker, I want to view detailed job listings with salary


information,company details and job description.
 As a job provider, I want to search for job applications based on preferences, such as
location, application title and more.
 As a job provider, I want to view detailed job applications with the
applicant’spersonal details and more information.

View and Save Job Posting and Job Application


 As a job seeker, I want to view detailed job listings with salary
information,company details and job description.
 As a job seeker, I want to save my favourite job lists so that I can apply for it later.

 As a job provider, I want to view detailed job applications with the


applicant’s personal details and more information.

 As a job provider, I want to save my favourite job applications to view it later.

97
NISCHAL
21049542 FINAL YEAR PROJECT

Apply Job and Post Job

 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, being a freelancer, I want to post my interests including skills,


experience and projects so that the Job Providers could hire me.

Messaging and Communication


 As a job seeker, I want to communicate with Job Providers through an in-site
messaging system.

 As a job provider, I want to communicate with Job Seekers as well as


the freelancers through an in-site messaging system.

Resume Search, View, and Download


 As a job provider, I want to search for job applications based on preferences, suchas
location, application title and more.

 As a job provider, I want to view and download the resume or CV of the


applicants.

Content’s Card View, Table View, and Pagination

 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.3. Definitions, Acronyms, and


Abbrevations UI: User Interface
SRS: Software Requirement Specifications
User: Job Seeker as well as Job Provider

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

7.8.2. Overall description


7.8.2.1. Product Perspective

Figure 54: System Architecture of the application.

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.

Job Recruiter Interface


The job recruiter interface provides tools for companies or recruiters to manage job posting and
facilitate the recruiting process. It includes features which are listed below:
 Employer registration and login.
 Employer or company profile generation.
 Job posting.
 View and save job applications.
 Messaging and Communication
 Resume Search, View, and Download

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

7.8.2.1.2. Hardware Interfaces


 Network: For the system to operate correctly, the network connection must be steady
and dependable. To provide a seamless connection between the application and other
systems, this may comprise routers, switches, and other networking hardware.
 Mobile or Desktop: If the application is intended for use on desktop or mobile it will
need to be compatible with the hardware of those devices. This may include
considerations such as screen size, Operating System.

10
NISCHAL
21049542 FINAL YEAR PROJECT

7.8.2.2. Product functions


7.8.2.2.1. Authentication
Keeping the importance of security of the user’s data in mind, JWT based user authentication
and authorization system will be implemented for protection against any security vulnerabilities.
Both the job seeker and recruiter will be able to register and login using their email address and
be able to recover their password with the forgot password option.

7.8.2.2.2. User Profile and Resume generation


The user will be able to create a profile with personal and professional information including a
profile picture insertion feature. The in-build resume generation option allows the job seeker to
create and format resumes.

7.8.2.2.3. Company Profile


The company or job provider will be able to create a profile with personal and professional
information along with company’s description, logo, location, and more.

7.8.2.2.4. Job Posting and Job Application Search and Filter


The job seekers will be able to search for job posting using some keywords such as company’s
name, location and more whereas the job providers will be able to search for job applicants using
some keywords such as applicant’s name, location, and more.

7.8.2.2.5. View and Save Job Posting and Job Application


The job seeker as well as the job provider will be able to view and save the job posting and
application listings respectively within their own dashboard or portal.

7.8.2.2.6. Apply for Job and Post Job


The job seeker will be able to apply for the desired job directly through the portal and the job
provider will be able to post the job with detailed information such as job title, job description
and more.

10
NISCHAL
21049542 FINAL YEAR PROJECT

7.8.2.2.7. Post Interests


The job seeker being a freelancer will be able to post their interests including skills, experience,
and projects so that the Job Providers could hire me.

7.8.2.2.8. Messaging and Communication


The job seeker as well as the job provider will be able to directly communicate with each other
using in-site messaging system.

7.8.2.2.9. Resume Search, View, and Download


The job provider will be able to search, view and download the desired resumes based on
applicant’s names and other keywords.

7.8.2.2.10. Content’s Card View, Table View, and Pagination


The job seeker will be able to view the job postings in the form of card view. The job provider
will be able to view the requests made by the freelancers in the form of card but the requests
made by the job seekers will be in the table view. But the admin will view all the request in
Table view format. The job seeker, job provider as well as the admin will have the option of the
pagination which will allow them to identify the sequential order of pages.

10
NISCHAL
21049542 FINAL YEAR PROJECT

7.8.2.3. User characteristics


The general characteristics of the intended users for the JobSewa job portal website are provided
below:
Educational Level:
 Job Seekers: Various levels of education ranging from high school graduates to
individuals with postgraduate degrees.
 Job Providers: Generally, who holds bachelor's degrees or above and professional
certifications.

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. Operating Environment


7.8.2.4.1. Front-End Technologies
The frontend technologies required for the seamless operation of the software are:
 React: Latest version for the UI development.
 Redux: For state management.

7.8.2.4.2. Server-Side Technologies


The backend technologies required for the seamless operation of the software are:
 Node.js: Version 12 or higher.
 Express.js: Latest version.
 MongoDB: Used as the database, latest version.

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.

7.8.2.4.4. Development Tools


The development tools required for the seamless operation of the software are:
 Integrated Development Environment (IDE): Visual Studio Code.
 Git: For version control during development.

7.8.2.4.5. Browser Compatibility


The supported browsers for the software are:
 Google Chrome (latest version)
 Mozilla Firefox (latest version)
 Microsoft Edge (latest version)
 Apple Safari (Latest version)

10
NISCHAL
21049542 FINAL YEAR PROJECT

7.8.2.4.6. Operating System Compatibility


The compatible operating systems are:
 Windows
 Linux
 macOS

10
NISCHAL
21049542 FINAL YEAR PROJECT

7.8.3. Specific requirements


7.8.3.1. External Interfaces
7.8.3.1.1. User Registration Interface
 Purpose: It enables the users to register using the email address.
 Source of Input or Destination of Output: Web form on the registration page.
 Relationships to other Inputs/Outputs: Links the user to authentication and
profile creation.

7.8.3.1.2. User Login Interface


 Purpose: It enables the user to login using registered email address and password.
 Source of Input or Destination of Output: Web form on the login page.
 Relationships to other Inputs/Outputs: Links the user to authentication and user
profiles or landing page.

7.8.3.1.3. Admin Login Interface


 Purpose: It enables the administrator to login using email address and password.
 Source of Input or Destination of Output: Web form on login page.
 Relationships to other Inputs/Outputs: Links the administrator to authentication
and provides access to admin dashboards.

7.8.3.1.4. Forgot Password Interface


 Purpose: It enables to users recover the forgot password.
 Source of Input or Destination of Output: Forgot password page.
 Relationships to other Inputs/Outputs: Links to the password recover or reset
functionality.

10
NISCHAL
21049542 FINAL YEAR PROJECT

7.8.3.1.5. Job Search Interface


 Purpose: It allows job seekers to search for the available jobs.
 Source of Input or Destination of Output: Search keywords or criteria provided by
the job seeker in the search bar.
 Relationship to other Inputs/Outputs: Links to all the available jobs within the
portal as per the search criteria.

7.8.3.1.6. Job Application Search Interface


 Purpose: It allows job providers to search for applied job or job applicants.
 Source of Input or Destination of Output: Search keywords or criteria provide by
the job provider in the search bar.
 Relationship to other Inputs/Outputs: Links to all the available job applicants or
job applications within the portal as per the search criteria.

7.8.3.1.7. Job Seeker Profile Creation Interface


 Purpose: It allows job seekers to create profiles with personal and professional
information.
 Source of Input or Destination of Output: Web form to create job seekers
profile.
 Relationship to other Inputs/Outputs: Links to profile page of the job seeker.

7.8.3.1.8. Company Profile Creation Interface


 Purpose: It allows job providers or the company to create profiles professional
information.
 Source of Input or Destination of Output: Web form to create job providers or
company profile.
 Relationship to other Inputs/Outputs: Links to profile page of the job provider or
the company.

10
NISCHAL
21049542 FINAL YEAR PROJECT

7.8.3.1.9. Resume Generation Interface


 Purpose: It allows job seekers to format and create a resume.
 Source of Input or Destination of Output: In-built resume generation tool.
 Relationship to other Inputs/Outputs: Links to job seekers profile.

7.8.3.1.10. View and Save Job Interface


 Purpose: It allows job seekers to view and save the job postings.
 Source of Input or Destination of Output: Job seekers dashboard.
 Relationship to other Inputs/Outputs: Links to all the jobs.

7.8.3.1.11. View Job Application Interface


 Purpose: It allows job provides to view all the job applications.
 Source of Input or Destination of Output: Job providers dashboard.
 Relationship to other Inputs/Outputs: Links to all the job applications.

7.8.3.1.12. Job Application Interface


 Purpose: It allows job seekers to apply for the available jobs.
 Source of Input or Destination of Output: Job application form in job seekers
dashboard.
 Relationship to other Inputs/Outputs: Links to job application database.

7.8.3.1.13. Job Posting Interface


 Purpose: It allows job providers to post the jobs.
 Source of Input or Destination of Output: Job posting form in job providers
dashboard.
 Relationship to other Inputs/Outputs: Links to job posting database.

11
NISCHAL
21049542 FINAL YEAR PROJECT

7.8.3.1.14. Interest Posting Interface


 Purpose: It allows job seekers (freelancers) to post their interests.
 Source of Input or Destination of Output: Interest posting form in job seekers
dashboard.
 Relationship to other Inputs/Outputs: Links to job provider’s search.

7.8.3.1.15. Resume Search, View and Download Interface


 Purpose: It allows job providers to search view and download the resume of the job
applicants.
 Source of Input or Destination of Output: Get the job seekers resume in the
application interface.
 Relationship to other Inputs/Outputs: Links to applicant’s profile.

7.8.3.1.16. Messaging Interface


 Purpose: It allows job providers and job seekers to connect and interact directly
within the portal.
 Source of Input or Destination of Output: In-built messaging tool.
 Relationship to other Inputs/Outputs: Links job seekers and job providers.

11
NISCHAL
21049542 FINAL YEAR PROJECT

7.8.3.2. Functional Requirements


7.8.3.2.1. Register
Req.ID Requirement Description
FR-01 Job Seekers and Job Providers (User) can register to the system.
Sys.Req.ID System Requirement
SR-01 The system shall provide registration form to users
SR-02 User 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 email is unique or
not.
SR-05 The system shall provide alert message whether the
user is registered successfully or not.

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

7.8.3.2.3. User Profile


Req.ID Requirement Description
FR-03 Job Seekers can create their profile with their personal and professional
details.
Sys.Req.ID System Requirement
SR-01 The system shall provide profile creation form to the job
seeker
SR-02 Job seeker 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 provide alert message whether the job
seeker profile is created successfully or not.

7.8.3.2.4. Company Profile


Req.ID Requirement Description
FR-04 Job Providers or company can create their profile with their professional
details.
Sys.Req.ID System Requirement
SR-01 The system shall provide profile creation form to the
company or job provider
SR-02 Job provider 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 provide alert message whether the job
provider or company profile is created successfully or not.

11
NISCHAL
21049542 FINAL YEAR PROJECT

7.8.3.2.5. Resume Generation


Req.ID Requirement Description
FR-05 Job Seekers can create their resume using the in-built resume generation
tool.
Sys.Req.ID System Requirement
SR-01 The system shall provide resume generation feature.
SR-02 Job seeker shall be able to submit the details for resume
generation
SR-03 The system shall verify all the details and throw error if
data cannot be validated.
SR-04 The system shall provide alert message whether the
resume is generated successfully or not.

7.8.3.2.6. Apply Job


Req.ID Requirement Description
FR-06 Job Seekers can apply to the posted jobs as per their preferences.
Sys.Req.ID System Requirement
SR-01 The system shall provide job application form to the job
seekers
SR-02 Job seeker 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 provide alert message whether the job
seeker profile is created successfully or not.

11
NISCHAL
21049542 FINAL YEAR PROJECT

7.8.3.2.7. Post Job


Req.ID Requirement Description
FR-07 Job providers can post the job with appropriate requirements.
Sys.Req.ID System Requirement
SR-01 The system shall provide job posting form to the job
providers
SR-02 Job provider 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 provide alert message whether the job
is posted successfully or not.

7.8.3.2.8. Search Job


Req.ID Requirement Description
FR-08 Job Seekers can search for the job using some keyword or filters.
Sys.Req.ID System Requirement
SR-01 The system shall provide job search interface to the job
seekers
SR-02 Job seeker shall be able to search for jobs using some
keywords as per their preferences.
SR-03 The system shall provide all the jobs available that
matches the criteria provided by the job seeker

11
NISCHAL
21049542 FINAL YEAR PROJECT

7.8.3.2.9. Search applied Job


Req.ID Requirement Description
FR-09 Job providers can search for jobs applied using some keywords or filter.
Sys.Req.ID System Requirement
SR-01 The system shall provide option to search for applied
jobs
SR-02 Job provider shall be able to search the jobs applied
SR-03 The system shall provide the job applications as per the
criteria provided by the job provider

7.8.3.2.10. View and Save Jobs


Req.ID Requirement Description
FR-10 The users can view and save the jobs as per their preferences
Sys.Req.ID System Requirement
SR-01 User shall look out for the preferred job
SR-02 User shall search the job saving option
SR-03 User shall be able to save the preferred job
SR-04 The system shall show the user all the saved jobs or the
section where the jobs are saved.

11
NISCHAL
21049542 FINAL YEAR PROJECT

7.8.3.2.11. Post Interest


Req.ID Requirement Description
FR-11 Job seekers (freelancers) can post their interests.
Sys.Req.ID System Requirement
SR-01 The system shall provide interest posting form.
SR-02 Job seekers shall be able to submits the form
SR-03 The system shall verify all the fields and throw error if
data cannot be validated.
SR-04 The system shall provide alert message whether the
interest is posted successfully or not.

7.8.3.2.12. Messaging and communication


Req.ID Requirement Description
FR-012 The users can communicate and connect with each other using the in-
built messaging feature.
Sys.Req.ID System Requirement
SR-01 The system shall provide a messaging option to the
user
SR-02 The user shall be able to message the other person.
SR-03 The system shall ensure that users can only send
messages to valid recipents
SR-04 The user shall be able to view received messages in
their inbox
SR-05 The system shall provide handle real-time message
delivery to ensure timely communication

11
NISCHAL
21049542 FINAL YEAR PROJECT

7.8.3.2.13. Resume Search, View, and Download


Req.ID Requirement Description
FR-012 The job provider can search, view, and download resumes of the job
seekers.
Sys.Req.ID System Requirement
SR-01 The system shall provide a resume search option for job
providers.
SR-02 The job providers shall be able to search for the resume
as per the name of the job seeker or other keywords.
SR-03 The system shall provide result as per the search.
SR-04 The job provider shall be able to view and download the
resume.

11
NISCHAL

You might also like