You are on page 1of 44

Tribhuvan University

Faculty of Humanities and Social Sciences

A Project Report on

“JobConnect”

In partial fulfillment of the requirement for the degree of Bachelor in Computer


Application (BCA)

Submitted to:

Department of Computer Application

Kathmandu College of Technology

Submitted by:

Samyog Subedi (6-2-1105-60-2019)

Under the supervision of

Mr. Narayan Chalise

2080/04/16
Tribhuvan University

Faculty of Humanities and Social Sciences

Kathmandu College of Technology

SUPERVISOR’S RECOMMENDATION

I hereby recommend that this project prepared under my supervision by “Samyog


Subedi” entitled “JobConnect” in partial fulfilment of the requirements for the
degree of Bachelor of Computer Application is recommended for the final
evaluation

………………….

SIGNATURE

Narayan Chalise

Supervisor

Kathmandu College of Technology

Lokanthali Bhaktapur, 44600


Tribhuvan University

Faculty of Humanities and Social Sciences

Kathmandu College of Technology

LETTER OF APPROVAL

This is to certify that this project is prepared by “Samyog Subedi” entitled


“JobConnect” in partial fulfillment of the requirements for the degree of
Bachelor in Computer Application has been evaluated. In our opinion it is
satisfactory in the scope and quality as a project for the required degree.

………………………………. ……………………………….
Mr. Narayan Chalise Mr. Prashant Gautam
Supervisor Coordinator

……………………………. ……………………………….
Internal Examiner External Examiner
ACKNOWLEDGEMENT

I would like to thank our respected supervisor, Mr. Narayan Chalise, for his
guidance, support, and continuous encouragement throughout the project. I would
also like to extend our sincere thanks to the team at Kathmandu College of
Technology's Department of Bachelor of Computer Application.

I would like to thank everyone who has supported, helped, and given advice
during this time of writing and development of the project. Without them, I never
would have been able to do this.

Samyog Subedi

i
ABSTRACT

The platform's key features include a user-friendly interface that allows job
seekers to create personalized profiles, search and apply for jobs matching their
skills and preferences. Employers can efficiently post job openings, review
applications, and connect with potential candidates through a sophisticated
applicant tracking system.

JobConnect utilizes algorithms to match job seekers with suitable opportunities,


enhancing the chances of finding the perfect fit for both parties. The platform also
offers a personalized dashboard for users to manage their applications, saved
jobs, and receive insights into market trends. Employers can access detailed
candidate profiles, and job seekers can confidently share their information,
knowing it is protected.

JobConnect is set to revolutionize the job market, providing an efficient and


effective platform that empowers job seekers and employers to make informed
decisions and find their ideal match effortlessly. Whether launching a career or
sourcing top talent, JobConnect is the go-to solution for optimizing the job search
and hiring process.

Keywords: Job Portal, Job Application, Job Connect

ii
Table of Contents

ACKNOWLEDGEMENT....................................................................................................i

ABSTRACT........................................................................................................................ii

Chapter 1: Introduction........................................................................................................1

1.1 Background............................................................................................................1

1.2 Problem Statement.................................................................................................2

1.3 Objective................................................................................................................3

1.4 Scope and Limitations...........................................................................................3

1.4.1 Scope..............................................................................................................3

1.4.2 Limitation.......................................................................................................3

1.5 Report organization...............................................................................................4

Chapter 2: Literature Review...............................................................................................5

2.1 Literature Review..................................................................................................5

Chapter 3: System analysis and design................................................................................6

3.1 System analysis......................................................................................................6

3.1.1 Requirement analysis.....................................................................................6

3.1.1.1 Functional requirement................................................................................7

3.1.1.2 Use case diagram.........................................................................................8

3.1.1.3 Non-Functional Requirement.......................................................................8

3.1.2 Feasibility analysis.........................................................................................9

3.1.2.1 Technical feasibility.....................................................................................9

3.1.2.2 Operational Feasibility.................................................................................9

3.1.2.3 Economic Feasibility...................................................................................9

3.1.2.4 Schedule feasibility....................................................................................10

3.2 System Design.....................................................................................................10

3.2.1 Data Modeling (ER-Diagram)......................................................................10

iii
3.2.2 Process Modeling (DFD).............................................................................11

3.2.3 Flow chart.....................................................................................................17

3.2.4 Architectural Design....................................................................................19

3.2.5 Database Schema..........................................................................................19

3.3 Algorithm Details................................................................................................20

3.3.1 Content-Based Filtering...............................................................................21

