0% found this document useful (0 votes)
26 views91 pages

Project File

The Online Job Portal is a web-based application designed to connect job seekers with employers, streamlining the job search and recruitment process through features like user registration, job filtering, and application tracking. It aims to enhance efficiency, reach, and user experience while addressing limitations of traditional job-hunting methods. The system includes functionalities for both job seekers and employers, ensuring secure access and data privacy.

Uploaded by

Avinash Gupta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views91 pages

Project File

The Online Job Portal is a web-based application designed to connect job seekers with employers, streamlining the job search and recruitment process through features like user registration, job filtering, and application tracking. It aims to enhance efficiency, reach, and user experience while addressing limitations of traditional job-hunting methods. The system includes functionalities for both job seekers and employers, ensuring secure access and data privacy.

Uploaded by

Avinash Gupta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

INTRODUCTION

The Online Job Portal is a web-based application designed to connect


job seekers with employers through a centralized digital platform.
This project aims to simplify the job search process by providing a
user-friendly interface for candidates to explore, apply for, and track
job opportunities, while also enabling employers to post vacancies,
review applications, and manage recruitment efficiently.

In today’s competitive employment landscape, traditional job-


hunting methods are often time-consuming and ineffective. This
portal bridges the gap between talent and opportunity by leveraging
modern web technologies to streamline recruitment and job
discovery. It features core functionalities such as user registration,
resume uploads, job filtering based on skills and location, automated
email notifications, and employer dashboards for application
management.

The platform not only enhances visibility for job seekers but also
helps organizations find suitable candidates quickly, making the
hiring process more effective and transparent.

1
Job Search Portal
PROPOSED SYSTEM
The proposed system is an Online Job Portal designed to bridge the
gap between job seekers and employers by offering a centralized,
user-friendly platform for job search and recruitment activities. The
platform will streamline the job search process, improve accessibility,
and enhance user experience through automation and real-time
interactions.
Key Features of the Proposed System

1. User Registration and Profile Management


 Separate login and dashboards for Job Seekers and Employers.
 Resume upload and profile-building tools for job seekers.
 Company profile creation and job posting features for
employers.
2. Job Search and Filter Functionality
 Advanced search with filters based on location, salary,
experience, job type, industry, etc.
 Keyword-based job search using titles and descriptions.
3. Application and Tracking System
 Easy job application with a single click.
 Application history and status tracking for job seekers.
 Applicant management dashboard for recruiters.
4. Notifications and Alerts
 Email/SMS/Push notifications for job matches, application
status, and updates.
 Employer alerts for new applicants.
5. Admin Panel
 Manage users, monitor job posts, review content, and
generate analytics reports.
6. Security and Privacy
2
Job Search Portal
 Secure authentication (with optional two-factor
authentication).

 Role-based access and data privacy protection.

Benefits of the Proposed System

 Efficiency: Automates job search and recruitment processes,


saving time for both users and recruiters.

 Reach: Expands job visibility and opportunities beyond


geographical limits.

 User Experience: Intuitive UI/UX to enhance navigation and


engagement.

 Data-Driven Insights: Provides analytics for both job seekers and


employers to make informed decisions.

3
Job Search Portal
EXISTING SYSTEM

In the current job search landscape, several traditional and digital


methods are used by job seekers and employers. However, many
existing systems have limitations that affect the overall user
experience and efficiency.

1 Manual Job Search Process

 Candidates often search for jobs through newspapers, notice


boards, or physical visits to companies.
 Employers manually sort through printed resumes or emails.
 This approach is time-consuming, inefficient, and lacks real-
time updates.
2 Fragmented Online Platforms
 Some websites are employer-focused, while others only serve
job seekers.
 There is no centralized portal offering complete functionality
(search, apply, track, communicate).
 Poor filtering and outdated listings create frustration.
3 Limited Automation
 Resume screening is often manual.
 Job alerts and recommendations are not personalized.
 Communication between job seekers and employers is not
streamlined.
4 Lack of Real-Time Interaction

4
Job Search Portal
 No instant updates about application status.
 Delays in feedback reduce engagement.
5 Security and Data Management Issues
 Existing platforms may not ensure secure storage of user data.
 Privacy of personal information and resumes may be at risk.

AIM OF PROJECT

Both parties’ employer and employees will get notified as soon as a


job posted on the website. The automated electronic skill analyzer
will help an employer to find out the right/top employee. Based on
the marks allocated by employer for each skill whoever the
employees get pass marks will be listed. Employees who are
matching with required skills will also get notified separately based
on their interests. Online job portal system will help for both parties
in order to find out the suitable employee and best employer to the
industry and candidate respectively.

5
Job Search Portal
SCOPE AND OBJECTIVE

The system provides a role based access to the candidates,


employer, agents and the super administrator. Company registration
will be made by online registration but verification process will be
done via email. Job agencies will work as middleware between
candidates and employers but after the agreement between both
parties. Automated recruiter function will help employer to find the
employee who ever registered their profile. Employer can test
practical and skill test by online. Any employee can make a search
on the website; the website will suggest the suitable jobs. Candidate/
employee can select ON/OFF facility for their profile. Skills and
interviews can be lead through application. If there is any request
from the employer for referee's recommendation from candidates
then the candidates should request to their referees to write
recommendation via portal.

6
Job Search Portal
SYSTEM ANALYSIS AND DESIGN

Study of current system

The recruitment process is a very important process for all kinds of


people as the common man wants the job and the company needs man
power. The current system is based only on human beings. The all
activities of this process are done on paper work, nothing is system
dependent. The candidates apply for job manually to the company by
sending their resumes. The company responds them if they are
qualified and then the evaluation process takes place which filters the
candidates. Filtered candidates are called for the interviews and thus
the whole recruitment process takes place.

Problems and Weaknesses of Current System

The recruitment process is a very large and important process which is


mostly done by human beings, not by the system. The conventional
approach of submitting resumes to the company and then helding the
evaluation process is a very tedious task as the company has to give
advertisements or has to go to the colleges for recruiting people. This
process can be made easy and flexible for the candidates as well as
7
Job Search Portal
the company managers so that the whole recruitment process is
handled automatically.

This conventional approach of recruiting people increases the work of


maintaining candidates on paper work which requires a lot of
manpower. Other than this, it increases the complexity and also
contains less efficiency. The automated system needs to be found
which replaces the current conventional system or at least decreases
this whole process' complexity.

Requirements of new system

The problems of the conventional recruitment process increases the


need of some automated system which handles the process at some
extent and can decrease the work of this process. The system can be
built which is general and not specific to any company as the
evaluation process contains different steps for different companies.
Any company can use that system and can decrease complexity of the
conventional approach. The new system may not include the phase of
evaluation process but other general formalities of saving resumes and
other details of the candidates, maintaining their data etc. can be
included.

Feasibility Study

The feasibility study is the important step in any software development


process. This is because it makes analysis of different aspects like cost
required for developing and executing the system, the time required
for each phase of the system and so on. If these important factors are
not analyzed then definitely it would have impact on the organization
and the development and the system would be a total failure. So for
running the application and the organization successfully this step is a
8
Job Search Portal
very important step in a software development life cycle process.

By making analysis with the requirement of the organization it would


be possible to make a report of identified area of problem. By making a
detailed analysis in this area a detailed document or report is prepared
in this phase which has details like project plan or schedule of the
project, the cost estimated for developing and executing the system,
target dates for each phase of delivery of system developed and so on.
This phase is the base of software development process since further
steps taken in software development life cycle would be based on the
analysis made on this phase and so careful analysis has to be made in
this phase.

Though the feasibility study cannot be focused on a single area some


