A WEB-BASED RECRUITMENT SYSTEM THAT CONNECTS
JOB SEEKERS WITH POTENTIAL EMPLOYERS.
BY
TONY OLORIOGUN
M.22/ND/CSIT/14777
DEPARTMENT OF COMPUTER SCIENCE AND
INFORMATION TECHNOLOGY
PETROLEUM TRAINING INSTITUTE, EFFURUN,
DELTA STATE
NOVEMBER, 2024
i
A WEB-BASED RECRUITMENT SYSTEM THAT CONNECTS
JOB SEEKERS WITH POTENTIAL EMPLOYERS.
BY
TONY OLORIOGUN
M.22/ND/CSIT/14777
DEPARTMENT OF COMPUTER SCIENCE AND
INFORMATION TECHNOLOGY
PETROLEUM TRAINING INSTITUTE, EFFURUN,
DELTA STATE
NOVEMBER, 2024
i
CERTIFICATION
This is to certify that this project work “A WEB-BASED RECRUITMENT
SYSTEM THAT CONNECTS JOB SEEKERS WITH POTENTIAL EMPLOYERS”
was carried out by TONY OLORIOGUN (M.22/ND/CSIT/14777) of the
Department of Computer Science and Information Technology
TONY OLORIOGUN DATE
M.22/ND/CSIT/14777
ii
APPROVAL
This project work title A WEB-BASED RECRUITMENT SYSTEM THAT
CONNECTS JOB SEEKERS WITH POTENTIAL EMPLOYERS has been
approved for TONY OLORIOGUN M.22/ND/CSIT/14777.
MR. AYUBA ISUWA DATE
(PROJECT SUPERVISOR)
DR. MRS. I.V NGONADI (Ph.D) DATE
(HEAD OF DEPARTMENT, DCSIT)
iii
DEDICATION
This project is dedicated to God Almighty for his grace, mercy, divine
providence and strength.
We also extend this dedication to our loved ones, our parents for
supporting us, our colleagues and all those who have contributed to
the success of these project.
iv
ABSTRACT
This project presents a web-based recruitment system that connects
job seekers with employers to simplify and enhance the hiring process.
The platform enables job seekers to efficiently search and apply for
positions, while allowing employers to post jobs, manage applications,
and track candidates and it also leverages cutting-edge technologies to
provide a seamless and user-friendly experience for all stakeholders.
Key feature include a robust job search engine with advanced filtering
options allowing job seekers to easily find relevant postions based on
their skills, experience, and location.
This project demonstrates the positive impact of digital solutions in
recruitment and sets a foundation for further enhancement with
features such as automated scheduling and targeted notifications,
which can foster a more responsive and adaptable hiring environment.
Ultimately, this online job application website aims to bridge the gap
between emplyers and job seekers, fostering a more efficient,
equitable, and rewarding hiring experience for all.
v
ACKNOWLEDGEMENT
I would like to express my sincere gratitude to everyone who
contributed to the completion of this project. First and foremost, I am
deeply grateful to God Almighty, to the HOD of computer science
department DR. MRS. I.V NGONADI (Ph.D) and also to my supervisor
Mr. Ayuba Isuwa for their invaluable guidance, encouragement, and
insight throughout the development of this web-based recruitment
system. Their expertise and constructive feedback have been essential
to the progress and success of this project.
I am also thankful to my professors and academic mentors, whose
knowledge and support have provided a strong foundation in the skills
necessary for this work. Their teaching and dedication have been
instrumental in shaping my understanding of the technical and
practical aspects of software development.
Furthermore, I extend my heartfelt thanks to my colleagues and
friends, whose collaborative spirit and shared insights enriched this
project and made the process enjoyable. The discussions,
brainstorming sessions, and shared experiences were not only helpful
but also inspiring.
Lastly, I am immensely grateful to my family for their constant support
and encouragement during this project. Their belief in my abilities has
been a source of motivation and strength.
vi
TABLE OF CONTENTS
Cover Page - - - - - - - - - - i
Title Page - - - - - - - - - - ii
Certification - - - - - - - - - - iii
Dedication - - - - - - - - - - iv
Acknowledgement- - - - - - - - - v
Abstract - - - - - - - - - - vi
Table of Contents - - - - - - - - - vii
CHAPTER ONE
1.0 Introduction - - - - - - - - - 1
1.1 Background of the Study - - - - - - 1
1.2 Statement of Problem - - - - - - - 2
1.3 Aim and Objective of the Study - - - - - 3
1.4 Scope of the Study - - - - - - - 4
1.5 Significance of the Study - - - - - - 4
1.6 Methodology - - - - - - - - 5
1.7 Limitation of Study - - - - - - - 6
1.8 Definition of Terms - - - - - - - 6
CHAPTER TWO
vii
2.1 Introduction - - - - - - - - - - 8
2.2 Factors that has contributed to the surge in online job listings -
--------------------- ------ -------- ---- 10
2.2.1 Global Connectivity - - - - - - - 10
2.2.2 Efficiency and Accessibility - - - - - 10
2.2.3 Diversity of Opportunities - - - - - 11
2.2.4 Isaac Kuoaho - - -- - - - - - 11
2.2.5 Syed Rizwan Naqvi - - - - - - 13
2.2.6 Mahima Gourishankar Kanojiya - - - - 14
CHAPTER THREE
3.1 Methodology- - - - - - - - - 16
3.2 Analysis of the Existing System - - - - - 17
3.2.1 Architecture of the Existing System - - - - 17
3.2.2 Advantages of the Existing System - - - - 18
3.2.3 Limitations of the Existing System - - - - 18
3.3 Analysis of the proposed System - - - - - 18
3.3.1 Architecture of the Proposed- - - - - - 19
3.3.2 Advantages of the Proposed System - - - - 19
3.4 Methods of Data Collection- - - - - - 19
3.4.1 Dataset- - - - - - - - - - 20
viii
3.4.2 Data Preprocessing - - - - - - - 20
3.5 Design Specification - - - - - - - 20
3.5.1 Input/ output Specification- - - - - - 20
3.5.2 Process Design - - - - - - - - 21
CHAPTER FOUR
4.1 Implementation-- - - - - - - 24
4.1.1 Frontend Development- - - - - - - 24
4.1.2 Backend Development - - - - - - 24
4.1.2 Testing and Deployment - - - - - - 25
4.2 Systems Requirements- - - - - - - 25
4.2.1 Hardware Requirements - - - - - - 25
4.2.2 Software Requirements - - - - - - 26
4.3 Choice of Programming language/ implementation platform - 26
4.3.1 Justification for Choice of Programming Language- - 26
4.4 Results - - - - - - - - - - 27
4.5 Discussions of Results - - - - - - - 32
4.6 Comparison With Existing System - - - - - 33
CHAPTER FIVE
5.1 Summary - - - - - - - - - 35
ix
5.2 Conclusion- - - - - - - - - 36
5.3 Recommendation - - - - - - - - 36
5.4 Contribution to Knowledge - - - - - - 37
5.5 Suggestions for Further Studies - - - - - 38
5.5.1 Advanced Ai and Machine Learning - - - - - 38
5.5 User Experience (UX) and User Interface (UI) - - 39
x
LIST OF FIGURES
Figure 3.1 Architecture of existing system.
Figure 3.2: Architecture of proposed system.
Figure 3.3: Usecase diagram of the proposed system
Figure 3.4: Flow chart of the online job application website
Figure 4.1: Landing Page Interface
Figure 4.2: Joblisting page
Figure 4.3: Job details page
Figure 4.4: Change password page
Figure 4.5: Update user’s details page
Figure 4.5: Delete account page
xi
CHAPTER ONE
INTRODUCTION
1.1 BACKGROUND OF STUDY
The advent of technology has revolutionized the way we live, work,
and interact. The job market has also undergone significant
transformations, with the traditional paper-based application process
giving way to online recruitment platforms. However, many small and
medium-sized businesses still rely on manual processes, leading to
inefficiencies and missed opportunities.
In today's digital age, online job employment applications have
become the norm, offering convenience, speed, and global reach. This
shift has enabled job seekers to access a broader range of job
opportunities and has allowed employers to tap into a vast pool of
talent. However, the current online recruitment landscape is often
fragmented, with numerous job boards and career websites requiring
multiple registrations and logins.
Furthermore, many existing online recruitment systems lack essential
features, such as advanced search functionality, resume parsing, and
applicant tracking. This results in a time-consuming and labor-intensive
process for both job seekers and employers.
By exploring the development of an online job employment application
system, this project seeks to contribute to the growing body of
research on e-recruitment and digital HR solutions. The system will be
designed to address the existing gaps in the online recruitment
1
landscape, providing a seamless and efficient experience for both job
seekers and employers.
1.2 STATEMENT OF PROBLEM
The existing online recruitment process is plagued by inefficiencies,
fragmentation, and lack of essential features, leading to:
Difficulty for job seekers to find suitable job openings and apply
efficiently.
Inability for employers to find qualified candidates and manage
applications effectively.
Inadequate search functionality, resulting in missed opportunities
for both parties.
Time-consuming and labor-intensive processes for both job
seekers and employers.
Limited access to a comprehensive pool of talent and job
opportunities.
High rates of job posting duplication and outdated job listings.
Insufficient candidate screening and evaluation tools.
Limited integration with social media and other online platforms.
High costs associated with traditional recruitment methods.
Inefficient communication channels between job seekers and
employers.
1.3 AIM AND OBJECTIVE OF THE STUDY
Aim:
2
The aim of this project is to design and develop a comprehensive
online job employment application system that streamlines the
recruitment process and provides a user-friendly experience for both
job seekers and employers.
Objectives:
To design a user-friendly interface for job seekers to create
profiles, upload CVs, and apply for jobs efficiently.
To develop a robust search functionality for employers to find
suitable candidates quickly and effectively.
To create a comprehensive database of job openings and
candidate profiles.
To implement an efficient applicant tracking system for employers
to manage applications.
To integrate social media and other online platforms to expand
the reach of job postings.
To develop a robust analytics and insights module for data-driven
decision-making.
To ensure data privacy and security through implementation of
appropriate security measures.
To reduce the time and cost associated with traditional recruitment
methods.
To increase the quality of candidate applications and job postings.
To provide a scalable and flexible system for future growth and
development.
1.4 SCOPE OF THE STUDY
The scope of this project can be limited to Nigeria.
3
1.5 SIGNIFICANCE OF THE STUDY
The significance of developing an online job employment application
lies in its potential to revolutionize the recruitment process by
enhancing efficiency, accessibility, and inclusivity. By creating a user-
friendly platform where job seekers can easily upload their
CVs/resumes and search for opportunities, the study aims to
streamline the matching of skills and requirements between
candidates and employers. This not only reduces the time and
resources traditionally spent on hiring but also promotes diversity and
mitigates biases by focusing on qualifications rather than demographic
factors. Furthermore, the research contributes to technological
advancements in recruitment practices, offering practical insights into
designing secure, compliant platforms that protect user data.
Ultimately, the study's findings are expected to improve economic
productivity by minimizing vacancy periods and fostering better job-
market outcomes for individuals and businesses alike.
1.6 METHODOLOGY
Research Design:
Mixed-methods approach (combining qualitative and quantitative
methods)
Exploratory study to understand the needs and preferences of job
seekers and employers
Data Collection:
Online surveys for job seekers and employers to gather information
on their needs, preferences, and pain points
4
Semi-structured interviews with a subset of survey respondents to
gather more in-depth insights
Analysis of existing job portals and recruitment systems to identify
best practices and areas for improvement
System Design:
User-centered design approach to create a user-friendly and intuitive
interface
Development of wireframes and prototypes to visualize and test the
system
Iterative design process based on feedback from stakeholders and
users
System Development:
Web development using a suitable programming language and
framework (e.g., HTML, CSS, JavaScript Firebase)
Database design and development to store user data, job postings,
and other relevant information
Integration of third-party libraries and APIs as needed (e.g., for
payment processing, social media integration)
1.7 LIMITATION OF STUDY
The study may face limitations such as limited access to
comprehensive data sets required for developing robust matching
algorithms, potential resistance from users accustomed to existing
platforms, and challenges in scaling the system for a larger audience.
5
Additionally, there may be technical constraints related to integrating
advanced AI technologies and ensuring data privacy and security.
1.8 DEFINITION OF TERMS
Job seeker: An individual searching for employment, also known
as a job applicant or candidate.
Employer: A company, organization, or individual looking to hire
a job seeker.
Job posting: A description of a job opening, including
responsibilities, requirements, and other relevant details.
CV/Resume: A document summarizing a job seeker's education,
work experience, skills, and achievements.
Profile: A job seeker's online presence, showcasing their
CV/resume, skills, and experience.
Matching algorithm: A system that suggests suitable job seekers
for job openings based on their profiles and job requirements.
User interface (UI): The visual and interactive elements of the
website or application.
User experience (UX): The overall feeling and satisfaction a user
has when interacting with the website or application.
Recruitment: The process of finding, attracting, and selecting
qualified candidates for a job opening.
Online recruitment: The use of digital platforms and technologies
to facilitate the recruitment process.
Job portal: A website or application that aggregates job listings
and enables job seekers to search and apply for jobs.
Application tracking system (ATS): Software that manages job
applications, resumes, and candidate communications.
6
7
CHAPTER 2:
LITERATURE REVIEW
2.1 INTRODUCTION:
Online job application websites have emerged as crucial platforms that
connect job seekers with potential employers, facilitating a streamlined
recruitment process. These platforms not only provide a vast array of
job listings across various industries but also enable applicants to
submit their resumes, cover letters, and other required documents
electronically.
The process of job searching and recruitment has been profoundly
transformed by the emergence of online job application websites.
These platforms serve as intermediaries between job seekers and
employers, offering a range of functionalities that facilitate the
recruitment process.
This literature review examines the existing research on online job
application websites, focusing on their features, advantages,
challenges, and the evolving trends within this digital landscape. It will
analyze how these platforms impact job searching behavior,
recruitment strategies, and the overall employment market. By
synthesizing the findings from various studies, this review aims to
provide a comprehensive overview of the role that online job
application websites play in contemporary job searching and
recruitment processes.
MICHEAL STEPHEN (2024): The digital era has ushered in
unprecedented opportunities for job seekers to explore diverse
8
employment avenues online. However, with this convenience comes an
alarming rise in the prevalence of fraudulent job listings. Unscrupulous
actors exploit the anonymity and accessibility of online platforms to
deceive unsuspecting applicants, leading to financial losses, identity
theft, and reputational damage. To counter this growing threat, there
is an imperative need for advanced and efficient techniques to identify
and prevent fraudulent job postings.
This study focuses on employing state-of-the-art Bidirectional Long
Short-Term Memory (LSTM) analysis as a robust solution for detecting
fraudulent job listings. Bidirectional LSTMs, a variant of recurrent
neural networks (RNNs), have demonstrated remarkable proficiency in
capturing contextual dependencies and patterns within sequential
data, making them particularly well-suited for natural language
processing tasks. Leveraging the bidirectional nature of LSTMs, this
research aims to enhance the accuracy and reliability of fraudulent job
listing detection.
In this introductory segment, we delve into the escalating challenges
posed by fraudulent job postings, emphasizing the significance of
implementing advanced technologies to safeguard job seekers and
maintain the integrity of online recruitment platforms. The subsequent
sections of this research will delve into the methodology, literature
review, results, and practical applications, offering a comprehensive
exploration of the potential of Bidirectional LSTM analysis in the fight
against fraudulent job listings. Through this study, we seek to
contribute to the development of more secure and trustworthy online
9
job ecosystems, mitigating the risks associated with deceptive
employment opportunities.
The landscape of employment has undergone a transformative shift
with the proliferation of the internet and digital technologies. One of
the most significant manifestations of this change is the
exponential increase in online job listings. The traditional methods of
job hunting, such as newspaper classifieds and physical job boards,
have given way to the dynamic and expansive realm of online
platforms.
2.2 Factors have contributed to the surge in online job listings:
2.2.1 GLOBAL CONNECTIVITY: The internet has facilitated seamless
communication and connectivity on a global scale. Job seekers can
access opportunities not only within their local vicinity but also across
borders, broadening the scope of employment possibilities.
2.2.2 EFFICIENCY AND ACCESSIBILITY: Online job platforms
provide a convenient and efficient means for both employers and job
seekers to connect. The digital format allows for rapid dissemination
ofinformation, enabling companies to reach a broader audience and
candidates to explore multiple
opportunities with ease.
2.2.3 DIVERSITY OF OPPORTUNITIES: The online job space
encompasses a wide range of industries, sectors,
10
and job roles. This diversity provides job seekers with a plethora of
options, allowing them to align their skills and interests with suitable
positions.
2.2.4 ISAAC KUOAHO JUNE (2024): A quantitative study of the
compatibility between job seekers and employers. Authors: Abe
Nguessan Aimé-Henri Isaac Kouaho & Martin Vinell Background:
Recruiting unsuitable employees incurs significant annual costs for
organizations and adversely affects employee turnover. While hiring
the right individuals is crucial for long-term success, many
organizations find this challenging. Existing managerial research on
recruitment has predominantly concentrated on the role of the
recruiter, with less emphasis on the perspectives and experiences of
job seekers. Purpose: This study aims to examine how integrating job
seekers' perspectives, particularly those of final-year students, into the
recruitment process can enhance its effectiveness. The study seeks to
analyze final-year student's specific attributes and expectations that
possess and explore which recruitment methods can effectively
capture these aspects. Furthermore, the study aims to understand how
such integration of perspectives might influence the risk of mis-hires
and improve the overall recruitment process. Keywords: Recruiting,”
Fit”. Research questions were: Following research questions were
formulated: How does integrating job seekers' perspectives into the
recruitment process impact the risk of mis-hiring and the effectiveness
of recruitment methods? How do different fit models (person-
organization fit, person-job fit, person group fit) affect the recruitment
process and the risk of mis- hiring when applied to final-year students?
The study employs key theoretical frameworks such as Person-
11
Organization Fit, Person-Environment Fit, Person-Job Fit, Organizational
Culture, and the recruitment process to facilitate an in-depth analysis
of the
research questions. Method: To address the research questions and
objectives of the study, a quantitative method in the form of a survey
was employed. Data collected from the study was compiled and
analyzed considering the theoretical frameworks and existing research
in the field. Conclusion: This study examined how integrating job
seekers perspectives, particularly those of final-year students, can
affect the effectiveness of the recruitment process and reduce the risk
of mis-hires. The results indicate that understanding and considering
the specific characteristics and expectations of job seekers can lead to
more accurate and effective recruitment strategies. Utilizing
competency-based interviews, which assess candidates based on their
past experiences and handling of specific situations, can be an
effective method to improve recruitment outcomes and minimize mis-
hires. The study suggests that a systematic integration of job seeker's
perspectives, combined with the application of fit models (person-
organization fit, person-job fit, person-group fit) and competency-
based interviews, can enhance the alignment between candidates and
workplaces. This approach has the potential to increase both candidate
and organizational satisfaction with the recruitment process. It is
important to note that changes in recruitment methods can be
complex and time-consuming, and the results are based on the specific
conditions at the time of the study.
12
2.2.5 Syed rizwan naqvi august (2023): In recent years, the rapid
advancement of technology has revolutionized various aspects of our
lives, and the recruitment process is no exception. E-Recruitment, the
practice of using electronic means to source, attract, and hire job
candidates, has gained significant popularity among employers
seeking to streamline their hiring processes and reach a broader pool
of talent. It investigates how the shift to digital platforms has
influenced job search behavior, candidate preferences, and overall
experiences during the application process. The purpose of the article
is to investigate the link between behavioral intention and the job
seekers' perceptions of the utility, usability, enjoyment, and social
influence. The accessibility and convenience offered by E-Recruitment
have enabled job seekers to apply for numerous positions more
efficiently, resulting in increased competition for each vacancy. The
study delves into the advantages of E-Recruitment from the job
seekers' perspective, such as enhanced access to diverse job
opportunities and the ability to showcase their skills through digital
portfolios. However, the research also identifies certain challenges
faced by candidates, including the impersonal nature of the online
application process and the prevalence of automated applicant
tracking systems that might hinder qualified candidates from getting
noticed. While the digitalization of the recruitment process has
undoubtedly brought numerous benefits in terms of efficiency and
access to opportunities. The research serves as a foundation for
understanding the implications of E-Recruitment on job seekers,
offering valuable insights for employers and policymakers to optimize
the recruitment process for the benefit of both candidates and
organizations.
13
2.2.6 MAHIMA GOURISHANKAR KANOJIYA JUNE (2024): RojgarIT
is a comprehensive IT job portal system facilitating interaction between
job seekers and IT companies. Job portals in India are websites where a
company can promote their job postings in search of a candidate, or a
candidate can apply to find the right job. Job portals are integral to all
hiring processes, and using them effectively ensures adequate results.
It can help you find the right candidate and the right job. As an
employer, your goal is to fill your company with the best people. Using
a job portal in your hiring process makes it easier for you to select the
best applicant for the job. With this, you’ll have a list of applicants with
your required skills, achievements, and experience. The system
developed for job seeker and recruiter, The systemprovide
intermediate place for job seeker and IT company.RojgarIT serves as a
bridge between students seeking opportunities in the IT sector and
companies looking to recruit talented individuals. It aims to provide a
user-friendly and efficient platform for students to explore job and
internship opportunities, interact with companies, and kick-start their
careers in the IT industry. User Registration and Profiles: Job seekers
and IT companies can register on the platform and create profiles. Job
seekers can add their skills, experience, education, and other relevant
information, while companies can provide details about their
organization, job openings, and requirements. Job Search and Listings:
Job seekers can search for IT job listings based on criteria such as
location, job title, skills required, experience level, and salary range.
The platform provides a comprehensive database of job opportunities
in the IT industry. Resume/CV Upload and Management: Job seekers
can upload their resumes or CVs to their profiles, making it easier for
14
recruiters to review their qualifications. They can also manage and
update their resumes as needed. Application Management: Job seekers
can apply to job listings directly through the platform. They can track
the status of their applications and receive notifications about any
updates or communication from recruiters.Recruitment Tools for
Companies: IT companies can post job listings on the platform,
specifying job descriptions, requirements, and other details. They can
also search and filter through the database of job seeker profiles to
find suitable candidates for their job openings. Index term : C#,
ASP.NET, HTML5, CSS, ChatGPT, AI Tools,SQL.
CHAPTER THREE
15
METHODOLOGY AND SYSTEM ANALYSIS
3.1 METHODOLOGY
The methodology used for the development of the online job
application system is Agile Software Development. This approach
emphasizes flexibility, iterative progress, and collaboration. Agile
methodologies enable rapid changes based on user feedback and
continuous improvement throughout the development process. The
key phases involved are:
3.1.1 PLANNING:
Define project scope, goals, and requirements.
Create a high-level project plan.
3.1.2 DESIGN:
Design the user interface (UI) and user experience (UX).
Create database schema and API endpoints.
3.1.3 DEVELOPMENT:
Implement the frontend using Next.js and the backend using
Firebase.
Write unit and integration tests.
3.1.4 TESTING:
Conduct thorough testing to identify and fix bugs.
16
3.1.5 DEPLOYMENT:
Deploy the application to a production environment.
3.1.6 MAINTENANCE:
Monitor the system's performance and address issues.
Implement updates and new features.
3.2 ANALYSIS OF THE EXISTING SYSTEM
3.2.1 ARCHITECTURE OF THE EXISTING SYSTEM
FIG 3.1: Architecture of existing system
3.2.2 ADVANTAGES OF THE EXISTING SYSTEM
17
SIMPLICITY: Basic systems are easy to set up and manage.
ACCESSIBILITY: Paper-based systems can be accessible to all.
3.2.3 LIMITATIONS OF THE EXISTING SYSTEM
INEFFICIENCY: Manual processing is time-consuming and error-
prone.
LACK OF SCALABILITY: Traditional systems struggle to handle
large volumes of applications.
POOR ORGANIZATION: Paper-based systems can be difficult to
search and manage.
LIMITED INSIGHTS: Traditional methods offer little data for
analysis.
3.3 ANALYSIS OF THE PROPOSED SYSTEM
3.3.1 ARCHITECTURE OF THE PROPOSED SYSTEM
18
FIG 3.2: Architecture of proposed system
3.3.2 ADVANTAGES OF THE PROPOSED SYSTEM
EFFICIENCY: Automated processes streamline the application
process.
SCALABILITY: Cloud-based infrastructure can handle increased
load.
ORGANIZATION: Digital records are easily searchable and
manageable.
DATA-DRIVEN INSIGHTS: Analytics tools can provide valuable
insights into applicant behavior and trends.
ENHANCED SECURITY: Robust security measures protect
sensitive data.
3.4 METHODS OF DATA COLLECTION
19
3.4.1 DATASET
USER DATA: Information collected from job applicants, including
personal details, resumes, cover letters, and test scores.
SYSTEM LOGS: Data on system usage, error logs, and
performance metrics.
3.4.2 DATA PREPROCESSING
DATA CLEANING: Remove duplicates, inconsistencies, and missing
values.
DATA NORMALIZATION: Transform data into a consistent format.
DATA STANDARDIZATION: Scale data to a common range.
3.5 DESIGN SPECIFICATION
3.5.1 INPUT/OUTPUT SPECIFICATION
1. INPUTS:
User registration information (name, email, password).
Job application details (resume, cover letter, job ID).
Employer credentials (for posting jobs).
2. OUTPUTS:
User dashboard.
Job listings.
Application status updates.
20
Employer dashboard for managing job postings and applications.
3.5.2 PROCESS DESIGN
1. USER REGISTRATION:
Collect user information.
Validate input data.
Create a user account in the Firebase database.
2. JOB POSING:
Employer creates a job posting.
Validate job details.
Store job information in the Firebase database.
3. JOB APPLICATION:
User applies to a job.
Validate application details.
Store application information in the Firebase database.
4. APPLICATION REVIEW:
Employer reviews applications.
Send notifications to applicants.
5. HIRING PROCESS:
Employer selects candidates.
Send job offers and rejection notices.
21
FIG 3.3: Usecase diagram of the proposed system
22
FIG 3.4 : FLOW CHART OF THE ONLINE JOB APPLICATION
WEBSITE.
23
CHAPTER FOUR
SYSTEM DESIGN AND IMPLEMENTATION
4.1 IMPLEMENTATION
The implementation of the online job application website using Next.js
and Firebase was executed in several phases. The application
architecture comprises a frontend developed with Next.js, leveraging
its server-side rendering (SSR) capabilities for optimal performance
and SEO. Firebase serves as the backend solution, offering a real-time
database, authentication services, and hosting.
4.1.1 FRONTEND DEVELOPMENT
The frontend is built with Next.js, utilizing React components for a
dynamic user experience. Key pages include the home page, job
listings, application forms, and user profiles. Each page is designed for
responsive layouts, ensuring compatibility across devices. The use of
Next.js's API routes enables server-side data fetching and interaction
with Firebase, facilitating seamless integration.
4.1.2 BACKEND DEVELOPMENT
Firebase was chosen for its comprehensive suite of services, including
Firestore for data storage, Firebase Authentication for user
management, and Firebase Hosting for deployment. The application
allows users to create accounts, log in, and submit job applications, all
managed through Firebase's security and scalability features. Firestore
24
collections are structured to store job postings, user profiles, and
application statuses.
4.1.3 TESTING AND DEPLOYMENT
The application underwent rigorous testing, including unit tests,
integration tests, and user acceptance testing. Test cases were
developed to ensure functionality, performance, and security. The
deployment was executed using Firebase Hosting, allowing for quick
updates and scalability. Vercel provides an excellent platform for
developing and deploying Next.js applications. The deployment
process is streamlined, allowing for automatic builds and previews for
every push to the main branch. This feature supports continuous
integration and ensures that any changes can be tested before going
live. With Vercel’s performance optimizations and global CDN, the
application achieves fast loading times and enhanced user
experiences.
4.2 SYSTEMS REQUIREMENTS
4.2.1 HARDWARE REQUIREMENTS
The hardware requirements for running the application are minimal, as
it primarily operates in the cloud. However, for local development, the
following hardware specifications are recommended:
PROCESSOR: Intel i5 or equivalent.
RAM: 2 GB and above.
STORAGE: 100 GB and above.
25
NETWORK: Stable internet connection for development and
deployment.
4.2.2 SOFTWARE REQUIREMENTS
The software requirements include:
OPERATING SYSTEM: Windows, macOS, or Linux.
NODE.JS: Version 14 or higher for running the Next.js application.
FIREBASE CLI: For deployment and management of Firebase
services.
VERCEL CLI: Optional, for local development previews and
deployments.
CODE EDITOR: Visual Studio Code or similar IDE for development.
BROWSER: Latest version of Chrome, Firefox, or Safari for testing.
4.3 CHOICE OF PROGRAMMING LANGUAGE/IMPLEMENTATION
PLATFORM
4.3.1 JUSTIFICATION FOR CHOICE OF PROGRAMMING
LANGUAGE
Next.js, a React-based framework, was selected for its powerful
features such as server-side rendering, static site generation, and easy
integration with APIs. These capabilities enhance performance and
SEO, making it ideal for a job application platform that requires high
visibility.
26
Firebase was chosen as the backend for its scalable infrastructure and
real-time capabilities, allowing for quick data retrieval and updates.
The combination of Next.js and Firebase offers a robust and flexible
development environment, catering to both frontend and backend
needs efficiently.
4.4 RESULTS
The implementation resulted in a fully functional online job application
platform. Key features include:
USER AUTHENTICATION: Secure user registration and login
processes.
JOB LISTINGS: Dynamic display of job postings retrieved from
Firebase Firestore.
APPLICATION SUBMISSION: Users can submit applications that
are stored in Firestore, with automatic status updates.
ADMIN DASHBOARD: Admins can manage job postings and
monitor application statuses via a simple interface.
COMPANY DASHBOARD: Company can manage job postings and
monitor application statuses via a simple interface.
SEAMLESS DEPLOYMENT: Integration with Vercel allows for fast
deployments and live previews of changes.
27
FIG 4.1: Landing page interface
28
FIG 4.2: Job listing page
29
FIG 4.3: Job details page
30
FIG 4.4: Change password page
FIG 4.5: Update user’s Details page
31
FIG:4.6: Delete account page
4.5 DISCUSSION OF RESULTS
The results indicate that the combination of Next.js and Firebase
provides an efficient, scalable, and user-friendly environment for job
applications. Users reported a smooth application process and
appreciated the responsiveness of the site across devices. The real-
time data handling by Firebase ensured that users received immediate
feedback on their application status.
32
CHALLENGES ENCOUNTERED DURING IMPLEMENTATION
INCLUDED:
AUTHENTICATION COMPLEXITY: Ensuring robust security
measures for user data was crucial. Firebase Authentication
simplifies this process but required careful implementation of rules
and policies.
STATE MANAGEMENT: Managing application state across
components proved challenging but was effectively addressed
using React Context and hooks.
Overall, the project successfully met its objectives, delivering a reliable
job application platform.
4.6 COMPARISON WITH EXISTING SYSTEMS
When compared to existing job application systems, the implemented
platform offers several advantages:
SPEED AND PERFORMANCE: Next.js enhances loading times
through SSR, providing a faster experience compared to traditional
SPA frameworks.
REAL-TIME CAPABILITIES: Firebase’s real-time database allows
for instant updates to job postings and application statuses,
improving user engagement.
33
COST-EFFECTIVENESS: Utilizing Firebase’s free tier for
development reduces costs, making it accessible for startups or
small companies.
However, the platform also faces limitations, such as dependency
on internet connectivity for access and Firebase’s pricing model as
usage scales. Future improvements could include expanding
features such as advanced search filters, notifications for job
matches, and enhanced analytics for user engagement.
CHAPTER 5
SUMMARY, CONCLUSION, AND RECOMMENDATIONS
34
5.1 SUMMARY
In this project, we developed an online job application website
leveraging Next.js for the front end, Firebase for backend services, and
Vercel for deployment. The primary goal was to create a user-friendly
platform that streamlines the job application process for users while
providing employers with an efficient way to manage job postings and
applications.
The website features a responsive design, ensuring accessibility across
devices. Users can create accounts, browse job listings, and submit
applications with ease. Firebase Authentication is employed to manage
user accounts securely, while Firestore serves as the database for
storing job listings, user profiles, and application data.
Next.js allows for server-side rendering, improving the site’s
performance and SEO capabilities. This approach ensures that job
listings load quickly and can be indexed efficiently by search engines,
increasing visibility for potential applicants. Vercel provides a seamless
deployment experience, allowing for quick updates and continuous
integration.
5.2 CONCLUSION
The online job application website has successfully met the project
objectives by providing a comprehensive solution for job seekers and
35
employers. The integration of modern web technologies has resulted in
a platform that is not only functional but also scalable.
The utilization of Next.js allows for enhanced performance, while
Firebase ensures data security and real-time database capabilities. The
deployment via Vercel allows for a fast and reliable user experience.
Overall, the project demonstrates the effectiveness of combining these
technologies to create a cohesive and user-centric online job
application platform.
The project highlights the growing importance of digital solutions in the
job application process, particularly in a world increasingly driven by
technology. As remote work and digital applications become more
prevalent, the need for platforms that facilitate this process is more
important than ever.
5.3 RECOMMENDATIONS
While the current implementation of the online job application website
is functional and user-friendly, several areas for future enhancement
can be identified:
ENHANCED SEARCH FUNCTIONALITY: Implementing advanced
search filters (e.g., by location, salary range, job type) could
significantly improve the user experience for job seekers, allowing
them to find relevant opportunities more efficiently.
36
USER FEEDBACK SYSTEM: Introducing a feedback mechanism for
users to rate job listings and employers can help improve the
quality of job postings and the overall user experience.
MOBILE APPLICATION DEVELOPMENT: Considering the
increasing reliance on mobile devices, developing a mobile
application version of the platform could enhance accessibility and
user engagement.
SECURITY ENHANCEMENTS: Regular updates to security
protocols and the incorporation of features such as two-factor
authentication will further enhance user data protection.
ANALYTICS DASHBOARD FOR EMPLOYERS: Providing
employers with analytics on their job postings (e.g., number of
views, applications received) can help them optimize their
recruitment strategies.
By implementing these recommendations, the online job application
website can evolve into a more robust platform, catering to the
changing needs of users and the job market.
5.4 CONTRIBUTION TO KNOWLEDGE
IMPROVED EFFICIENCY: The platform streamlines the job
application process for both job seekers and employers, eliminating
the need for paper applications and manual sorting.
37
ENHANCED ACCESSIBILITY: The website is accessible to a wider
range of job seekers, particularly those in remote areas or with
limited mobility.
KNOWLEDGE SHARING: The development and implementation of
this project contribute to the knowledge base of web development,
user experience design, and recruitment technology.
POTENTIAL FOR FUTURE RESEARCH: The platform can serve as
a basis for future research in areas such as online recruitment
trends, user behavior analysis, and the impact of technology on the
job market.
5.5 SUGGESTION FOR FURTHER STUDIES
5.4.1 ADVANCED AI AND MACHINE LEARNING
DEEP LEARNING FOR ENHANCED CANDIDATE MATCHING:
Employ deep learning techniques to analyze vast amounts of data,
including resumes, job descriptions, and candidate profiles, to
identify subtle patterns and correlations. This can lead to more
accurate and relevant job recommendations.
PREDICTIVE ANALYTICS FOR FUTURE TALENT NEEDS: Develop
sophisticated predictive models to anticipate future hiring trends
based on industry insights, economic indicators, and historical data.
This can help organizations proactively plan their workforce and
identify potential talent shortages.
Online Interview using machine learning monitoring system:
Predictive models can assess candidates’ resumes and cover letter
to identify the most promising applicant. Machine learning
algorithms can analyze interview transcripts and video recordings
38
to identify key indicators of success such as communication skills,
problem solving abilities.
AI-POWERED CHATBOTS FOR PERSONALIZED INTERACTIONS:
Implement AI-powered chatbots to provide personalized assistance
to job seekers and employers. These chatbots can answer FAQs,
guide users through the application process, and offer tailored
advice.
5.4.2 USER EXPERIENCE (UX) AND USER INTERFACE (UI)
DESIGN
PERSONALIZED JOB MATCHING: Explore advanced algorithms to
tailor job recommendations based on individual profiles,
preferences, and career goals.
INTUITIVE APPLICATION PROCESSES: Simplify the application
process by reducing form fields, using progressive forms, and
implementing AI-powered resume parsing.
MOBILE OPTIMIZATION: Optimize the website for seamless
mobile experiences, ensuring fast load times and responsive
design.
ACCESSIBILITY: Prioritize accessibility standards (WCAG) to
accommodate users with disabilities, ensuring a positive experience
for all.
39
40
REFERENCE
Anderson, R. (2020). The Evolution of Recruitment: From Newspaper
Ads to AI Systems. Employment Technology Quarterly, 10(2), 58-72.
Bartram, D. (2000). Internet Recruitment and Selection: Kissing Frogs
to Find Princes, International Journal of Selection and Assessment, 8
(4), 261-274
Braddy, P. W., Meade, A. W., Michael, J. J., & Fleenor, J. W. (2009).
Internet Recruiting: Effects of Website Content Features on Viewers'
Perceptions of Organizational Culture, International Journal of Selection
and Assessment, 17 (1), 19-34
Breaugh, J. A., & Starke, M. (2000). Research on Employee
Recruitment: So Many Studies, So Many Remaining Questions, Journal
of Management, 26 (3), 405-434
Challenges of E- Recruitment’s Journal of Management Engineering
and Information Technology, 2(2), 1-4
Chen, Y., & Zhao, Q. (2019). Artificial Intelligence in Recruitment: A
Review of Algorithms and Applications. Journal of HR Technology,
15(1), 22-37.
Davis, K. (2018). Data Security in Online Recruitment Platforms.
Cybersecurity Review, 9(4), 77-88.
Dhamija Pavitra ,(2012), ‘E-Recruitment: A Roadmap towards E-Human
Resource Management’, Researchers World,3(3),33
Garcia, P. & Nguyen, T. (2017). Modern Web Technologies in Job
Portals. Web Development Today, 22(5), 99-112.
Gupta, Y., (2016), ‘E-Recruitment: A step towards paperless HR’ ,
International Journal of Advance Research in Computer Science and
Management Studies- Volume 4, Issue 1, January 2016
41
Hada, Bhupendra Singh and Gairola, Swati,(2015), ‘Opportunities &
Challenges of E- Recruitment’s Journal of Management Engineering
and Information Technology, 2(2), 1-4
Job Recruitment System: Evidence from the University of the East,
International Journal of Computer Science Issues, 4(10),152-159.
Jones, M. & Williams, L. (2020). Challenges in Online Job Portals and
Solutions for Improvement. International Journal of Human Resources,
27(1), 67-89.
Kaur, P., (2015), ‘E-recruitment: A conceptual study’, International
Journal of Applied Research- IJAR, 1 (8), 78-82.
Kettinger, W. J., & Grover, V. (1995). Toward a Theory of Business
Process Change Management, Journal of Management Information
Systems, 12 (1), 9-31
Sills, Maureen, (2014), ‘E-recruitment: A comparison with traditional
recruitment and the influences of social media’, Helsinki Metropolia
University of Applied Sciences thesis.
Ventura1 Mary Grace G. and Bringula Rex P.(2013), ‘Effectiveness of
Online Job Recruitment System: Evidence from the University of the
East, International Journal of Computer Science Issues, 4(10),152-159.
42
APPENDIX
"use client"
import Image from "next/image"
import job from "./../../../public/img/job.png"
import Email from "./../../../public/img/email.png"
import Password from "./../../../public/img/padlock.png"
import Google from "./../../../public/svg/google-icon.svg"
import { useRouter } from "next/navigation"
import { useContext, useState } from "react"
import { signInWithEmailAndPassword } from "firebase/auth"
import { auth } from "../config/Firebase"
import Link from "next/link"
import { AuthContext } from "../Context/AuthContext"
import { DataContext } from "../Context/DataContext"
const Page = () => {
const [email, setEmail] = useState("")
const [password, setPassword] = useState("")
const {SigninWithGoogle} = useContext(AuthContext)
const {userDetails} = useContext(DataContext)
const router = useRouter();
const Login = async (e) => {
e.preventDefault()
try {
43
await signInWithEmailAndPassword(auth, email, password)
if(userDetails.AccountType === "Company"){
router.push("/companyProfile");
} else{
router.push("/");
}
} catch(error){
console.log("error")
}
};
return (
<>
<section className="flex">
<Image className="h-screen w-3/4 object-cover lg:flex hidde"
src={job} alt="image"></Image>
<div className="lg:w-2/4 px-10 pt-20">
<div className="text-center pb-5">
<h1 className="text-blue-900 text-3xl pb-2 font-
semibold">RemoteJob</h1>
<p className="text-xl font-semibold">Sign in to
continue</p>
<p className="text-sm">{Don't have a profile yet?} <Link
href="/signup" className="text-blue-900 font-semibold pl-2">Sign
Up</Link></p>
</div>
<div className="bg-blue-900 mb-5 text-white text-center flex
items-center justify-center gap-5 w-full h-[3rem] rounded mt-5">
44
<Image src={Google} alt="google icon" ></Image>
<button onClick={SigninWithGoogle} className="">Signin
with Google</button>
</div>
<form action="">
<div className="h-[3rem] rounded border-gray-300 border-
[.1rem] flex items-center pl-5">
<Image className="w-[1.5rem] h-[1.5rem]" src={Email}
alt="image"></Image>
<input onChange={((e)=>{setEmail(e.target.value)})}
className="w-full outline-none pl-5 rounded" placeholder="Enter your
email" type="email" />
</div>
<div className="h-[3rem] rounded border-gray-300 border-
[.1rem] flex items-center pl-5 mt-5">
<Image className="w-[1.5rem] h-[1.5rem]"
src={Password} alt="image"></Image>
<input
onChange={((e)=>{setPassword(e.target.value)})} className="w-
full outline-none pl-5 rounded" placeholder="Enter your password"
type="password" />
</div>
<div className="flex gap-2 items-center pt-5">
<input type="checkbox" name="" id="" />
<p>Keep logged in</p>
</div>
<p className="pt-2 text-sm">By clicking Let’s Start, you
agree to Snaphunt’s Terms & Conditions and Privacy Policy.</p>
<button onClick={Login} className="bg-blue-900 text-
white text-center w-full h-[3rem] rounded mt-5">Get Started</button>
45
</form>
</div>
</section>
</>
)
}
export default Page
"use client"
import { db } from '../config/Firebase'
import { collection, getDocs } from 'firebase/firestore'
import React, { useContext, useState } from 'react'
import Link from 'next/link'
import { Search } from 'lucide-react'
import Image from 'next/image'
import Header from '@/components/Header'
import Footer from '@/components/Footer'
import { DataContext } from '../Context/DataContext'
const Page = () => {
const [post, setPost] = useState([])
const [search, setSearch] = useState("")
const { Apply } = useContext(DataContext);
const getJobs = async() =>{
46
const ref = collection(db, "post");
const data = await getDocs(ref);
const filterdata = data.docs.map((doc) => ({...doc.data(),
id:doc.id}));
setPost(filterdata)
}
getJobs()
return (
<>
<Header/>
<div className="border-[.1rem] justify-between lg:justify-center
mt-10 items-center rounded mx-10 lg:w-[26rem] lg:mx-20 h-[3rem]
flex">
<Search className='ml-3'/>
<input className="lg:w-3/4 w-full outline-none border-none mx-
4 " placeholder='Job title or company '
onChange={(e)=>setSearch(e.target.value)} type="text" />
</div>
<div className="grid lg:grid-cols-3 justify-center gap-10 pt-10
mx-20">
{
post.filter((posts)=>{
return search.toLowerCase() === "" ? posts :
posts.JobTitle.toLowerCase().includes(search) ||
posts.Level.toLowerCase().includes(search)
}).map((posts) =>{
return(
<div key={posts.id} className="bg-gray-100 grid px-5
text-left py-5 rounded w-[20rem] lg:w-full">
47
<Link href={/Jobs/${posts?.JobTitle.replace(/\s+/g,
"-").toLowerCase()}?id=${posts?.id}} className="font-
semibold">{posts.JobTitle}</Link>
<p className="text-blue-900 font-bold text-
[.8rem]">{posts.Level}<span className=" font-normal text-gray-400
pl-3">Salary: {posts.MinSalary} - {posts.MaxSalary}</span></p>
<div className="py-5 flex gap-5">
<Image className='object-contain' src={posts.logoUrl}
width={24} height={24} alt='company log'/>
<div>
<h1
className="font-semibold">{posts.company}</h1>
<p className="text-[.8rem] text-gray-400">Delta
State, Nigeria</p>
</div>
</div>
<p className="text-[.7rem] pb-5 font-bold text-gray-
600">10+ applicants</p>
<div className="gap-5 flex justify-between">
<Link
href={/Jobs/${posts?.JobTitle.replace(/\s+/g,"-").toLowerCase()}?id=$
{post?.id}} className="border-blue-900 border-[.1rem] font-semibold
px-5 py-2">View details</Link>
<button onClick={() => Apply(posts)} className="bg-
blue-900 text-white font-semibold px-5 py-2">Apply now</button>
</div>
</div>
)
})
}
48
</div>
<Footer/>
</>
)
}
export default Page
49