3.3.2 Cosine Similarity..........................................................................................21

3.3.3 Working Mechanism....................................................................................21

3.3.4 Pseudocode...................................................................................................22

Chapter 4: Implementation and Testing.............................................................................24

4.1 Implementation....................................................................................................24

4.1.1 Tools and programming language Used.......................................................24

4.1.2 Implementation Details of Modules.............................................................25

4.2 Testing.................................................................................................................27

4.2.1 Test Cases for Unit Testing..........................................................................27

4.2.2 Test Case for System Testing.......................................................................30

Chapter 5: Conclusion and Future Recommendation........................................................31

5.1 Lesson Learned / Outcome..................................................................................31

5.2 Conclusion...........................................................................................................31

5.3 Future Recommendation......................................................................................31

References..........................................................................................................................32

iv
List of Figures

Figure 3.1 Evolutionary Prototype Model............................................................................


Figure 3.2 Use Case Diagram...............................................................................................
Figure 3.3 Gantt chart.........................................................................................................
Figure 3.4 ER Diagram......................................................................................................
Figure 3.5 level 0 DFD.......................................................................................................
Figure 3.6 Level 1 DFD (Job Seeker)................................................................................
Figure 3.7 Level 1 DFD (Job Provider).............................................................................
Figure 3.8 Level 2 DFD (Registration and Login).............................................................
Figure 3.9 Level 2 DFD (Profile and Edit Details)............................................................
Figure 3.10 Level 2 DFD (Job Seeker)..............................................................................
Figure 3.11 Level 2 DFD (Job Provider)...........................................................................
Figure 3.12 Flow Chart for Job Provider...........................................................................
Figure 3.13 Flow Chart for Job Seeker..............................................................................
Figure 3.14 Architectural design........................................................................................
Figure 3.15 Database schema.............................................................................................

v
List of Tables

Table 4.1 Test case for registration....................................................................................


Table 4.2 Test case for login..............................................................................................
Table 4.3 Test case for job post..........................................................................................
Table 4.4 Test case for job seeker......................................................................................

vi
List of Abbreviations

API Application Programming Interface

DFD Data Flow Diagram

ER Diagram Entity Relationship Diagram

GUI Graphical User Interface

IDE Integrated Development Environment

PHP Hypertext preprocessor

SDLC Software Development Life Cycle

SQL Structured Query Language

vii
Chapter 1:Introduction

1.1 Background
The job market has undergone changes in times affecting the way people search for jobs
and companies find new talent. With the rise of technology both job seekers and
employers are looking for convenient ways to connect with each other and explore
opportunities. That's why I'm thrilled to introduce "JobConnect”. An Android app that
aims to revolutionize the job search experience.

JobConnect is a job application that seeks to simplify the process of finding a job, for
both individuals looking for work and employers seeking new hires. It boasts a user
interface and advanced features providing a platform where people can discover their
ideal career paths.

In this project report I will provide an overview of JobConnect development process.


Highlight its features that set it apart from other competitive job portals. From profiles,
search options, auto resume generator to algorithm showing relevant jobs to the job
seeker, JobConnect is specifically designed to empower job seekers while streamlining
the recruitment process for employers.

Through JobConnect my goal is to bridge the gap between job seekers and employers by
facilitating connections that link individuals with suitable opportunities. This app
represents a step, in embracing technology to transform the landscape of the job market
while empowering individuals to take control of their career paths.

Join me as we dive into the development of JobConnect and discover how this innovative
application is about to revolutionize the way we search for jobs and attract individuals.

1
1.2 Problem Statement
JobConnect, an advanced job portal Android app, aims to revolutionize the job search
experience for job seekers and employers. However, before focusing on job-related
functionalities, there is a pressing issue that demands attention within the JobConnect
platform – the need for a more efficient and user-friendly approach to manage job
applications and interactions.

Presently, job seekers and employers face various challenges during the job application
process on the JobConnect platform:

1. Application Management: Job seekers find it challenging to track and manage


multiple job applications on the platform. The current system lacks an organized
and centralized application dashboard, leading to potential oversight of application
statuses and interview schedules.
2. Personalized Job Recommendations: The existing job recommendation system
lacks sophistication, resulting in generic job listings that may not align with a job
seeker's specific skills, preferences, and career goals.
3. Competitive Disadvantage for Smaller Businesses: Smaller companies with
limited financial resources may face a disadvantage in attracting job seekers
compared to larger organizations that can afford the fees.
4. High Costs for Companies: The requirement for companies to pay a fee for
posting job listings on JobConnect might discourage some potential employers,
especially small businesses and startups, from utilizing the platform. This could
lead to a limited number of job opportunities available to job seekers.
5. Competitive Disadvantage for Smaller Businesses: Smaller companies with
limited financial resources may face a disadvantage in attracting job seekers
compared to larger organizations that can afford the fees.