of the areas or analysis made in feasibility study is given below. But all
the steps given below would not be followed by all system developed.
The feasibility study varies based on the system that would be
developed.

Feasibility study is made on the system being developed to analyze


whether the system development process require training of personnel.
This help in designing training sessions as required in later stage. Is the
system developed has scope for expanding or scope for switching to
new technology later if needed in ease. In other study is made to find
the portability of the system in future.

The above feasibilities are analysis which helps in development of the


system. But the scope of feasibility study does not end with this.
Analysis or feasibility study also includes the analysis of maintenance
stage. In other words feasibility study is made to analyze how one
would maintain the system during maintenance stage. This helps sin

9
Job Search Portal
planning for this stage and also helps in risk analysis. Also the analysis
helps in making analysis about what training must be given and how
and what all documents must be prepared to help users and
developers to face maintenance phase.

Requirements Gathering
In a requirements gathering task, more time and skill should involve
in order to collect data from the right source and accurately for
system development. Communication skill is much important in order
to understand client’s requirements and questioning to client
regarding system requirements. Requirement gathering phase should
be handled very carefully, otherwise entire project will end up in
failure, Business activity modeling will help to define system
boundary.

Fact Finding Techniques

1. Research on similar projects


Searched on professional websites, and studied about their current
process and access on dashboard in several user roles. Learned about
online job portal system procedures by reading some research articles
and analyzed them in an efficient way.

2. Interviews
Interview is one of the flexible solution to gain domain knowledge
about recruitment process. By interviewing the university students
and job seekers can find the interested field of current and future job
market.

1. Monitoring
By monitoring the process of Human resource department learned
10
Job Search Portal
about recruitment system procedures. Reading newspaper
advertisements is helped to develop skill list for candidate.

Requirement analysis and Management

The gathered requirements need to be validated and analyzed for


clear doubts. Requirement is very obvious to meet a goal.
Requirements could affect on the project scope and the project cost.
Requirement gathering is a critical task in any project. New
requirement make by client at the middle of the project can cost more
than the budget and also time can exceed than the given time.

Analysis of the ongoing systems

Before initializing system design task, it is essential to evaluate the


current process of the system. Clear evaluation of ongoing project will
result a successful outcome.

Requirements for the Online Job Portal system

Functional Requirements

 User Registration
 Create profiles for job seekers
 Create profiles for companies

 Job post
 Enable job posting features for companies
 Candidate can view all posts and apply suitable post
 Real time job list and candidate list by skill search
 Relevant candidate name list will be display for every skill
search
11
Job Search Portal
 Generate report or high level design

 Searching
 Search using skills, job title, post, user name, or district
 Job alerts
 Password change
 Forgot password
 Interview schedules

Non-Functional Requirements

 Website performance
Website loading speed and optimize script deliver better usability
for even ordinary user, site performance is checked using
GTMETRIX (www.gtmetrix.com).
 User Friendliness
Human–computer interaction is considered in order to deliver
better User Interface (UI) design and User Experiences (UX). User
has flexibility to use this website to complete their task.
 Mobility
System is designed for all device compatibility and responsive
design using bootstrap for all the browsers and devices.
 Privacy
Users might have facility to protect their data by setting up some
privacy option. User roles are clearly defined according to the user
level.

 Reliability
If there is no deadline for a job post and that post is available on
web all the time, candidate may not trust the content. Always all

12
Job Search Portal
the job post content must be accuracy and reliable.

Hardware requirements

Hardware requirements

Processor Intel / AMD – 2.0 GHz or higher

RAM 2 GB or higher

Hard disk for development 500 GB or higher

computer

Resolution At least 1024 x 768

Internet Broadband with minimum 2.0

Mbps download rate

Table 1. Hardware requirements

Software requirements

Software requirements

13
Job Search Portal
Operating System Windows 7 or later version

Web Server Apache 2.4 or above

PHP Minimum PHP 7.x version

Database My SQL 5.x version

Web Browsers Google Chrome (recommended) or any other

browser latest version (Firefox , Internet Explorer)

Text Editor VS code editor, Sublime Text3, Notepad ++

Table 2.Software requirements

SYSTEM DESIGN (UML)


 Use Case

In software and systems engineering, a use case is a list of actions


or event steps, typically defining the interactions between a role
14
Job Search Portal
(known in the Unified Modeling Language as an actor) and a
system, to achieve a goal. The actor can be a human or other
external system. In systems engineering, use cases are used at a
higher level than within software engineering, often representing
missions or stakeholder goals. The detailed requirements may then
be captured in the Systems Modeling Language (SysML) or as
contractual statements.
Use case analysis is an important and valuable requirement
analysis technique that has been widely used in modern software
engineering since its formal introduction by Ivar Jacobson in 1992.
Use case driven development is a key characteristic of many
process models and frameworks such as ICONIX, the Unified
Process (UP), the IBM Rational Unified Process (RUP), and the
Oracle Unified Method (OUM). With its inherent iterative,
incremental and evolutionary nature, use case also fits well for agile

development.

Figure:1 Use Case

 Elements of a Use Case Diagram

A use case diagram captures the business processes carried out in


the system. Normally, domain experts and business analysts
should be involved in writing use cases. Use cases are created
when the requirements of a system need to be captured. A use
case diagram is quite simple in nature and depicts two types of
elements: one representing the business roles and the other
representing the business processes. Let us take a closer look at
use at what elements constitute a use case diagram.
15
Job Search Portal
 Use cases. A use case describes a sequence of actions that
provide something of measurable value to an actor and is drawn
as a horizontal ellipse.
 Actors. An actor is a person, organization, or external system
that plays a role in one or more interactions with your system.
Actors are drawn as stick figures.

 Associations. Associations between actors and use cases are


indicated in use case diagrams by solid lines. An association
exists whenever an actor is involved with an interaction
described by a use case. Associations are modeled as lines
connecting use cases and actors to one another, with an optional
arrowhead on one end of the line. The arrowhead is often used to
indicating the direction of the initial invocation of the relationship
or to indicate the primary actor within the use case. The
arrowheads are typically confused with data flow and as a result,
I avoid their use.
 System boundary boxes (optional). You can draw a rectangle
around the use cases, called the system boundary box, to
indicate the scope of your system. Anything within the box
represents functionality that is in scope and not anything outside
the box is. System boundary boxes are rarely used, although on
occasion I have used them to identify which use cases will be
delivered in each major release of a system.
 Packages (optional). Packages are UML constructs that enable
you to organize model elements (such as use cases) into groups.
Packages are depicted as file folders and can be used on any of
the UML diagrams, including both use case diagrams and class
diagrams. I use packages only when my diagrams become
unwieldy, which generally implies they cannot be printed on a

16
Job Search Portal
single page, to organize a large diagram into smaller ones.

Use Case Diagram for Administrator

Figure:2 Use Case Diagrams for Administrator

17
Job Search Portal
Use Case Diagram for User

Figure:3 Use Case Diagrams for User

Use Case Diagram for Online Jobs

18
Job Search Portal
Figure:4 Use Case Diagrams for Online Job

ER Diagram for Online Jobs

19
Job Search Portal
Figure:5 ER Diagram

An entity-relationship diagram (ERD) is a graphical representation of


an information system that shows the relationship between people,
objects, places, concepts or events within that system. An ERD is a
data modeling technique that can help define business processes
and can be used as the foundation for a relational database.
While useful for organizing data that can be represented by a
relational structure, an entity- relationship diagram cannot
sufficiently represent semi-structured or unstructured data, and an
ERD is unlikely to be helpful on its own in integrating data into a pre-
existing information system.