2
1.3 Objective
 To create a sophisticated job recommendation system based on user preferences
and qualifications.
 To smoother the application process, making it user-friendly and time-efficient for
job seekers.
 To implement an automated resume generation, feature that tailors resumes to
specific job opportunities.

1.4 Scope and Limitations


The android job search platform aims to connect job seekers with relevant opportunities,
providing a user-friendly interface and access to a curated selection of job listings. The
platform's effectiveness is dependent on the availability of job listings and may be
restricted to areas with limited internet connectivity, potentially excluding certain users
from accessing its services.

1.4.1 Scope

The scope of the Android app is to develop a user-friendly and feature-rich job search
application that caters to the needs of job seekers. The app will provide a seamless
interface for users to discover relevant job opportunities, manage their applications
efficiently, and create personalized resumes. It will leverage the power of data analytics to
offer personalized job recommendations and foster effective communication between job
seekers and employers. The app's scope also includes incorporating essential features like
user authentication, job tracking, and push notifications to enhance user experience and
engagement.

1.4.2 Limitation

 Internet Dependence: JobConnect is an online web application, making it reliant


on internet connectivity. Users without access to the internet will be unable to use
the platform.
 Limited Job Opportunities: The effectiveness of JobConnect depends on the
number and diversity of job listings available on the platform. If the number of job
providers and opportunities is limited, users may not find suitable matches for
their preferences and qualifications

3
 Incomplete Categories: JobConnect might not cover a wide range of categories or
industries, limiting users' opportunities for Jobs.
 Scalability Challenges: As the number of users and job listings increases,
JobConnect may face challenges related to scalability and performance,
potentially affecting the user experience.
 The basic features such as reviews, comments lack in the system.

1.5 Report organization


This report document contains five chapters:

Chapter one: The first chapter describes the introduction of the build system.

Chapter two: Chapter two defines and describe an Overview of related existing systems
and their pros and cons.

Chapter three: Chapter three presents the System Analysis and Design, including
Requirement Analysis and Feasibility Analysis.

Chapter four: Chapter four includes the process of implementation, Testing and
Debugging.

Chapter five: Chapter five includes Conclusion, Limitations and Future Enhancement

4
Chapter 2: Literature Review

2.1 Literature Review


The rapid advancement of technology and the widespread use of the internet have
revolutionized the job search process, providing job seekers with numerous online
platforms to find employment opportunities. The emergence of online job portals has
significantly impacted the traditional job-hunting methods, offering convenience and
efficiency to both job seekers and employers. In the context of Nepal, where the job
market is competitive and unemployment rates persist, these online job portals have
gained significant importance.

In context of Nepal, according to the Central Bureau of Statistics 2020, a total of


4,000,200 people in Nepal is not getting jobs that match their skills and qualifications.
The survey also reveals that 40,000 to 50,000 people who have a Bachelor’s degree are
still unemployed. These figures affirm that finding a job of choice is not as easy it looks
in Nepal. However, there are some ways that can help you to deal with this problem. And
in this digital era, the best way you can approach to resolve this problem, at least to some
extent, is through the internet [1].

Among the notable online job portals in Nepal, MeroJob stands out as a pioneer and
popular platform with a vast user base and strong partnerships with organizations. Its
extensive database of job listings and user-friendly interface make it a preferred choice
for job seekers. JobConnect, with its long-standing presence in the market, acts not only
as a job portal but also as a staffing firm, facilitating quick and efficient hiring processes
for organizations [2]

In the context of the android-based Job Portal application, these existing online job portals
serve as valuable references and sources of inspiration. By analyzing their features, user
interfaces, and functionalities, the project can identify successful practices to incorporate
into the new system. The literature review highlights the significance of online job portals
in addressing the challenges of the Nepali job market and emphasizes the need for an
efficient and user-friendly platform to connect job seekers with relevant opportunities.
The new Job Portal application can draw insights from these existing portals to provide a
robust and convenient solution for job seekers and employers in Nepal.

5
Chapter 3:System analysis and design

3.1 System analysis


Considering the fact that this project involves design and implementation of a software
system regardless that is android-based, it was necessary to mention and consider certain
models used in software development and deployment. For this project, we are using an
incremental model.

The Evolutionary Prototype Model is a software development approach that emphasizes


building prototypes early in the development process and then gradually refining them
through successive iterations until a final system is achieved. It is often used when the
requirements are not well-defined or are subject to change, and it allows for greater
flexibility in adapting to evolving user needs.

Figure 3.1 Evolutionary Prototype Model

3.1.1 Requirement analysis

Requirements analysis is a crucial step for determining the success of a system or


software project. Requirements are generally split into two types:

1) Functional requirements
2) Non-functional requirements

6
3.1.1.1 Functional requirement
This section provides the requirement overview of the overall system. Various
requirement implemented by the system are:

1. User Registration and Authentication:


 Users shall be able to register and create accounts securely.
 Users will log in using their credentials for personalized access.

2. Job Search:
 Job seekers shall be able to search for job listings based on keywords, location,
industry, and other relevant criteria.

3. Job Application Management:


 Job seekers shall be able to apply for jobs directly through the platform.
 Users will track the status of their job applications and receive notifications for
updates.

4. Employer Account Creation and Management:


 Employers shall be able to create accounts and post job vacancies on the platform.
 Employers will have access to manage and update their job listings.

5. Candidate Profile Creation and Management:


 Job seekers shall be able to create and maintain their profiles with relevant
information, including skills, qualifications, work experience, and preferences.
 Users will have options to edit and update candidate profiles.

6. Job Recommendations:
 The platform shall offer personalized job recommendations based on user profiles
and preferences.

7. Resume Builder:
 The platform shall include a feature for job seekers to create, edit, and store their
resumes.
 The system will generate well-formatted resumes based on the user's profile data.

7
8. Admin Dashboard:
 An admin panel shall be available to manage the entire platform, including user
accounts, job listings, and system settings.
 The admin will have the ability to monitor platform activity and resolve user
issues.

3.1.1.2 Use case diagram

Figure 3.2 Use Case Diagram

3.1.1.3 Non-Functional Requirement


Non-functional requirements of the system are identified as availability, security
performance, reliability. The non-functional requirements included in the project are:

1. Availability
 Since the developed system is android-based so, the system will be available
online.

8
9
2. Security
 Since users first have to register themselves and login using registered
information. Login with incorrect information does not let users be logged in. It is
a multivendor application, so only information of the particular registered institute
is shown. So, there is proper provision of security.
3. Performance
 This system will be designed for smooth performance with optimization and good
response.
4. Reliability
 Since the system has proper provision of security and reliability, the system will
be reliable to the users

3.1.2 Feasibility analysis

The feasibility analysis includes Technical feasibility, Operational feasibility, Economic


feasibility, Schedule feasibility.

3.1.2.1 Technical feasibility


The technologies and development tools that has been intended to use are all readily
available and are open source. Furthermore, I have sufficient fundamental knowledge of
design and programming patterns. I should be able to improvise, adapt and overcome
challenges that may arise during development of the system.

3.1.2.2 Operational Feasibility


The application is platform independent and can run on any Android device above
version 4. The backend of the system needs PHP environment with MySQL connection,
but the one-time setup is minimal and can be achieved in any host environment.

3.1.2.3 Economic Feasibility


There is no major cost associated with the development of the system. The system does
need a server with MYSQL environment which is open and free so it is expected to be
economically feasible to any institution looking to implement a system like this. Also, the
manpower required for management of the databases and moderation of content is quite
low which helps in minimizing the production cost.

10
3.1.2.4 Schedule feasibility
Since this project is to be submitted before our board exams, which is very good as our
college activities are passive, time should not be a problem.

Figure 3.3 Gantt chart

3.2 System Design


System design is the process of defining the components, modules, interfaces, and data
for a system to satisfy specified requirements. System development is the process of
creating or altering systems, along with the processes, practices, models, and
methodologies used to develop them.

The system design used while developing this “student record management system’’ are
briefly described and designed below:

3.2.1 Data Modeling (ER-Diagram)

The JobConnect ER diagram portrays the critical relationships between different entities
within the job portal application. One of the fundamental associations is between "Job
Seeker" and "Job Application," where a job seeker can apply to multiple job applications,
establishing a one-to-many relationship. Similarly, the connection between "Job Seeker"
and "Saved Job" denotes that job seekers can save multiple job listings, forming another
one-to-many relationship.