20
Job Search Portal
Activity Diagram

 Employer

Figure:6 Employer Activity Diagram

 Employee

Figure:7 Employee Activity Diagram

21
Job Search Portal
 Admin

Figure: 8 Admin Activity Diagram

22
Job Search Portal
 Data Dictionary

admin CREATE TABLE `admin` (


`id_admin` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
PRIMARY KEY (`id_admin`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT
CHARSET=latin1 COLLATE=latin1_swedish_ci

apply_job_pos CREATE TABLE `apply_job_post` (


t `id_apply` int(11) NOT NULL AUTO_INCREMENT,
`id_jobpost` int(11) NOT NULL,
`id_company` int(11) NOT NULL,
`id_user` int(11) NOT NULL,
`status` int(11) NOT NULL DEFAULT 0,
PRIMARY KEY (`id_apply`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
COLLATE=latin1_swedish_ci

cities CREATE TABLE `cities` (


`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(30) NOT NULL,
`state_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=48315
DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci

company CREATE TABLE `company` (

23
Job Search Portal
`id_company` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`companyname` varchar(255) NOT NULL,
`country` varchar(255) NOT NULL,
`state` varchar(255) NOT NULL,
`city` varchar(255) NOT NULL,
`contactno` varchar(255) NOT NULL,
`website` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`aboutme` varchar(255) DEFAULT NULL,
`logo` varchar(255) NOT NULL,
`createdAt` timestamp NOT NULL DEFAULT
current_timestamp(),
`active` int(11) NOT NULL DEFAULT 2,
PRIMARY KEY (`id_company`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT
CHARSET=latin1 COLLATE=latin1_swedish_ci

countries CREATE TABLE `countries` (


`id` int(11) NOT NULL AUTO_INCREMENT,
`sortname` varchar(3) NOT NULL,
`name` varchar(150) NOT NULL,
`phonecode` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=247 DEFAULT
CHARSET=utf8 COLLATE=utf8_general_ci

24
Job Search Portal
job_post CREATE TABLE `job_post` (
`id_jobpost` int(11) NOT NULL AUTO_INCREMENT,
`id_company` int(11) NOT NULL,
`jobtitle` varchar(255) NOT NULL,
`description` text NOT NULL,
`minimumsalary` varchar(255) NOT NULL,
`maximumsalary` varchar(255) NOT NULL,
`experience` varchar(255) NOT NULL,
`qualification` varchar(255) NOT NULL,
`createdat` timestamp NOT NULL DEFAULT
current_timestamp(),
PRIMARY KEY (`id_jobpost`)
) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT
CHARSET=latin1 COLLATE=latin1_swedish_ci

mailbox CREATE TABLE `mailbox` (


`id_mailbox` int(11) NOT NULL AUTO_INCREMENT,
`id_fromuser` int(11) NOT NULL,
`fromuser` varchar(255) NOT NULL,
`id_touser` int(11) NOT NULL,
`subject` varchar(255) NOT NULL,
`message` text NOT NULL,
`createdAt` timestamp NOT NULL DEFAULT
current_timestamp(),
PRIMARY KEY (`id_mailbox`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
COLLATE=latin1_swedish_ci

reply_mailbox CREATE TABLE `reply_mailbox` (

25
Job Search Portal
`id_reply` int(11) NOT NULL AUTO_INCREMENT,
`id_mailbox` int(11) NOT NULL,
`id_user` int(11) NOT NULL,
`usertype` varchar(255) NOT NULL,
`message` text NOT NULL,
`createdAt` timestamp NOT NULL DEFAULT
current_timestamp(),
PRIMARY KEY (`id_reply`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
COLLATE=latin1_swedish_ci

states CREATE TABLE `states` (


`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(30) NOT NULL,
`country_id` int(11) NOT NULL DEFAULT 1,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4121 DEFAULT
CHARSET=latin1 COLLATE=latin1_swedish_ci

users CREATE TABLE `users` (


`id_user` int(11) NOT NULL AUTO_INCREMENT,
`firstname` varchar(255) NOT NULL,
`lastname` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`address` text DEFAULT NULL,
`city` varchar(255) DEFAULT NULL,
`state` varchar(255) DEFAULT NULL,
`contactno` varchar(255) DEFAULT NULL,

26
Job Search Portal
`qualification` varchar(255) DEFAULT NULL,
`stream` varchar(255) DEFAULT NULL,
`passingyear` varchar(255) DEFAULT NULL,
`dob` varchar(255) DEFAULT NULL,
`age` varchar(255) DEFAULT NULL,
`designation` varchar(255) DEFAULT NULL,
`resume` varchar(255) DEFAULT NULL,
`hash` varchar(255) DEFAULT NULL,
`active` int(11) NOT NULL DEFAULT 0,
`aboutme` text DEFAULT NULL,
`skills` text DEFAULT NULL,
PRIMARY KEY (`id_user`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT
CHARSET=latin1 COLLATE=latin1_swedish_ci

Table:3 Data Dictionary

SYSTEM TOOL DEFINITION


27
Job Search Portal
 System Tools
In this project we have used the following tools for our system
requirement. Hardware :
Laptop
o Core i3

o Hard Disk 1TD

o RAM 4GB

Software:
1. Wamp Server
2. Bootstrap
3. Sublime Text
As a scripting language we have used PHP in backend and for the
front end coding we have used HTML/CSS (bootstrap)

 HTML

First developed by Tim Berners-Lee in 1990, HTML is short for


Hypertext Markup Language. HTML is used to create electronic
documents (called pages) that are displayed on the World Wide
Web. Each page contains a series of connections to other pages
called hyperlinks. Every web page you see on the Internet is
written using one version of HTML code or another.
HTML code ensures the proper formatting of text and images so
that your Internet browser may display them as they are intended
to look. Without HTML, a browser would not know how to display
text as elements or load images or other elements. HTML also
provides a basic structure of the page, upon which Cascading Style
Sheets are overlaid to change its appearance. One could think of
HTML as the bones (structure) of a web page, and CSS as its skin
(appearance).

28
Job Search Portal
 HTML tag
As seen above in the above HTML tag example, there are not many
components. Almost all HTML tags have an opening tag that contains
the name with any attributes and a close tag that contains a forward
slash and the name of the tag that is being closed. For tags that do
not have a closing tag like the <img> tag, it is best practice to end
the tag with a forward slash.
Each tag is contained within a less than and greater than angle
brackets and everything between the opening and closing tag is
displayed or affected by the tag. In the above example, the <a> tag

is creating a link called "Computer Hope" that is pointing to the


hope.html file.
Figure:9 HTML tag

 HTML5
is the update made to HTML from HTML4 (XHTML follows a different
version numbering scheme). It uses the same basic rules as HTML4,
but adds some new tags and attributes which allow for better
semantics and for dynamic elements that are activated using
JavaScript. With the increasing movement to keep structure and style
separate, a number of styling elements have been removed along
with those that had accessibility issues or saw very little use.
29
Job Search Portal
These following elements should no longer be used in
HTML code: <acronym>, <applet>, <basefont>, <big>, <center>,
<dir>, <font>, <frame>, <frameset>, <noframes>, <strike>, and
<tt>. HTML5 also simplifies the doctype declaration to the tag in the
following box
<! DOCTYPE html>

 What does an HTML5

As shown below the HTML5 code is very similiar to the earlier


HTML4 example, but is much cleaner with the revised doctype tag.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Example page</title>
</head>
<body>
<h1>This is a heading</h1>
<p>This is an example of a basic HTML page.</p>
</body>
</html>

 CSS

Stands for "Cascading Style Sheet." Cascading style sheets are


used to format the layout of Web pages. They can be used to
define text styles, table sizes, and other aspects of Web pages that
previously could only be defined in a page's HTML.
CSS helps Web developers create a uniform look across several
pages of a Web site. Instead of defining the style of each table and
each block of text within a page's HTML, commonly used styles
need to be defined only once in a CSS document. Once the style is
defined in cascading style sheet, any page that references the CSS
file can use it. In addition, CSS makes it easy to change styles

30
Job Search Portal
across several pages at once. For example, a Web developer may
want to increase the default text size from 10pt to 12pt for fifty
pages of a Web site. If the pages all reference the same style
sheet, the text size only needs to be changed on the style sheet
and all the pages will show the larger text.

While CSS is great for creating text styles, it is helpful for formatting
other aspects of Web page layout as well. For example, CSS can be
used to define the cell padding of table cells, the style, thickness,
and color of a table's border, and the padding around images or other
objects. CSS gives Web developers more exact control over how Web
pages will look than HTML does. This is why most Web pages today
incorporate cascading style sheets.

 What Is CSS

Most web pages are made from HTML, or hypertext markup


language. This is the standard way to decorate plain web text with
fonts, colors, graphic doodads, and hyperlinks (clickable text that
magically transports the user somewhere else). Nevertheless,
websites can get big. When that happens, HTML is a very hard way
to do a very easy thing. CSS (cascading style sheets) can make
decorating web sites easy again!
Think of CSS as a kind of computer dress code. CSS mainly does
just one thing: it describes how web pages should look. Even
better, CSS can be easily separated from HTML, so that the dress
code is easy to find, easy to modify, and can rapidly change the
entire look of your web site. Like a dress code at school, you can
change your CSS and the look of your students will change with it.
Style sheets allow you to rapidly alter entire websites as you please,

31
Job Search Portal
just as if a fashion craze allows people to change with the times yet
remain the same people.
A neat thing about CSS, is that it cascades. Each style you define
adds to the overall theme, yet you can make the most recent style
override earlier styles. For example, with CSS we can start by
saying we want all of our text 12px (12 units) high. Later we can
say we want it to be red, too. Still later, we can tell it we want one
phrase to be in bold or italics, or blue rather than red.

 Three Types of CSS

CSS comes in three types:


 In a separate file (external)
 At the top of a web page document (internal)
 Right next to the text it decorates (inline)

External style sheets are separate files full of CSS instructions


(with the file extension .css ). When any web page includes an
external stylesheet, its look and feel will be controlled by this CSS
file (unless you decide to override a style using one of these next
two types). This is how you change a whole website at once. And
that's perfect if you want to keep up with the latest fashion in web
pages without rewriting every page
Internal styles are placed at the top of each web page document,
before any of the content is listed. This is the next best thing to
external, because they're easy to find, yet allow you to 'override'
an external style sheet -- for that special page that wants to be a
nonconformist!
Inline styles are placed right where you need them, next to the
32
Job Search Portal
text or graphic you wish to decorate. You can insert inline styles
anywhere in the middle of your HTML code, giving you real
freedom to specify each web page element. On the other hand, this
can make maintaining web pages a real chore.

 CSS Instructions

Before we introduce CSS, let's briefly review HTML. A simple web


page is made of tags. Everything must go between the opening
and closing <html> tags. The <head> section contains invisible
directions called meta information. The <body> section is where
we put all the visible stuff. Here's a super simple HTML example:

33
Job Search Portal
Figure:10 CSS Instructions

 PHP (Hypertext Preprocessor)

PHP is a server-side scripting language designed for web


development but also used as a general-purpose programming
language. Originally created by Rasmus Lerdorf in 1994, the PHP
reference implementation is now produced by The PHP Group. PHP
originally stood for Personal Home Page, but it now stands for the
recursive backronym PHP: Hypertext Preprocessor.

PHP code may be embedded into HTML code, or it can be used in


combination with various web template systems, web content
management systems and web frameworks. A PHP interpreter
implemented as a module in the web server or as a Common Gateway
Interface (CGI) executable usually processes PHP code. The web
server combines the results of the interpreted and executed PHP
code, which may be any type of data, including images, with the
generated web page. PHP code may also be executed with a
command-line interface (CLI) and can be used to implement
34
Job Search Portal
standalone graphical applications.

The standard PHP interpreter, powered by the Zend Engine, is free


software released under the PHP License. PHP has been widely ported
and can be deployed on most web servers on almost every operating
system and platform, free of charge.
The PHP language evolved without a written formal specification or
standard until 2014, leaving the canonical PHP interpreter as ado
facto standard. Since 2014 work has gone on to create a formal PHP
specification.
During the 2010s there have been increased efforts towards
standardization and code sharing in PHP applications by projects
such as PHP-FIG in the form of PSR-initiatives as well as
Composer dependency manager and the Packages repository.

 History of PHP

PHP as it's known today is actually the successor to a product


named PHP/FI. Created in 1994 by Ramses lerdorf, the very first
incarnation of PHP was a simple set of Common Gateway Interface
(CGI) binaries written in the C programming language. Originally
used for tracking visits to his online resume, he named the suite
of scripts "Personal Home Page Tools," more frequently
referenced as "PHP Tools." Over time, more functionality was
desired, and Rasmus rewrote PHP Tools, producing a much larger
and richer implementation. This new model was capable of
database interaction and more, providing a framework upon which
users could develop simple dynamic web applications such as
guestbook’s. In June of 1995, Rasmus » released the source code
for PHP Tools to the public, which allowed developers to use it as
35
Job Search Portal
they saw fit. This also permitted - and encouraged - users to
provide fixes for bugs in the code, and to generally improve upon
it.

In September of that year, Rasmus expanded upon PHP and - for a


short time - actually dropped the PHP name. Now referring to the
tools as FI (short for "Forms Interpreter"), the new implementation
included some of the basic functionality of PHP as we know it today.
It had Perl- like variables, automatic interpretation of form variables,
and HTML embedded syntax. The syntax itself was similar to that of
Perl, albeit much more limited, simple, and somewhat inconsistent.
In fact, to embed the code into an HTML file, developers had to use
HTML comments. Though this method was not entirely well-
received, FI continued to enjoy growth and acceptance as a CGI tool
--- but still not quite as a language. However, this began to change
the following month; in October, 1995, Rasmus released a complete
rewrite of the code. Bringing back the PHP name, it was now (briefly)
named "Personal Home Page Construction Kit," and was the first
release to boast what was, at the time, considered an advanced
scripting interface. The language was deliberately designed to
resemble C in structure, making it an easy adoption for developers
familiar with C, Perl, and similar languages. Having been thus far
limited to UNIX and POSIX-compliant systems, the potential for a
Windows NT implementation was being explored.

 History of PHP Version


The code got another complete makeover, and in April of 1996,
36
Job Search Portal
combining the names of past releases, Rasmus introduced PHP/FI.
This second-generation implementation began to truly evolve PHP
from a suite of tools into a programming language in its own right. It
included built- in support for DBM, myself, and Postgres95
databases, cookies, user-defined function support, and much more.
That June, PHP/FI was given a version 2.0 status. An interesting fact
about this, however, is that there was only one single full version
of PHP 2.0. When it finally graduated from beta status in
November, 1997, the underlying parsing engine was already being
entirely rewritten.

37
Job Search Portal
Though it lived a short development life, it continued to enjoy a
growing popularity in still- young world of web development. In
1997 and 1998, PHP/FI had a cult of several thousand users around
the world. A Net craft survey as of May, 1998, indicated that nearly
60,000 domains reported having headers containing "PHP",
indicating that the host server did indeed have it installed. This
number equated to approximately 1% of all domains on the
Internet at the time. Despite these impressive figures, the
maturation of PHP/FI was doomed to limitations; while there were
several minor contributors, it was still primarily developed by an
individual.

Example #1 Example PHP/FI Code


<!--include /text/header.html-->
<!--getenv HTTP_USER_AGENT-->
<!--ifsubstr $exec_result Mozilla--> Hey, you are using Netscape!
<p>
<!--endif-->
<!--sql database select * from table where user='$username'-->
<!--ifless $numentries 1-->
Sorry, that record does not exist<p>
<!--endif exit-->
Welcome <!--$user-->!<p>
You have <!--$index:0--> credits left in your account.<p>

<!--include /text/footer.html-->

38
Job Search Portal
 PHP 3

PHP 3.0 was the first version that closely resembles PHP as it exists
today. Finding PHP/FI 2.0 still inefficient and lacking features they
needed to power an eCommerce application they were developing
for a university project, Andi Gutmans and Zeev Suraski of Tel Aviv,
Israel, began yet another complete rewrite of the underlying parser
in 1997. Approaching Rasmus online, they discussed various
aspects of the current implementation and their redevelopment of
PHP. In an effort to improve the engine and start building upon
PHP/FI's existing user base, Andi, Rasmus, and Zeev decided to
collaborate in the development of a new, independent
programming language. This entirely new language was released
under a new name, that removed the implication of limited
personal use that the PHP/FI 2.0 name held. It was renamed simply
'PHP', with the meaning becoming a recursive acronym - PHP:
Hypertext Preprocessor.
One of the biggest strengths of PHP 3.0 was its strong extensibility
features. In addition to providing end users with a mature interface
for multiple databases, protocols, and APIs, the ease of extending
the language itself attracted dozens of developers who submitted a
variety of modules. Arguably, this was the key to PHP 3.0's
tremendous success. Other key features introduced in PHP 3.0
included object-oriented programming support and a far more
powerful and consistent language syntax.
In June, 1998, with many new developers from around the world
joining the effort, PHP 3.0 was announced by the new PHP
39
Job Search Portal
Development Team as the official successor to PHP/FI 2.0. Active
development of PHP/FI 2.0, which had all-but ceased as of
November of the previous year, was now officially ended. After
roughly nine months of open public testing, when the
announcement of the official release of PHP 3.0 came, it was
already installed on over 70,000 domains around the world, and
was no longer limited to POSIX-compliant operating systems. A
relatively small share of the domains reporting PHP as installed
were hosted on servers running Windows 95, 98, and NT, and
Macintosh. At its peak, PHP 3.0 was installed on approximately 10%
of the web servers on the Internet.

 PHP 4

By the winter of 1998, shortly after PHP 3.0 was officially released,
Andi Gutmans and Zeev Suraski had begun working on a rewrite of
PHP's core. The design goals were to improve performance of
complex applications, and improve the modularity of PHP's code
base. Such applications were made possible by PHP 3.0's new
features and support for a wide variety of third party databases
and APIs, but PHP 3.0 was not designed to handle such complex
applications efficiently.

The new engine, dubbed 'Zend Engine' (comprised of their first


names, Zeev and Andi), met these design goals successfully, and
was first introduced in mid 1999. PHP 4.0, based on this engine,
and coupled with a wide range of additional new features, was
officially released in May 2000, almost two years after its
predecessor. In addition to the highly improved performance of this
version, PHP 4.0 included other key features such as support for
many more web servers, HTTP sessions, output buffering, more
40
Job Search Portal
secure ways of handling user input and several new language
constructs.

 PHP 5

PHP 5 was released in July 2004 after long development and


several pre-releases. Its core, the Zend Engine 2.0 with a new
object model and dozens of other new features, mainly drives it.
PHP's development team includes dozens of developers, as well as
dozens others working on PHP-related and supporting projects,
such as PEAR, PECL, and documentation, and an underlying
network infrastructure of well over one-hundred individual web
servers on six of the seven continents of the world. Though only an
estimate based upon statistics from previous years, it is safe to
presume PHP is now installed on tens or even perhaps hundreds of
millions of domains around the world.

 Advantages of PHP

 Open source: It is developed and maintained by a large


group of PHP developers, this will helps in creating a support
community, abundant extension library.

 Speed: It is relative fast since it uses much system resource.

 Easy to use: It uses C like syntax, so for those who are


familiar with C, it is very easy for them to pick up and it is
very easy to create website scripts.

 Stable: Since many developers maintain it, so when bugs


are found, it can be quickly fixed.

 Powerful library support: You can easily find functional


modules you need such as PDF, Graph etc.
41
Job Search Portal
 Built-in database connection modules: You can connect to
database easily using PHP, since many websites are
data/content driven, so we will use database frequently, this
will largely reduce the development time of web apps.

 Can be run on many platforms, including Windows, Linux and


Mac, it is easy for users to find hosting service providers.

42
Job Search Portal
 Disadvantages of PHP

 Security : Since it is open sourced, so all people can see the


source code, if there are bugs in the source code, it can be
used by people to explore the weakness of PHP
 Not suitable for large applications: Hard to maintain since it is
modular.
 Weak type: Implicit conversion may surprise unwary
programmers and lead to unexpected bugs. For example, the
strings “1000” and “1e3” compare equal because they are
implicitly cast to floating point numbers.

SOFTWARE USED

43
Job Search Portal
PHP/What is PHP?

 PHP files can contain text, HTML, CSS, JavaScript, and PHP code
 PHP code is executed on the server, and the result is returned to the browser
as plain HTML
 PHP files have extension ".php"

What Can PHP Do?

 PHP can generate dynamic page content


 PHP can create, open, read, write, delete, and close files on the server
 PHP can collect form data
 PHP can send and receive cookies
 PHP can add, delete, modify data in your database
 PHP can be used to control user-access
 PHP can encrypt data

With PHP you are not limited to output HTML. You can output images, PDF
files, and even Flash movies. You can also output any text, such as XHTML
and XML.
Why PHP?

 PHP runs on various platforms (Windows, Linux, Unix, Mac OS X, etc.)


 PHP is compatible with almost all servers used today (Apache, IIS, etc.)
 PHP supports a wide range of databases
 PHP is free. Download it from the official PHP resource: www.php.net
 PHP is easy to learn and runs efficiently on the server side
 PHP 7 has improved Error Handling
 PHP 7 supports stricter Type Declarations for function arguments
 PHP 7 supports new operators (like the spaceship operator: <=>)

44
Job Search Portal
Applications of PHP:
There is a wide range of application of php programming language in
several digital platforms.

Learning php is not the only thing, one should know how to deploy its several
functions correctly in a particular application and what are the different fields
where it is applicable.

Php programming language is not only limited to write server side scripts but it
can also be used to develop several GUI(Graphic User Interface) based
applications and creating Pdf files, php mailing lists, picture gallery etc.

Infact, there are many php frameworks which helps to build dynamic web
pages and web applications such as Laravel, CakePhp, CodeIgniter etc.

These php frameworks have several built in mechanisms which helps to create
pdf files, php mailing lists, picture gallery, templates, plugins etc.

Now we are going to provide you some of the important applications of php
programming language in different fields with their brief information.

What is XAMPP?

XAMPP is an abbreviation where X stands for Cross-Platform, A stands for


Apache, M stands for MYSQL, and the Ps stand for PHP and Perl,
respectively. It is an open-source package of web solutions that includes
Apache distribution for many servers and command-line executables along
with modules such as Apache server, MariaDB, PHP, and Perl.

XAMPP helps a local host or server to test its website and clients via
computers and laptops before releasing it to the main server. It is a platform
that furnishes a suitable environment to test and verify the working of projects
45
Job Search Portal
based on Apache, Perl, MySQL database, and PHP through the system of the
host itself. Among these technologies, Perl

is a programming language used for web development, PHP


is a backend scripting language, and MariaDB is the most vividly used
database developed by MySQL. The detailed description of these components
is given below.

Components of XAMPP

As defined earlier, XAMPP is used to symbolize the classification of


solutions for different technologies. It provides a base for testing of projects
based on different technologies through a personal server. XAMPP is an
abbreviated form of each alphabet representing each of its major
components. This collection of software contains a web server named
Apache, a database management system named MariaDB and scripting/
programming languages such as PHP and Perl. X denotes Cross-
platform, which means that it can work on different platforms such as
 Windows
 Linux
 macOS.

Many other components are also part of this collection of software and are
explained below.

1. Cross-Platform: Different local systems have different configurations of

operating systems installed in it. The component of cross-platform has


been included to increase the utility and audience for this package of
Apache distributions. It supports various platforms such as packages of
Windows, Linus, and MAC OS.
2. Apache: It is an HTTP a cross-platform web server. It is used worldwide

for delivering web content. The server


9 application has made free for
46
Job Search Portal
installation and used for the community of developers under the aegis of
Apache Software Foundation. The remote server of Apache delivers the
requested files, images, and other documents to the user.
3. MariaDB: Originally, MySQL DBMS was a part of XAMPP, but now it has
been replaced by MariaDB. It is one of the most widely used relational DBMS,
developed by MySQL. It offers online services of data storage, manipulation,
retrieval, arrangement, and deletion.
4. PHP: It is the backend scripting language primarily used for web
development. PHP allows users to create dynamic websites and applications.
It can be installed on every platform and supports a variety of database
management systems. It was implemented using C language. PHP stands for
Hypertext Processor. It is said to be derived from Personal Home Page
tools, which explains its simplicity and functionality.
5. Perl: It is a combination of two high-level dynamic languages, namely Perl 5
and Perl

6. Perl can be applied for finding solutions for problems based on system
administration, web development, and networking. Perl allows its users to
program dynamic web applications. It is very flexible and robust.
7. phpMyAdmin: It is a tool used for dealing with MariaDB. Its version 4.0.4 is
currently being used in XAMPP. Administration of DBMS is its main role.
8. OpenSSL: It is the open-source implementation of the Secure Socket Layer
Protocol and Transport Layer Protocol. Presently version 0.9.8 is a part of
XAMPP.

9. XAMPP Control Panel: It is a panel that helps to operate and regulate upon
other components of the XAMPP. Version 3.2.1 is the most recent update. A
detailed description of the control panel will be done in the next section of the
tutorial.
10. Webalizer: It is a Web Analytics software solution used for User logs and

47
Job Search Portal
provide details about the usage.
11. Mercury: It is a mail transport system, and its latest version is 4.62. It is a
mail server, which helps to manage the mails across the web.
12. Tomcat: Version 7.0.42 is currently being used in XAMPP. It is a servlet
based on JAVA to provide JAVA functionalities.
13. Filezilla: It is a File Transfer Protocol Server, which supports and eases
the transfer operations performed on files. Its recently updated version is
0.9.41.

INSTALLATION PROCESS OF XAMPP

As discussed in the earlier part of the tutorial, XAMPP is a cross-platform stack


of software that provides web solutions based on technologies like
 MariaDB
 Apache Server, Perl
 PHP
Further, it is supported by many file formats, such as .EXE, .ZIP and .7z- .7zip.
Out of the three, the .EXE extension is the easiest to operate upon while
installation. In this topic, we will discuss steps to be followed to download and
install XAMPP software successfully on your desktops. Since it is a cross-
platform software, it is supported by a number of operating systems, including
 Windows
 Linux
 MAC OS.
The process to be followed for installation of XAMPP will be explained for all
three operating systems:

48
Job Search Portal
Software Applications and Hardware Requirements

Software Application configuration

 Apache Web Server 2.4.27

 PHP 7.0.23 with PhpMyAdmin

 MySQL server 5.7.19

 Composer version 1.6.2

 npm version 5.6.0

 Visual Studio Code Editor and Notepad ++ Text editor

 Command Prompt

Hardware configuration
 Intel Core i5-6200U Processor CPU 2.30GHz

 8 GB RAM

 64-Bit Operating System

 500 GB Hard Disk Drive

 Monitor 1366 X 768

 Server Environment

 Hardware Configuration

 Apache installed Processor 2.0 Hz and above

49
Job Search Portal
The installation process in Windows

STEP 1- Open any web browser and visit


https://www.apachefriends.org/index.html
On the home page, you can find the option to download XAMPP for three
platforms- Windows, MAC, and Linux.
Click on XAMPP for Windows. The latest version available on the website is
7.4.5.
As

soon as you click on it, a message displaying the automatic start of download
appears on the screen.

50
Job Search Portal
Figure:11 XAMP Application Download

STEP 2- After the download is completed, double click the .exe extension file
to start the process of installation.

STEP 3- A pop-up screen with the message asking you to allow to make
changes on your desktop appears. Click "YES" to continue the process.

STEP 4- Click to Allow access or deactivate the firewall and any other
antivirus software because it can hamper the process of installation. Thus, it is
required to temporarily disable any antivirus software or security firewall till the
time all the XAMPP components have been installed completely.

STEP 5- Just before the installation, a pop-up window appears with a warning
to disable UAC. User Account Control (UAC) interrupts the XAMPP
installation because it restricts the access to write to the C: drive. Therefore, it
is suggested to disable it for the period of installation.

STEP 6- After clicking the .exe extension file, the XAMPP setup wizard opens
spontaneously. Click on "NEXT" to start the configuration of the settings.

STEP 7- After that, a 'Select Components' panel appears, which gives you the

51
Job Search Portal
liberty to choose amongst the separate components of the XAMPP software
stack for the installation. To get a complete localhost server, it is
recommended to install using the default options of containing all available
components. Click "NEXT" to proceed further.

STEP 8- The setup is now ready to install, and a pop-up window showing the
same appears on the screen. Click "NEXT" to take the process forward.

STEP 9- Select the location where the XAMPP software packet needs to be
installed. The original setup creates a folder titled XAMPP under C:\ for you.
After choosing a location, click "NEXT".

STEP 10- After choosing from all the previously mentioned preferences (like
language and learn more bitnami dialogue box) click to start the installation.
The setup wizard will unpack and install the components to your system. The
components are saved to the assigned directory. This process may takes a
few minutes to complete. The progress of the installation in terms of
percentage is visible on the screen.

STEP 11- After the successful installation of the XAMPP setup on your
desktop, press the "FINISH" button.

On clicking the FINISH button, the software automatically launches, and the
CONTROL PANEL is visible. The image below shows the appearance of the
final result.

Testing XAMPP Installation

Xampp allows us to work on a local server and test a local copy of websites
using PHP code and mysql database. Any local copy can be accessed on the

52
Job Search Portal
browser using a URL if xampp is active. XAMPP is a cross-platform software
so that it can be used on any operating system.

XAMPP Control Panel:

XAMPP Control Panel provides us with complete control over all xampp
components. This panel can be used to start and stop various modules.
Modules available on xampp control panel are:-

 Apache
 MySQL
 FileZilla
 Mercury
 Tomcat

Testing XAMPP Installation:

In the control panel, click on the start action for the Apache module.
This will instruct XAMPP to initiate the Apache webserver.
Now open any web browser and type: http://localhost or 127.0.0.1, you should
see the XAMPP screen. It means you have XAMPP installed properly on your
system.
Follow these steps to check whether the XAMPP server is configured
correctly or not, and we can create a PHP test page. This page can be stored
under XAMPP's localhost and can run on the browser.

Steps to create a PHP page

 Open the XAMPP directory present in C Drive and choose the htdocs
folder (C:\xampp\htdocs for standard installations). This directory contains
53
Job Search Portal
all the data required to run a web page.
 Please create a new folder Test for the test page in htdocs.
 Open notepad and type the following code and save the file in the Test
folder.
 Make sure you have saved the file with .phpextension.

Evaluation and Testing

Introduction

Audit and validate the software in a system is called software


testing. Testing is done by using some software testing automation
tools.

Objectives of the Testing

1. In order to ensure that the software is designed according to


customer requirements.

2. Deliver an error free system.

3. To ensure validation and data verification is done properly.

4. To ensure the efficiency of the system by checking the quality of the

54
Job Search Portal
system.

UI Testing

Front end is very important for web based applications. User


Interface can be tested by using black box testing methodology.

Browser Testing

Web browser level competencies are highly recommended for any


web applications. Application is tested on different web browsers
(Google Chrome, Firefox, IE, Opera and etc). Testing should be
carried forward to different versions as well.

Chrom Firefox IE Opera


e
Home page Pass Pass Pass Pass
About us page Pass Pass Pass Pass
Sign up page Pass Pass Pass Pass
Sign in Page Pass Pass Pass Pass
Search page Pass Pass Pass Pass
User Page Add / Update/ Pass Pass Pass Pass
Delete
Skill page Add / Update/ Pass Pass Pass Pass
Delete
Table:4 Web browser testing

Test cases used to test sign-up/sign-in UI and function

55
Job Search Portal
User registration (sign up) process is a basic functional requirement
process in the online job portal system. All users should enter their First
name, Last name and valid email address along with desired password
to register with the system.

Tes Test case Expected output from Succes


t ID system s/Fail
1 New user tries to Form validation rules Succes
register with blank reject system input s
First name, Last and display error
name and email
address
2 New user input Form validation Succes
numeric character display error and s
for First name and reject input
Last name
3 New user Adds user details Succes
registration details with proper s
with valid email validation, and update
address and other database
information
4 User tries existing Return login page Succes
email address again to login and s
to register validation error occur
5 Forgot password Forgot password ask Succes
to input email address s
and sends reset
password to email
6 User provides Form verification Succes
invalid username returns an error and s
and password reject to login
7 User tries blank Form validation Succes
username and blank sends error s
password to login message and login
failed
8 User tries with Form verification Succes
correct failed and login s
username but rejected
wrong password

56
Job Search Portal
9 User tries with Form verification Succes
wrong username failed and login s
and correct rejected
password
10 Correct email and Form verification Succes
password success and login s
success
Table:5 Test cases used to test sign-up/sign-in UI and function

Test cases used to test on search function

Search function is a preliminary task for Online Job Portal. Search box
function is created to search any skills, first name, last name, or
anything by district.

Tes Test case Expected output from Succes


t ID system s / Fail
1 Click “Search” Form validation rules Succes
button without type reject for search and s
anything display error
2 Type unavailable Blank page loaded and Succes
skill, first / last there is no such a s
name word found message
display
3 Type numbers on Form validation rules Succes
search box reject for search and s
display error
4 Type skill “PHP” Display all the user Succes
name with skill PHP s
and related skill on
screen

Test cases to post jobs

Job post is the function done by a company human resource person, or


job agencies. Once a user posts a job, other users who are searching for
a job (candidates) could able to view. Job post user can edit and update

57
Job Search Portal
or delete if a job is not reliable or expired.

Test Test case Expected output from Success


ID system / Fail
1 Click “Submit” Form validation rules Success
button without type reject for post and
anything display validation
errors
2 Type numeric value Input box does not Success
for title of the post accept any numeric
value only accepting
alphabet characters (A-
Z or a-z)
3 Type some alphabet Input validation does Success
characters for not accept any
budget field alphabet value and
only accepting numeric
(0-9) values
4 Edit and update job By clicking “Edit Post” Success
posting button user can open
the view post in
editable mode and
after editing when user
press “Submit” button,
it will update
5 Delete any post By clicking on Success
“Delete” button
confirmation message
will be
displayed once
confirm post get
deleted
6 Proofreading before “Preview” button is Success
post a job available to view post
before submit
7 View all the posts By clicking “My Post” Success
made by user option user can view all
the posts made by
him/her
Table:7 Test cases to post jobs

58
Job Search Portal
Test cases for Administrator access functions

Administrator role is a high priority role in this system. Administrator can


register as a normal user and need to send request to super admin in
order to become administrator or super admin can decide to make a
user as an administrator.

Test Test case Expected output from Success /


ID system Fail
1 Add/Edit/Delete a post Admin can add/edit/delete Success
job post
2 Add / Edit / Delete Add new skills, Edit and Success
Skills Update skills or Delete if
any irrelevant
skills add by other users
3 Interview schedule Admin can schedule the Success
interview for the user
Table:8 Test cases for Administrator access functions

User acceptance test

User acceptance test is an important testing method for the system


deployment. Instantly got reviews from the end users and other people
who used to work with same system domain. Usability test form results
will send to the development team to fix errors and modify with better
suggestions.

59
Job Search Portal
FEATURE

Main Features (For All Users)

User Registration & Login

1. Separate login for:

● Job Seekers

● Employers/Recruiters

● Admin

2. Secure password hashing

Job Search Functionality

1. Keyword-based job search

2. Filters by:

● Category/Industry

● Location

● Job Type (Full-time, Part-time, Remote)

● Salary Range

Job Listings

1. Display of all active job postings

2. Pagination and sorting

3. Job details page with description, company info, skills, etc.

Features for Job Seekers

1. Create & Edit Profile

60
Job Search Portal
2. Upload Resume (PDF, DOCX)

3. Apply to Jobs Directly

4. Save Jobs for Later

5. Track Application Status

6. Receive Job Alerts / Email Notifications

7. Download Offer Letters (optional)

Features for Employers/Recruiters

1. Register & Login as Employer

2. Create Company Profile

3. Post New Jobs

4. View Applied Candidates

5. Search Job Seekers by Skills or Resume

6. Shortlist Candidates

7. Send Interview Calls / Offer Letters

8. Job Posting Expiry Management

Admin Panel Features

1. Manage All Users (Employers & Seekers)

2. Add / Delete / Edit Job Categories

3. Approve or Reject Job Posts

4. Manage Job Listings

5. View Reports & Analytics

61
Job Search Portal
MODULES AND FUNCTIONALITIES

 Registration

In the registration module job seeker have to include all the details like
personal details, contact details, education details like school ,
graduation, post-graduation, course certification details etc. Also job
seeker has to add his experience details, job requirements and
uploading resume and photo. While job recruiter has to add his contact
details and organization details for the registration and upload
company logo and profile.

 Job Post

Employer can post a job by providing all the job details like
qualifications details, requirements for the job, designation details, job
salary details and also provide type of jobs. They also can delete the
jobs whenever they want. After successfully posted a job it will be
available for all the job seekers who are searching for a job. And it will
be available on home page as recently posted job.

 Search

Employee Can Search job according to their interest. And also apply for
that job or they can add into wishlist for future whenever they find for
job for that company then they easily find out company from wishlist.
Employer search candidates for their requirements using keyword like
technology. And also can communicate with employee for their any
other query or information via send message .and also employer see
the resume of applicants.

 Manage Account

While employers can manage their job postings. And providing all the
job details like qualifications details, requirements for the job,
designation details, job salary details and also provide type of jobs.
They also can delete the jobs whenever they want. While employee can

62
Job Search Portal
manage their wishlist, applied for job and also getting full details of
employer. Employees can delete their account anytime. Also they can
apply for the different jobs according to their interests.

SNAPSHOTS

63
Job Search Portal
 Home Page

Figure:12 Home Page

Admin Pages

64
Job Search Portal
 Home Page

Figure:13 Admin Home Page

 Active Jobs Page


65
Job Search Portal
Figure:14 Active Jobs

66
Job Search Portal
 Candidates Database

Figure:15 Candidates Database

67
Job Search Portal
 Companies

Figure:16 Companies

68
Job Search Portal
 Job Search Page

Figure:17 Job Search Page

69
Job Search Portal
 Candidate / Company Login Page

Figure:18 Login Page

70
Job Search Portal
 Registration Page

Figure:19 Registration Page

71
Job Search Portal
 User Resistration

Figure:20 User Registration

72
Job Search Portal
 Company Resistration

Figure:21 Company Registration

Candidate Pages
73
Job Search Portal
 Edit Profile

Figure:22 Edit Profile

74
Job Search Portal
 Mail Box

Figure:23 Mail Box

75
Job Search Portal
 Compose New Message

Figure:24 Compose New Message

76
Job Search Portal
 User’s Settings

Figure:25 User’s Settings

77
Job Search Portal
Company’s Pages

 Dashboard

78
Job Search Portal
Figure:26 Company Dashboard

 Company Profile

79
Job Search Portal
Figure:27 Company Profile

 Create Job Post

Figure:28 Create Job Post


80
Job Search Portal
 Post’s Job

Figure:29 Post’s Job

81
Job Search Portal
 Company’s Mailbox

82
Job Search Portal
Figure:30 Company‘s Mailbox

 Compose New Message

83
Job Search Portal
Figure:31 Compose New Message

 Company’s Settings

84
Job Search Portal
Figure:32 Company‘s Settings

 Resume Database

Figure:33 Company‘s Settings


85
Job Search Portal
ADVANTAGE

For Job Seekers:

1. Easy Access to Opportunities:

● Access thousands of job listings in one place.


● Filter jobs based on location, skills, experience, and more.

2. User-Friendly Interface:

● PHP-based portals are often simple and intuitive to navigate.

3. Profile and Resume Management:

● Users can upload, update, and manage their resumes anytime.


● Auto-suggestions based on skills and preferences.

4. Job Alerts and Notifications:

● Email or in-site alerts for matching job openings.

5. Time and Cost Efficiency:

● No need to visit multiple company websites.


● Free registration and job application.

For Employers/Recruiters:

1. Wider Reach to Candidates:

● Post vacancies and reach thousands of job seekers instantly.

2. Applicant Tracking System:

● View, sort, and filter candidates based on criteria.

3. Cost-Effective Hiring:

● Reduce the cost of traditional hiring methods like ads or consultants.


86
Job Search Portal
4. Manage Job Listings Easily:

● Add, edit, and delete job postings through a user-friendly dashboard.

For Developers (PHP-Specific Advantages):

1. Open Source & Budget-Friendly:

● PHP is free to use, making the development cost-effective.

2. Easy Integration:

● Integrate with databases (like MySQL), APIs, and third-party services easily.

3. Scalability:

● Suitable for small portals and expandable for large enterprise systems.

4. Community Support:

● Large PHP developer community provides support and resources.

Educational Benefits:

● Learn real-world application development.


● Practice MySQL, CRUD operations, session management, etc.
● Improve understanding of client-server architecture.

DISADVANTAGES
87
Job Search Portal
Security Risks
 PHP projects may lack advanced security features.

 Vulnerable to common threats like SQL injection, XSS, CSRF, etc., if not
properly coded.

Scalability Issues
 Basic PHP applications may not scale well with increasing users, job
listings, or employers.

 Lacks support for high-traffic scenarios without a robust backend


infrastructure.

Poor User Interface (UI/UX)


 Many student/academic projects lack responsive design or user-friendly
navigation.

 Can frustrate users and lead to poor user engagement.

Limited Functionality
 Often lacks features like resume parsing, advanced filters, AI-based
matching, and real-time notifications.

 May not support integration with email or SMS services without external
tools.

Maintenance Overhead
 Code may be hard to maintain or upgrade, especially if not using
frameworks like Laravel or CodeIgniter.

 Adding new features may require rewriting large portions of code.

No Mobile App Integration


 Most PHP job portals are web-only.

 Doesn’t support Android/iOS apps unless APIs are built, which increases
complexity.

Database Limitations
 Using MySQL or SQLite without optimization can slow performance.

 Poor database schema design can lead to redundancy and slow queries.
88
Job Search Portal
CONCLUSION

In the Job Search Portal built with PHP and MySQL offers a robust platform that
simplifies and modernizes the hiring process. It benefits both job seekers and
employers by providing features such as user registration, resume uploads, job
postings, application tracking, and search filters based on skills, location, and
experience. The portal reduces time and effort traditionally required in recruitment
by centralizing all activities in one dynamic system. Employers can easily
manage vacancies and applicants, while candidates have access to a wide range
of job opportunities from anywhere. The project showcases the practical
application of web development technologies in solving real-world problems and
highlights the potential for further enhancement with features like email
notifications, chat systems, and AI-based job recommendations. It serves as a
scalable foundation for future job platforms.

FUTURE ENHANCEMENTS

89
Job Search Portal
Future enhancements for the Online Job Search Portal built with PHP can greatly
improve functionality, user engagement, and platform scalability. Implementing
AI-driven job recommendations based on user behavior and skills can
personalize the experience. Advanced resume parsing using Natural Language
Processing (NLP) will help employers filter applicants efficiently. Integration of
video interview scheduling and real-time chat features will streamline
communication between recruiters and job seekers.

Support for mobile applications (Android/iOS) and progressive web apps (PWA)
can make the platform more accessible. Multi-language support and location-
based job suggestions will broaden the portal’s reach. Adding secure payment
gateways for premium services and verified employer profiles can enhance trust
and generate revenue.

A robust analytics dashboard for admins and employers can provide valuable
insights into job postings, applications, and user engagement. Additionally,
implementing GDPR-compliant data privacy measures, cloud hosting support,
and scalable database architecture will ensure long-term reliability and growth of
the system.

REFERENCE

Websites
90
Job Search Portal
 https://ijarcce.com/upload/2017/may-17/IJARCCE%2019.pdf .
 https://www.naukri.com/account/register/basicdetails
 https://corp.freshersworld.com/post-job?src=homeheader
 https://www.freshersworld.com/
 https://www.irjmets.com/uploadedfiles/paper//
issue_4_april_2024/53278/final/fin_irjmets1715268322.pdf
 https://www.ijprems.com/uploadedfiles/paper/
issue_4_april_2025/40662/final/fin_ijprems1746187451.pdf

Youtube

 https://www.youtube.com/watch?
v=1ROco4eo5cc&list=PLEtkoO2np9syrpHVx2jIIvP5HtiWHrfvW
 https://www.youtube.com/watch?
v=vMk_62XNdPg&list=PL4HegTSNb5KEuVLeB9dDvENr2lqbsSSK3
 https://www.youtube.com/watch?v=3JW5kjjHM-Y&t=318s
 https://www.youtube.com/watch?v=ppn7kBqGMUU
 https://www.youtube.com/watch?v=ppn7kBqGMUU

91
Job Search Portal

You might also like