11
Furthermore, the ER diagram showcases the link between "Job Seeker" and "Job
Provider" (Company), signifying a one-to-many relationship, indicating that each job
seeker can be apply with multiple jobs by multiple job provider (company). Similarly, the
"Jobs" entity is connected to both "Job Seeker" and "Job Provider" (Company) through
one-to-many and relationship.

Figure 3.4 ER Diagram

3.2.2 Process Modeling (DFD)

JobConnect Data Flow Diagram (DFD) showcases the main processes and data flows in
the job portal application. At Level 0, job seekers access "Job Listings" and "Apply for
Jobs" by submitting applications to "Job Providers" (companies). They can also "Save
Jobs" for future reference. The app's backend manages the "Job Listings," handling
application submissions and data storage. Level 1 expands on the processes, detailing
"Submit Application" and "Receive Response" steps. The "Save Jobs" process includes

12
"Bookmark Jobs" actions. Level 2 breaks down Level 1 processes with activities like
"User Authentication" and "Application Validation." Data flows between the backend and
the database are illustrated for proper data management. The DFD offers a clear
understanding of information flow, facilitating development and maintenance of the job
portal platform

Figure 3.5 level 0 DFD

Figure 3.6 Level 1 DFD (Job Seeker)

13
Figure 3.7 Level 1 DFD (Job Provider)

Figure 3.8 Level 2 DFD (Registration and Login)

14
Figure 3.9 Level 2 DFD (Profile and Edit Details)

15
Figure 3.10 Level 2 DFD (Job Seeker)

16
Figure 3.11 Level 2 DFD (Job Provider)

17
3.2.3 Flow chart

The job portal Android app for job providers begins with user authentication, ensuring
secure access to the platform. Once logged in, user-friendly dashboard is provided where
they can post jobs opening, manage posted jobs, view and manage applicants. For those
using the app for the first time, a straightforward registration process is in place to create
a new account.

Figure 3.12 Flow Chart for Job Provider

18
The job portal Android app for job seekers begins with user authentication, ensuring
secure access to the platform. Once logged in, a user-friendly dashboard is provided from
where users can view all job openings, apply for the interested jobs, save jobs for future
applications, access suggested jobs, search for specific jobs, generate CVs, and manage
their profiles. For those using the app for the first time, a straightforward registration
process is in place to create a new account.

Figure 3.13 Flow Chart for Job Seeker

19
3.2.4 Architectural Design

Figure 3.14 Architectural design

3.2.5 Database Schema

The JobConnect database schema encompasses the essential data entities and their
relationships in the job portal application. At the core, we have "Job Seeker" and "Job
Provider" tables representing users interacting with the app. The "Application" and "Job
Seeker" tables are related through the "job seeker" field, establishing a one-to-many
relationship between job seekers and their applications. Additionally, the "Saved Jobs"
table is linked to both the "Job Seeker" and "Job" tables through the "job seeker" and
"job_id" fields, respectively, representing the one-to-many relationships between job
seekers and their saved jobs and jobs being saved. The detail database schema with
relation among them is presented below:

20
Figure 3.15 Database schema

3.3 Algorithm Details


In JobConnect, job seekers are presented with personalized job recommendations using
Content-Based Filtering algorithms. This approach tailors job suggestions based on
individual user preferences and interests. By analyzing user profiles and job attributes, the
system identifies jobs that closely match each user's unique criteria, providing a more
personalized and relevant job search experience. Additionally, JobConnect leverages the
user's previously applied job category history to identify patterns in their job preferences,
further refining the job recommendations. The combination of content-based filtering and
historical data enhances the overall job matching process, helping users discover job
opportunities that align with their interests and past interactions with the platform.

21
3.3.1 Content-Based Filtering

Content-based filtering is a type of recommender system that attempts to guess what a


user may like based on that user’s activity. Content-based filtering uses item features to
recommend other items similar to what the user likes, based on their previous actions or
explicit feedback. Content-based filtering makes recommendations by using keywords
and attributes assigned to objects in a database and matching them to a user profile. The
user profile is created based on data derived from a user’s actions. [3]

3.3.2 Cosine Similarity

Cosine similarity is described mathematically as the division between the dot product of
vectors and the product of the magnitude of each vector. Cosine similarity is a value
bound by a constrained range of 0 and 1. The similarity measurement is a measure of the
cosine of the angle between the two non-zero vectors A and B. [4]

cosine similarity (CS) = (A. B) / (||A|| ||B||)

where, A.B is dot product and ||A|| ||B|| is product of magnitude of vector A and B.

3.3.3 Working Mechanism

In JobConnect recommendation system, Content-Based Filtering with Cosine Similarity


was employed to provide personalized job recommendations to users. The
recommendation process involved three key vectors: "interested Category" (representing
the user's preferred job categories), "applied Category" (representing the job categories
the user had previously applied to), and "all Category" (comprising all available job
categories).

To calculate the Cosine Similarity between these vectors, each combination of two
vectors was compared. The Cosine Similarity between "interested Category" and "applied
Category," "interested Category" and "all Category," and "applied Category" and "all
Category" was computed. The resulting similarity scores represented how closely related
these vector pairs were in terms of job category preferences.

22
To optimize storage and reduce redundancy, only the non-zero similarity scores were
stored in an array. These scores were arranged in ascending order, with higher cosine
similarity values indicating stronger matches between job category preferences.

For new users, the Cosine Similarity between "interested Category" and "all Category"
was calculated, as they might not have had a history of applied categories yet. However,
for users with previous interactions, all three vectors— "interested Category," "applied
Category," and "all Category"—were considered to generate more comprehensive and
accurate job recommendations.

3.3.4 Pseudocode

Step 1: Initialize Vectors


interestedCategoriesArray, appliedCategoriesArray, AllCategories

Step 2: Check if the User has Applied for any Jobs


if (appliedCategoriesArray. Length == 0):
similarityAllInterested = cosineSimilarity (AllCategories, interestedCategoriesArray)
else:
similarityAppliedInterested = cosineSimilarity (interestedCategoriesArray,
appliedCategoriesArray)
similarityAllApplied = cosineSimilarity (AllCategories, appliedCategoriesArray)
similarityAllInterested = cosineSimilarity (AllCategories, interestedCategoriesArray)

Step 3: Calculate Cosine Similarities


function cosineSimilarity (arr1, arr2):
dotProduct = 0
for each word in arr1:
if word exists in arr2:
dotProduct += wordFrequencyMap1[word] * wordFrequencyMap2[word]

Step 3.1: Calculate the magnitudes


magnitude1 = calculateMagnitude(wordFrequencyMap1)
magnitude2 = calculateMagnitude(wordFrequencyMap2)

23
similarityMap = empty map
for each word in arr1:
similarity = 0
if word exists in arr2:
similarity = dotProduct / (magnitude1 * magnitude2)
similarityMap[word] = similarity
return similarityMap

Step 4: Create an Empty List of Non-Zero Similarities

Step 5: Calculate Maximum Similarity for each Category


for each category in AllCategories:
similarityInterested = 0
similarityApplied = 0
similarityBoth = 0
if (similarityAllInterested contains category):
similarityInterested = similarityAllInterested[category]
if (similarityAllApplied contains category):
similarityApplied = similarityAllApplied[category]
if (similarityAppliedInterested contains category):
similarityBoth = similarityAppliedInterested[category]
maxSimilarity = max (similarityInterested, similarityApplied, similarityBoth)

Step 6: Add Non-Zero Similarities to the List


if (maxSimilarity > 0):
nonZeroCategories.append({category: maxSimilarity})

Step 7: Sort the List in Descending Order based on Similarity Scores

Step 8: Extract Category Names from the List


categoryNameArray = empty array
for each entry in nonZeroCategories:
categoryNameArray.append(entry. category)

24
Step 10: Fetch all jobs for each category in categoryNameArray

25
Chapter 4:Implementation and Testing

4.1 Implementation
In the first phase, data were collected. Data collection took longer time than another
phase. It was the critical stage in the project's development. All the physical design of the
project is turned into working computer code. Many tools and technologies that were
utilized to develop the system were discussed in the preceding chapter.

4.1.1 Tools and programming language Used

Java: Java drive the application's core functionality, handling user interactions and
collaborating with XML layouts to create responsive language learning interfaces.

PHP: PHP was use for backend APIs that establish a bridge between the language
learning app and local servers. It processes user requests, facilitates database interactions,
enabling dynamic data exchange.

XML: XML defines the layout and appearance of the user interface. By keeping design
separate from code, it ensures consistent, visually engaging learning experiences.

MySQL: MySQL serves as the repository for structured language learning data stored on
local servers. The app's backend APIs access this data efficiently, ensuring seamless
retrieval and management.

Apache HTTP Server: Apache hosts backend PHP scripts that function as APIs,
facilitating smooth communication between the language and the local servers. This
seamless connection enhances the overall user experience.

Android Studio: Android Studio serves as the comprehensive development environment,


enabling efficient UI design, coding, debugging, testing, and packaging of the language
learning app. It streamlines the process, ensuring the creation of a top-quality project.

26
4.1.2 Implementation Details of Modules

The proposed system is composed of different module such as job seeker module, job
provider module, login module, registration module. The individual modules are briefly
described below.

 Registration Module

A registration module is an integral part of software applications that empowers users to


establish new accounts or profiles within the system. This module serves as the gateway
for users to input their essential details, such as name, emails, and passwords, which are
subsequently stored securely for future authentication and access. The process typically
involves a user-friendly input form where individuals provide their information, followed
by validation checks to ensure that the entered data adheres to the required format and
quality standards. Once validated, the user's information is securely stored within the
application's database, often with encryption mechanisms to safeguard sensitive data like
passwords. From a security standpoint, robust data protection measures, such as hashing
passwords and adhering to data privacy regulations, play a pivotal role in ensuring the
confidentiality and integrity of user information. Overall, the registration module enables
seamless onboarding for new users, fostering engagement and personalization within the
application's ecosystem.

 Login Module

The login module is a foundational component within our software application, serving
the essential role of user authentication and access control. Its primary objective is to
validate user identities during login attempts, subsequently granting appropriate
permissions based on provided credentials. This module consists of crucial elements,
including a user-friendly interface with fields for email and password, authentication
logic to validate the data, and mechanisms for regulating access. By inputting their unique
email and password, users undergo a validation process against stored records. Upon
successful authentication, users gain access to specific functionalities based on their
assigned roles or permissions. To ensure security, the module employs stringent measures
such as secure credential storage, password hashing, and adept session management, all
aimed at thwarting unauthorized access and potential threats. Acting as the gatekeeper,

27
this module safeguards sensitive information and guarantees that only authorized users
interact with our application, making it an indispensable component for creating secure
and user-centric software experiences.

 Job Seeker Module

The Job Seeker module is a essential component of our software application that caters to
individuals seeking employment opportunities. This module is designed to empower job
seekers with a seamless experience in discovering, applying for, and managing job
openings. Upon successful registration and login, users can create and update their
profiles, including essential details such as personal information, professional skills,
educational background, and employment history. This information is curated to enhance
their visibility to potential employers and improve the matching accuracy with job
listings.

At its core, the module offers "Suggested Jobs," using advanced algorithms to
recommend personalized job listings based on individual profiles and preferences. This
personalized approach enhances job discovery by presenting opportunities that align with
each user's aspirations. Users can also "Save Jobs" for future consideration and "Apply to
Jobs" directly through the platform, streamlining the application process. The "Search
Job" feature simplifies job exploration by allowing users to browse and sort listings
according to various criteria. “View Status of Applied Jobs" feature, which provides real-
time updates on application progress. The "Generate CV" function automates resume
creation, ensuring a polished presentation for potential employers. User profiles can be
maintained effortlessly using the "Edit Profile" feature, enabling updates to skills, work
experience, and contact information.

In summary, the Job Seeker module optimizes job search by presenting relevant
suggestions, enabling efficient application, and providing tools for profile management
and tracking. This comprehensive approach ensures an engaging and user-focused
experience, guiding job seekers toward their desired career outcomes.

 Job Provider module

The Job Provider module is an indispensable aspect of our software application, catering
to organizations and businesses aiming to post, manage, and oversee job openings. This

28
module serves as a robust platform for employers to streamline the recruitment process,
connect with potential candidates.

Upon successful registration and login, employers gain access to a user-friendly


dashboard that serves as the epicenter for job listing management. Here, they can create,
update, and manage comprehensive job listings, including job titles, descriptions,
requirements, and other pertinent details. The module offers flexible categorization
options, allowing employers to tag job openings by industry, location, and other relevant
attributes, facilitating effective job listing organization.

The Job Provider module is a crucial tool for employers to efficiently hire the best talent,
improve their hiring processes, and easily engage with potential candidates. With a range
of features like creating job listings, managing applications, tracking performance, and
ensuring security, this module empowers employers to succeed in their hiring efforts and
contribute to the growth of their organizations.

4.2 Testing
On the basis of the software requirement specification document, testing was performed
to investigate and validate the behavior of a fully integrated software product. Before
deploying an application or website, it must be thoroughly tested. As a result, this
application's test cases were written. Some types of testing that we did are described
below.

4.2.1 Test Cases for Unit Testing

Table 4.1 Test case for registration

Test Test Case Excepted Actual Pass


Case Description Result Result /
ID Fail

RG01 Register with Display As, Pass


valid name, registration Excepted
email, and successfully
password and redirect
to login
RG02 Register with Display As, Pass
existing email Email Excepted
already

29
registered
RG03 Register with Display As, Pass
weak what should Excepted
password be included
in password
RG04 Register with Display As, Pass
unmatched passwords Excepted
passwords do not
match
RG05 Register with Display As, Pass
one empty specific Excepted
field field
required
RG06 Register with Display As, Pass
invalid email invalid Excepted
format email
format
RG07 Register with Display As, Pass
all fields left required Excepted
empty field from
top

Table 4.2 Test case for login

Test Test Case Excepted Actual Pass


Case Description Result Result /
ID Fail

LG01 Login with Show cannot As, Pass


empty email be empty Excepted
and password below both
field
LG02 Login with Send link to As, Pass
registered but Verify and Excepted
unverified display verify
email email first
LG03 Login with Display login As, Pass
verified email failed. The Excepted
but incorrect password is
password invalid
LG04 Login with Redirect to As, Pass
verified email homepage Excepted
and correct according to
password user type

30
Table 4.3 Test case for job post

Test Test Case Excepted Actual Pass


Case Description Result Result /
ID Fail
PJ01 Post job with Display one As, Pass
missing or more Excepted
required fields fields are
missing
PJ02 Post job with Display As, Pass
spinner value select one is Excepted
as select one not valid
PJ03 Post job with Display As, Pass
proper valid successfully Excepted
details Posted and
redirect to
dashboard

31
Table 4.4 Test case for job seeker

Test Test Case Excepted Actual Pass


Case Description Result Result /
ID Fail
JS01 Search for Display As, Pass
jobs using Relevant Excepted
keywords jobs
JS02 select Display As, Pass
suggested jobs Personalize Excepted
button jobs based
on profile
JS03 Save a job for Job saved As, Pass
future Excepted
reference

JS04 Apply for a Application As, Pass


job after sent Excepted
generating a
cv
JS05 Apply for a Cv update As, Pass
job without required Excepted
generating a
cv

4.2.2 Test Case for System Testing

The system testing phase has been diligently carried out, evaluating key functionalities
and scenarios, all of which have yielded successful outcomes. These significant test cases,
meticulously executed, underscore the robustness of our software system. Here's a
summary of the accomplishments:

 Successful registration and logins for job seekers and providers.


 Trouble-free job posting, modification, and application submission.
 Personalized job suggestions and Relevant job search results based on keywords.
 Easy application management for job providers.
 Accurate application status visibility for job seekers.
 CV generation based on job seeker profiles.
 Secure user logout functionality.
 Validates reliability, error handling and user-friendliness.
 System's performance and response time within limits.

32
Chapter 5: Conclusion and Future Recommendation

5.1 Lesson Learned / Outcome


Developing an Android app with Volley for networking and Firebase Authentication has
imparted valuable lessons. Focusing on user-centric design, I learned to prioritize user
preferences and navigation ease. Firebase Authentication highlighted data security's
paramount importance, while Volley demonstrated efficient external communication. The
iterative process emphasized responsiveness through user feedback incorporation.
Navigating testing and deployment illuminated the need for thorough testing and strategic
release. Overall, this experience enriched my understanding of design, security,
networking, and deployment, shaping my future software development approaches.

5.2 Conclusion
We can conclude that the project JobConnect (online job portal) will be a project with a
high success rate which will be able to deliver all the needs and requirements of employee
(job seekers) as well as the employer (Job Provider). Job seekers can easily find jobs
completely related to their field and put an application online and confirm if they are
feasible for the job and they are hired by the employers or not. It was clearly known
during the development of project that it is a completely dynamic project which has never
ending possibilities for improvement irrespective with the platform used for its creation.

5.3 Future Recommendation


 Creating a multi-platform application rather than just an android application.
 Direct email for shortlisted candidates with interview date and place.
 Implement an analytics dashboard for job providers.
 Continuously invest in robust security measures, including regular security audits
and updates, to safeguard user data and ensure a trustworthy environment.
 Incorporating a Dark mode feature into the application.

33
References

[1] G. o. Nepal, "Central Bureau of Statistics.," Unemployment and


Underemployment in Nepal, 2020.

[2] Techlekh, "5 Best Nepali Job Portals to Find Job Vacancies in Nepal," 13
February 2018.

[3] T. U. Team, "What Content-Based Filtering is and Why You Should Use It,"
06 April 2021.

[4] R. Alake, "Understanding Cosine Similarity and Its Applications," 19 January


2023.

34

You might also like