Академический Документы
Профессиональный Документы
Культура Документы
This project, web based recruitment portal, has been carried out in accordance with
This work is dedicated to God Almighty, the creator of the whole universe, the
Our profound gratitude goes to our parents and guardians who has made it possible
for us to come this far in our academic pursuit, without them, this project and other
academic activities would not have been possible. We also would like to register our
sincere appreciation to our project supervisor, Dr. Ashioba Nwanze (Phd) for his
Our friends who contributed to the writing of this project either by sharing of ideas,
provision of materials and moral support are also not left. We love you all.
ABSTRACT
Web based recruitment portal is a web based application that monitors the
recruitment process of any organization online. It has the features that allow the
user to apply for job online. When application is sent through the web portal, based
on the requirement of the said job description, the portal screens the candidate and
determines whether or not the applicant is qualified. If the applicant is not qualified,
the portal rejects the application and returns a feedback to the user, else the
applicants information will be sent to the portals database, where the
administrator can access notify the applicant of a date of an interview. The web
based recruitment portal is or should be recommended for every organization in
their personnel department because it will ease the stress of the personnel managers
and as well help them to select the suitable people to suit the position. This web
portal will be developed using dream weaver platform and the scripting writing with
PHP server technology. The database will be administered using mySQL.
KEY WORDS; Web, Recruitment, Portal, Application, Sublime, Database, mySQL,
Server.
TABLE OF CONTENT
Cover page
Title pagei
Approval Pageii
Dedicationiii
Acknowledgement..iv
Abstract.v
Table of Contents..vi
List of Figuresvii
4.3 Implementation
4.4 Algorithm/Pseudo-Codes ..
4.5 Implementation Input
4.6 Implementation Output .
4.7 System Evaluation .
4.8 Discussion of Result ..
INTRODUCTION
In Nigeria, public service organizations have had little need to worry about market
share and increasing competition since they operate in a monopolistic environment.
But in recent time, the emphasis on New Public Management (NPM)/Public Sector
Management (PSM) approaches has forced public organizations to pay closer
attention to their service delivery as consumers have begun to expect and demand
more for their tax nairas.
Recruitment is described as the set of activities and processes used to legally obtain
a sufficient number of qualified people at the right place and time so that the people
and the organization can select each other in their own best short and long term
interest. In other words, the recruitment process provides the organization with a
pool of potentially qualified job candidates from which judicious selection can be
made to fill vacancies. Successful recruitment begins with proper employment
planning and forecasting. In this phase of the staffing process, an organization
formulates plans to fill or eliminate future job openings based on an analysis of
future needs, the talent available within and outside of the organization, and the
current and anticipated resources that can be expended to attract and retain such
talent. Also related to the success of a recruitment process are the strategies an
organization is prepared to employ in order to identify and select the best candidates
for its developing pool of human resources. Organizations seeking recruits for base-
level entry positions often require minimum qualifications and experience. These
applicants are usually recent high school or university/technical college graduates,
many of whom have not yet made clear decisions about future careers or are
contemplating engaging in advanced academic activities. At the middle levels,
senior administrative technical and junior executive positions are often filled
internally. The push for scarce, high-quality talents, often recruited from external
sources, has usually been at the senior executive levels. Most organizations utilize
both mechanisms to effect recruitment to all levels.
Successful recruitment involves the several processes which include therefore the
following:
In our society today, the issue of managing human resources in firms, companies or
organizations is a great challenge to the management.
The high rate of unemployment in the society today is the main motivation behind
problem we face today in our society. This study will try to bridge this wide gap
between the employers and job seekers by serving as a platform that links/connects
both parties.
The aim of this study is to design and develop a recruitment management system
that will manage recruitment processes between applicants and the firm or
organization by using the application to be developed as a platform to connect the
user (job seeker) and organization (employer).
Using schools and some shops around, which we have gone to, based on the current
human resource management that is used in the organization, which the mode of
operation is still done manually, the firms or organizations enlistment processes are
still done by recruitment manager which a certain level of bias will be experienced
during the period of recruitment,. The applicant, personnel well-being is not
properly planned and managed and so doing the best of the applicant or personnel
cannot be obtained. The new system that is to be developed is to manage the
recruitment process starting from the applicant, personnel and ending with the firm
or organization herself.
The scope of this stud will include the processes involved in recruitment or
employing personnel into the organization or company or firm, where the firm or
organization or company would have posted job vacancies on the world wide web
(www) online and offline for the applicant to apply for which the recruitment
manager will then manage the recruitment processes in the organization company or
firm. This also involve documentation, sourcing prospective candidate, interview
tracking processes and offer and hire processes.
Also state out other important modules and sub-modules of recruitment management
system. If further research is to be carried out, the segment of human resources
which will help the recruitment management system function properly and more
effectively will be mentioned in this project work without deep explanation of them.
If this prototype is fully developed will be very useful in many areas such as:
a. It will ease the work of the personnel department of the any organization.
b. It will create more employment opportunities for our youths.
c. The government can also review and deploy it to other sectors.
d. Private individuals can also find it interesting
JB: Job Management: This involves the operations of creating job interviews test
and grading applicant, and selecting applicant by grades.
WEB: This refers to a vehicle for accessing and sharing of information online.
METADATA: This is loosely defined as data about data. It is a concept that applies
mainly to electronically archived data and is used to describe the definition, structure
and administration of data file with all contents in context to ease the use of the
captured and archived data for further use.
LITERATURE REVIEW
According to Nadler Ed, (1984), recruitment is the premier major step in the
selection process in the organization. It has been explained as an activity directed
towards obtaining appropriate human resources whose qualification and skills match
functions of the relevant posts in the organization. Its importance cannot be over
emphasized and can be best described as the heart of the organization.
Elwood F, etal (1996), said that the process of recruiting new staff is a critical one.
To a large extent, the success of an organization depends on it. This so because,
when the right crop of manpower is enrolled, it makes for a better work output. On
the other hand, employing the wrong candidate will mar the future of that
organization.
Odiagba E, (2004), said that in many organization, enough and quality time is
allocated to this exercise, in order to ensure a successful outing.
The following are some processes and stages by some companies, which may also
be termed as standard.
From the journal of vocational and technical education vol. 12, induction often
begins before the person has actually started, in that the organization will supply
material as part of an initial 'information pack', or with the invitation to interview, or
with the letter of job offer. This may be particularly important in jobs of a technical
nature, where it is helpful for the new starter to be as well informed as possible about
that side of the work. Clearly, learning the particular projects and initiatives will
have to be done in the workplace but much 'mental preparedness' can be
undertaken in advance. The Company Handbook, and the Written Statement of
Employment Particulars, can also provide essential information about the
organization and the job.
According to Kelly D, (2001), a good reception, with the line or personnel manager
and spending time with the new employee, is important on the first day. There may
be further documentation to complete, perhaps a preliminary discussion about
training either immediately or in the future, an explanation of the development
opportunities that are available, and of course enough information to give the new
starter a good grasp of the working practices of the organization.
According to Elwood F, etal (1996), any particular health and safety requirements
should be made known, together with details of whom to go to for help and advice
during the course of their employment. Many companies use a 'buddy' system,
where an experienced worker is nominated to assist the new recruit in all the day-to-
day questions that may arise.
Kelly D, (2001), said that the induction programme may be spread over several days
or weeks, and may incorporate specific job training, but the following points should
be borne in mind:
All employees need to be able to work in a safe and healthy manner.
Recruitment and placement procedures should ensure that employees
(including managers) have the necessary physical and mental abilities to do
their jobs, or can acquire them through training and experience. Employers
should have systems in place to identify health and safety training needs
arising from recruitment.
People can take in only so much information at any given time, and should
not be overloaded. It is important that health and safety is introduced in a
structured way.
If there are special health and safety requirements, make sure the new starter
fully understands their importance - otherwise there is the risk of being
exposed to unnecessary danger or endangering their co-workers. All
employees must know what to do in the event of a fire or other emergency.
Setting out the plan of induction at the beginning avoids the problems that can
arise in trying to arrange time in the future, when the employee is established
in the job.
Odiagba E, (2004), also added that the following should not be forgotten;
Dont forget induction needs for shift workers or night workers. They may
need some time on days, or modified shifts, to cover the induction period and
Even if the induction period covers job training, try to let new starters do some
practical work, as this will assist their learning and enable them to relate what
they are being taught to what they will be doing.
Popoola S.O, (2000), said that the outcome of induction timetable is that the new
starter should have a good feel for the organization, and should continue to feel that
they made the right decision in joining the firm.
According to Nadler Ed, (1984), induction need not be a very formal process but it
needs to be properly managed. In many organizations it will be carried out
informally by the new starter's manager or supervisor on a day-to-day basis.
Nevertheless, having a structured checklist to follow is useful for both parties. Most
induction will consist of meeting and talking with new colleagues, watching
activities and asking questions. It may be appropriate to provide certain information
in written form; and if the organization has a company handbook, this can often act
as an aide memoire covering important aspects of the company organization and
how it functions.
From journal of vocational and technical education vol. 12, if a group of new
employees is recruited at the same time, it may make sense to hold group induction
sessions on the common topics to be covered - discussion, videos, slide presentations
can all add to the effectiveness of the programme.
McDonald I, (1995), said that even the people transferring from one part of the
organization to another need induction into their new area. Don't assume that they
will know the relevant people or the skills they will need in the new job. However,
they may need a more individually tailored induction programme to meet their
particular needs.
2.2 IMPLICATIONS OF POOR RECRUITMENT BY LINE MANAGERS
McLean G.N, etal (2002), said that there is need to have a system that assists to
access candidates throughout. This reduces the odds that will have to repeat this
extensive, time consuming process.
According to Maedche A etal (2002), a web portal, also known as a links page,
presents information from diverse sources in a unified way. They go beyond static
web pages and require a sign-on which links to some knowledge the organization
has collected about the visitor. That knowledge allows portals to be tailored to meet
individuals need.
From portal business dictionary (2009), portals go beyond the delivery of static
information and often provide access to services offered by the organization. A
portal makes network resources (application, databases, etc) available to end users.
The user can access the portal via a web browser, WAP enabled phone, pager and
other devices. Portals include network enabling services such as e-mail, chart rooms
and calendars that interact seamlessly with other applications. Most web portals
allows for adding personal links as portal providers realize that user may have other
interest beyond the organizational boundaries. Personalization will make the portal
more appealing to the user or make it sticker.
A portal allows me to enter my own data space, a space where I can view and do
what I want to do and not what someone else think that I want or should do.
Examples of web portals are dspgportal, Thrashbarg, AOL, iGoogle, MSNBC,
Netvibes, and Yahoo!.
Maedche A etal (2003), said that in the late 1990's the web portal was a hot
commodity. After the proliferation of web browsers in the late-1990s many
companies tried to build or acquire a portal, to have a piece of the Internet market.
The web portal gained special attention because it was, for many users, the starting
point of their web browser. Netscape became a part of America Online, the Walt
Disney Company launched Go.com, and Excite and @Home became a part of
AT&T during the late 1990s. Lycos was said to be a good target for other media
companies such as CBS.
The portal craze, with "old media" companies racing to outbid each other for Internet
properties, died down with the dot-com flameout in 2000 and 2001. Disney pulled
the plug on Go.com, Excite went bankrupt and its remains were sold to iWon.com.
Some portal sites such as Yahoo! and those others first listed in this article remained
successful.
According to portal business dictionary, the following are the types of portal.
2.5.1 Personal portals
A personal portal is a site on the World Wide Web that typically provides
personalized capabilities to its visitors, providing a pathway to other content. It is
designed to use distributed applications, different numbers and types of middleware
and hardware to provide services from a number of different sources. In addition,
business portals are designed to share collaboration in workplaces. A further
business-driven requirement of portals is that the content be able to work on multiple
platforms such as personal computers (PCs), personal digital assistants (PDAs), and
cell phones/mobile phones. Information, news, and updates are examples of content
that would be delivered through such a portal. Personal portals can be related to any
specific topic such as providing friend information on a social network or providing
links to outside content that may help others beyond your reach of services. Portals
are not limited to simply providing links. Information or content that you are putting
on the internet creates a portal, or a path to new knowledge and/or capabilities.
A vertical portal focus on a specific industry, and the channels offered are industry
specific. For example, an educational portal will have channels that provide
educational information and services from many resources.
Along with the development and success of international personal portals such as
Yahoo!, regional variants have also sprung up. Some regional portals contain local
information such as weather forecasts, street maps and local business information.
Another notable expansion over the past couple of years is the move into formerly
unthinkable markets.
"Local content - global reach" portals have emerged not only from countries like
Korea (Naver), India (Rediff), China (Sina.com), Romania, Greece (in.gr) and Italy,
but in countries like Vietnam where they are very important for learning how to
apply e-commerce, e-government, etc. Such portals reach out to the widespread
Diasporas across the world.
VIP is a specialized entry point to a specific market place and/or industry niche. It
provides news, editorial content, digital publications and e-commerce capabilities.
It provides dynamic multi-media including social networking, video posting and
blogging.
The search portal aggregate results from several engines into one page.
At the end of the dot-com boom in the 1990s, many governments had already
committed to creating portal sites for their citizens. In the United States the main
portal is USA.gov in English and GobiernoUSA.gov in Spanish in addition to portals
developed for specific audiences such as Disability.gov; in the United Kingdom the
main portals are Directgov (for citizens) and businesslink.gov.uk (for businesses).
The official web portal of the European Union is Europa (web portal). Europa links
to all EU agencies and institutions in addition to press releases and audiovisual
content from press conferences. All relevant health topics from across Europe are
gathered in the Health-EU portal.
2.4.7 Corporate web portals
Corporate intranets became common during the 1990s. As intranets grew in size and
complexity, webmasters were faced with increasing content and user management
challenges. A consolidated view of company information was judged insufficient;
users wanted personalization and customization. Webmasters, if skilled enough,
were able to offer some capabilities, but for the most part ended up driving users
away from using the intranet.
Many companies began to offer tools to help webmasters manage their data,
applications and information more easily, and through personalized views. Portal
solutions can also include workflow management, collaboration between work
groups, and policy-managed content publication. Most can allow internal and
external access to specific corporate information using secure authentication or
single sign-on.
JSR168 Standards emerged around 2001. Java Specification Request (JSR) 168
standards allow the interoperability of portlets across different portal platforms.
These standards allow portal developers, administrators and consumers to integrate
standards-based portals and portlets across a variety of vendor solutions.
The concept of content aggregation seems to still gain momentum and portal solution
will likely continue to evolve significantly over the next few years. The Gartner
Group predicts generation 8 portals to expand on the Business Mashups concept of
delivering a variety of information, tools, applications and access points through a
single mechanism.
With the increase in user generated content, disparate data silos, and file formats,
information architects and taxonomist will be required to allow users the ability to
tag (classify) the data. This will ultimately cause a ripple effect where users will also
be generating ad hoc navigation and information flows.
Also known as Stock-share Portals, Stock market portals or Stock exchange portals
are Web-based applications that facilitates the process of informing the share-
holders with substantial online data such as the latest price, ask/bids, the latest News,
reports and announcements. Some stock portals use online gateways through a
central depository system (CDS) for the visitors to buy or sell their shares or manage
their portfolio (finance).
A number of portals have come about that are specific to the particular domain,
offering access to related companies and services, a prime example of this trend
would be the growth in property portals that give access to services such as estate
agents, removal firm, and solicitors that offer conveyance. Along the same lines,
industry-specific news and information portals have appeared, such as the clinical
trials specific portal
The server hosting the portal may only be a "pass through" for the user. By use of
portlets, application functionality can be presented in any number of portal pages.
For the most part, this architecture is transparent to the user.
In such a scheme, security and capacity can be important features, and administrators
need to ensure that only an authorized visitor or user can generate requests to the
application server. If administration does not ensure this aspect, then the portal may
inadvertently present vulnerabilities to various types of attacks.
These are the portals building blocks. They are modules that link to or contain
snippets of information or services. Users should be given a library of channels from
which they can choose and not to defeat their own interest, though organizations will
make certain channels mandatory. Different constituent groups or roles will have
different default selection of channels with the understanding that many channels
are universal (e.g mail, calendar, weather) and will be available to as groups.
In order to customize the information for the entering individual, the organization
needs to know whom the visiting person is. What role does he/she represent vis--
vis the organization and what are his/her preferences and requirements? The more
an organization knows about the portal visitor the better it is positioned to present a
portal that best meet the individuals need. Individual information is maintained in
the organization directory that also facilitates the sign-on and the persons
authentication.
2.6.3 Roles
As a starting point, organizations will need to develop default portals for different
types of customers such as students, faculty, staff, alumni, parents, future students.
These default portals contains information and services that organization deem to be
most attractive to each customer group or role. In addition to providing different
channels, the portal design may differ for different roles. Eg students prefer other
layouts and graphics compared to alumni. Roles determine how the portal looks for
different audiences. Information about which role a person has, is stored in the
organization directory.
2.6.4 Customization Backend Integration
RESEARCH METHODOLOGY
3.0 INTRODUCTION
3.1 METHODOLOGY
In developing a system that requires a high level sensitivity and flexibility such as
this one, a language that simplifies things was necessary for use. This was the reason
for choosing the PHP programming language. PHP is a recursive acronym for
Hypertext Preprocessor, it is a server side scripting language employed for the
development of interactive/dynamic web pages. The developed application is
powered by the Codeigniter framework (a popular PHP framework based on the
MVC structure). SQL was chosen for programming the database.
Vacancies arises sometimes due to the creation of a new job, on other occasions it
may be because an existing member or staff has been promoted or is retiring. The
job description is updated and an employee specification is written. The job
description lists the duties of the job whilst the employee specification gives details
of the experience, skills and abilities needed to carry out the job. A vacancy
advertisement is written and is circulated via different media including newspapers,
internet recruitment sites, specialist publications and the Employment Service.
Application forms are sent out along with copies of the job description and employee
specification and must be returned on or before the closing date that has been set. A
shortlist is compiled of applicants who are going to be invited to attend for interview.
This is done by the recruitment panel who compare each application form with the
requirements of the employee specification. Feedback can be provided (upon
request) to those not shortlisted and applicants have the right to complain if they feel
they have been unfairly treated. Interviews are held. The panel will use the same set
of questions with each interviewee. The interview may include a selection test.
Feedback can be provided (upon request) and unsuccessful applicants have the right
to complain if they feel they have been unfairly treated. The successful candidate
are then invited for orientation, which is closely followed by induction training, after
which the successful candidates are now absorbed into the force and deployed
accordingly.
1. It ensures that the right candidates are selected the available position.
2. The system gives all the applicants equal opportunity to be tested fit for the
available position
The new system, which this work intends to address will be internet based. This is
to say that the system will be deployable on a website in the internet for users to
access on-line. The following will be the key features of the new system:
As shown in Figure 3.1 and Figure 3.2, the system will be fitted with a
login/registration form, of which the users can fill on-line granting them access to
portal. Upon successful registration, the user can proceed to create a CV on the
portal, apply for potential jobs and get matched to jobs that are related to the created
CV. The on-line application will replace the primitive paper application, which has
many potential problems. With this form, as applicants enter the site and clicks on
the application form link, they can fill out the required information and submit same
immediately.
Existing User
Email *
Password *
Remember my password
Sign In
Forget Password? Click Here
Email *
Password *
Confirm Password *
Personal Information
Full Name *
Gender *
Male
Date of Birth * Day Month Year
Current Address *
Location * Nigeria
Nationality *
Mobile Phone *
Home Phone *
Upload Resume
Sign Up
This feature ensures that the registration form contains the correct required
information before they are submitted. This laces the applicant on the situation of
ensuring that he/she has supplied the all but necessary information.
3.4.3 Database
The new system will be database driven. The database will be implemented with
SQL, and hosted locally. In other words, the system that hosts the site will be a local
server. The database is designed in such a way that form data are bounded to the
database for the purpose of form submission and retrieval of their personal (own)
information either for update or perusal.
All user data are stored in the database. The database of this application comprises
thirty five (35) tables. The structures and enhanced entity relationship (EER)
diagram of the database tables have been grouped into categories (layers) and are
given below;
Authentication Layer: Figure 3.3 shows the authentication layer which
contains all tables that handles login and registration.
The new system has numerous advantages, which includes the following:
A system like this, Web Based Recruitment portal, is needful at this time, when
information technology has taken over almost every aspect of human activities. In
the first instance, we need such a system to stay afloat with the recent technological
level with other nations. It is also important because of its easy method of
documentation without human interference. Instead of having many staff doing the
same thing, only one staff may be required to monitor how the information is flowing
in and out.
SYSTEM DESIGN
All input used on this system were rendered to suit the inputs of both stand-alone PC
and distributed system architectures. The input interfaces present users with easy to
use HTML forms with submit buttons. The input forms allow users to type in text
while the submit button is used to initiate events that execute some server/client site
codes.
In designing the input interface, of which the input form is one, a data structure that
binds the input data to a table was drawn. The binding was done by simply using
the input field name to relate the respective fields as contained in the database design.
The output is rendered mostly on the screen. In other words, all outputs from this
system is only presented to the screen, the specification was designed using a
combination of Bootstrap and HTML5 in such a way that they give good
Successfully registered users are granted access to the portal, from which they can
carry out every other necessary action. The employers can post available jobs, search
resumes, view received applications etc while the job seekers can then proceed to
apply for any job of his/her choice. The portal keeps record of every application the
user makes and alerts the user when he/she has been shortlisted for an interview.
Basically, the system serves as a platform that links up employers with employees.
3.8 PROGRAM PROCESS DESIGN
3.8.1 Function Specification
Admin Module
Admin can manage employers/companies.
Admin can manage jobseekers as well as posted jobs.
Admin can view and manage register members (both employers and job
seekers) in the system.
Admin can view jobseeker details.
Admin manage company details.
Admin can view job alert.
Admin can manage adverts.
The admin handles all managerial activities in the system.
The UML diagram is shown in figure 3.7 below, the diagram shows all relationship
between objects and the relationship between them.
SVGA Monitor
The primary data are fresh materials that are realized either through interviews or
questionnaire or both, but the one used in this research work is realized through
interview.
The major source of data used in this work is the secondary source which represents
works already done on the research topic and includes the following information
form;
Textbooks
Computer journals
Magazines
Articles on subject matter
Library and
Internet (majorly).
The main objective of this design is to implement a Web Based Recruitment Portal.
At the end of this design, an on-line site that is capable of running on a local server
will be realized. In addition to this, a full database driven site with good user
interface will be achieved.
The table below shows the design of the data structure and database schema for the
user registration field.
4.3 IMPLEMENTATION
The system was implemented on Google Chrome Browser using localhost. The
implementation began with the site definition, which involves the following steps
Planning,
The application when launched will present users with the home page. This home
page allows the user links to other pages. The user can access every page visible on
the homepage or provided through an hyperlink but cannot apply for a job or post a
job until he/she registers. Upon registration, the user can proceed to use other vital
modules of the system such as job application, creation of CVs, Search Matching
Jobs, Post new jobs, View applications etc.
4.4 ALGORITHM/PSEUDO-CODES
Admin
i. Start Wampserver
ii. Launch your browser
iii. Enter URL (localhost/jobrecruit.com/admin)
iv. The admin login page comes up
v. Enter correct login details
vi. Perform the activities under the admin area
Employer
i. Start Wampserver
v. Navigate to login
i. Start Wampserver
v. Navigate to login
This application was birthed to ease the pains of the common jobseeker. With this
app, they now do not necessarily need to travel far distances just to submit
applications. The system has been designed to allow jobseekers apply for jobs
anywhere in the world and only go visiting the organizations when they are invited.
This not only saves time and resources, it gives the opportunity for multiple job
applications which in turn leads to a higher expectation.
CHAPTER FIVE
SUMMARY AND CONCLUSION
5.1 SUMMARY
At the end of this research work, several lessons were learnt. Basic PHP/HTML
programming knowledge, folder structures, locally hosting a website, these among
others were some of the things we learnt in the course of writing this project and
developing our software.
Again the primary aim of this work was achieved, which is the design of a
recruitment web based portal.
There were several problems encountered in the process of this design. Chief
amongst all was the aspect of information gathering. It was very difficult for us to
source information for the relevant things that we needed to do as most of our
correspondents were reluctant to grant us audience.
Finance was another important aspect of the work that rendered everything almost
impossible.
We would rather here suggest that anybody wishing to repeat this work should dwell
more on incorporating sound into the system. Higher programming languages such
as Python, Ruby, etc may be used for future development.
5.5 RECOMMENDATIONS
We strongly suggest that more time should be allocated to school project. This will
go a long way in helping the students involved to truly participate actively in
developing their work.
Web portals are essential aspects of the internet that provide temporal link to vital
information resources. This project work has been able to implement one for job
recruitment exercises.
REFERENCES
BOOKS
Elwood F, Hotton II, James W, Trott Jr, (1996). Trends Towards a Closer
WEB RESOURCES
http://creately.com/blog/diagrams/understanding-the-relationships-between-
classes/
https://dev.mysql.com/doc/workbench/en/wb-eer-diagram-editor.html
APPENDIX
SOURCE CODE
<?php
set_time_limit(0);
ini_set('memory_limit', '-1');
date_default_timezone_set("America/Chicago");
define('ENVIRONMENT', 'production');
ini_set("post_max_size", "16M");*/
if (defined('ENVIRONMENT'))
{
switch (ENVIRONMENT)
{
case 'development':
error_reporting(E_ALL);
break;
case 'testing':
case 'production':
error_reporting(0);
break;
default:
exit('The application environment is not set correctly.');
}
}
$system_path = 'jp_sys';
$application_folder = 'jp_app';
if (defined('STDIN'))
{
chdir(dirname(__FILE__));
}
if (realpath($system_path) !== FALSE)
{
$system_path = realpath($system_path).'/';
}
// ensure there's a trailing slash
$system_path = rtrim($system_path, '/').'/';
// Is the system path correct?
if ( ! is_dir($system_path))
{
exit("Your system folder path does not appear to be set correctly. Please
open the following file and correct this: ".pathinfo(__FILE__, PATHINFO_BASENAME));
if (is_dir($application_folder))
{
define('APPPATH', $application_folder.'/');
}
else
{
if ( ! is_dir(BASEPATH.$application_folder.'/'))
{
exit("Your application folder path does not appear to be set correctly.
Please open the following file and correct this: ".SELF);
}
define('APPPATH', BASEPATH.$application_folder.'/');
}
<!DOCTYPE html>
<html lang="en">
<head>
<?php $this->load->view('common/meta_tags'); ?>
<title><?php echo $title;?></title>
<?php $this->load->view('common/before_head_close'); ?>
</head>
<body>
<?php $this->load->view('common/after_body_open'); ?>
<div class="siteWraper">
<!--Header-->
<?php $this->load->view('common/header'); ?>
<!--/Header-->
<!--Detail Info-->
<div class="container innerpages">
<?php $this->load->view('common/bottom_ads');?>
<div class="row">
<!--Signup-->
<div class="col-md-6 col-md-offset-3">
<!--Login-->
<form name="login_form" id="login_form" action="" method="post">
<div class="loginbox">
<h3>Existing User</h3>
<?php if($msg):?>
<div class="alert alert-danger"><?php echo $msg;?></div>
<?php endif;?>
<?php echo validation_errors(); ?>
<?php echo $this->session->flashdata('success_msg');?>
<div class="row">
<div class="col-md-3">
<label class="input-group-addon">Email <span>*</span></label>
</div>
<div class="col-md-9">
<input type="text" name="email" id="email" class="form-control" value="<?php
echo set_value('email'); ?>" placeholder="Email" />
</div>
</div>
<div class="row">
<div class="col-md-3">
<label class="input-group-addon">Password <span>*</span></label>
</div>
<div class="col-md-9">
<input type="password" name="pass" id="pass" autocomplete="off" value="<?php
echo set_value('pass'); ?>" class="form-control" placeholder="Password" />
</div>
</div>
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-9">
<input type="checkbox">
Remember My Password</div>
</div>
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-9">
<input type="submit" value="Sign In" class="btn btn-success" />
</div>
</div>
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-9">Forgot Your Password? <a href="<?php echo
base_url('forgot');?>">Click Here</a></div>
</div>
</div>
</form>
<div class="signupbox">
<h4>Not a member yet? Click Below to Sign Up</h4>
<a href="<?php echo $signup_link;?>" class="btn btn-success">Sign Up Now</a>
<div class="clear"></div>
</div>
</div>
<!--/Login-->
</div>
</div>
<?php $this->load->view('common/bottom_ads');?>
<!--Footer-->
<?php $this->load->view('common/footer'); ?>
<?php $this->load->view('common/before_body_close'); ?>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<?php $this->load->view('common/meta_tags'); ?>
<meta name="keywords" content="jobs in USA, government jobs, online jobs in USA, latest
jobs in USA, job in USA, latest jobs">
<title><?php echo $title;?></title>
<?php $this->load->view('common/before_head_close'); ?>
</head>
<body>
<?php $this->load->view('common/after_body_open'); ?>
<div class="siteWraper">
<!--Header-->
<?php $this->load->view('common/header'); ?>
<!--/Header-->
<!--Search Block-->
<div class="top-colSection">
<div class="container">
<div class="row">
<?php $this->load->view('common/home_search');?>
<div class="clear"></div>
</div>
</div>
</div>
<!--/Search Block-->
<!--Employers-->
<div class="topemployerwrap">
<div class="container">
<div class="titlebar">
<h2>Top Employers</h2>
<strong>Total - <?php echo $total_employers;?></strong>
</div>
<ul class="employersList">
<?php
if($top_employer_result):
foreach($top_employer_result as $row_top_employer):
$company_image_name = ($row_top_employer-
>company_logo)?$row_top_employer->company_logo:'no_logo.jpg';
?>
<li><a href="<?php echo base_url('company/'.$row_top_employer->company_slug);?>"
title="Jobs in <?php echo $row_top_employer->company_name;?>"><img src="<?php echo
base_url('public/uploads/employer/thumb/'.$company_image_name);?>" alt="<?php echo
base_url('company/'.$row_top_employer->company_slug);?>" /></a></li>
<?php
endforeach;
endif;
?>
<div class="clear"></div>
</ul>
</div>
</div>
<!--Employers Ends-->
</div>
</div>
<!--/Latest Jobs Block-->
<!--Cities-->
<div class="citiesWrap">
<div class="container">
<!--Featured Jobs-->
<div class="featuredWrap">
<div class="container">
<div class="titlebar"> <h2>Featured Jobs</h2></div>
<ul class="featureJobs row">
<?php
if($featured_job_result):
foreach($featured_job_result as $row_featured_job):
?>
<li class="col-md-6">
<div class="intbox">
<div class="compnyinfo">
<a href="<?php echo base_url('jobs/'.$row_featured_job->job_slug);?>"
title="<?php echo $row_featured_job->job_title;?>"><?php echo $row_featured_job-
>job_title;?></a> <span><a href="<?php echo base_url('company/'.$row_featured_job-
>company_slug);?>" title="Jobs in <?php echo $row_featured_job->company_name;?>"><?php echo
$row_featured_job->company_name;?></a> - <?php echo $row_featured_job-
>city;?></span> </div>
<div class="date">Apply by <br />
<?php echo date_formats($row_latest_jobs->last_date, 'M d, Y');?></div>
<div class="clear"></div>
</div>
</li>
<?php endforeach; endif; ?>
</ul>
</div>
</div>
<!--Featured Jobs End-->
<!--Footer-->
<?php $this->load->view('common/footer'); ?>
<?php $this->load->view('common/before_body_close'); ?>
<!-- FlexSlider -->
<script src="<?php echo base_url('public/js/jquery.flexslider.js');?>"
type="text/javascript"></script>
<script>
// Can also be used with $(document).ready()
$(window).load(function() {
$('.flexslider').flexslider({
animation: "slide",
animationLoop: false,
itemWidth: 250,
minItems: 1,
maxItems: 1
});
});
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<?php $this->load->view('common/meta_tags'); ?>
<title><?php echo $title;?></title>
<?php $this->load->view('common/before_head_close'); ?>
<link rel="stylesheet" href="http://jquery-
ui.googlecode.com/svn/tags/1.8.7/themes/base/jquery.ui.all.css">
<link rel="stylesheet" href="<?php echo base_url('public/autocomplete/demo.css'); ?>">
<style>
.ui-button {
margin-left: -1px;
}
.ui-button-icon-only .ui-button-text {
padding: 0.35em;
}
.ui-autocomplete-input {
margin: 0;
padding: 0.48em 0 0.47em 0.45em;
}
</style>
</head>
<body>
<?php $this->load->view('common/after_body_open'); ?>
<div class="siteWraper">
<!--Header-->
<?php $this->load->view('common/header'); ?>
<!--/Header-->
<div class="container detailinfo">
<div class="row"> <?php echo form_open_multipart('jobseeker_signup',array('name' =>
'seeker_form', 'id' => 'seeker_form', 'onSubmit' => 'return validate_form(this);'));?>
<div class="col-md-10">
<p>The Job Seeker sign up process takes no more than a couple of minutes after which,
you can upload your CV, resume plus covering letter and make it available to employers
looking for you. Why not join Job Portal today? it's free and you are only one step away
from finding that ideal job!</p>
<h2> Create New Account</h2>
<!--Account info-->
<div class="formwraper">
<div class="titlehead">Account Information</div>
<div class="formint">
<div class="input-group <?php echo (form_error('email'))?'has-error':'';?>">
<label class="input-group-addon">Email <span>*</span></label>
<input name="email" type="text" class="form-control" id="email"
placeholder="Email" value="<?php echo set_value('email'); ?>" maxlength="150">
<?php echo form_error('email'); ?> </div>
<div class="input-group <?php echo (form_error('pass'))?'has-error':'';?>">
<label class="input-group-addon">Password <span>*</span></label>
<input name="pass" type="password" class="form-control" id="pass"
autocomplete="off" placeholder="Password" value="<?php echo set_value('pass'); ?>"
maxlength="100">
<?php echo form_error('pass'); ?> </div>
<div class="input-group <?php echo (form_error('confirm_pass'))?'has-
error':'';?>">
<label class="input-group-addon">Confirm Password <span>*</span></label>
<input name="confirm_pass" type="password" class="form-control"
id="confirm_pass" placeholder="Confirm Password" value="<?php echo
set_value('confirm_pass'); ?>" maxlength="100">
<?php echo form_error('confirm_pass'); ?> </div>
</div>
</div>
<!--Personal info-->
<div class="formwraper">
<div class="titlehead">Personal Information</div>
<div class="formint">
<div class="input-group <?php echo (form_error('full_name'))?'has-error':'';?>">
<label class="input-group-addon">Full Name <span>*</span></label>
<input name="full_name" type="text" class="form-control" id="full_name"
placeholder="Full Name" value="<?php echo set_value('full_name'); ?>" maxlength="40">
<?php echo form_error('full_name'); ?> </div>
<div class="input-group <?php echo (form_error('gender'))?'has-error':'';?>">
<label class="input-group-addon">Gender <span>*</span></label>
<select class="form-control" name="gender" id="gender">
<option value="male" <?php echo (set_value('gender')=='male')?'selected':'';
?>>Male</option>
<option value="female" <?php echo
(set_value('gender')=='female')?'selected':''; ?>>Female</option>
</select>
<?php echo form_error('gender'); ?> </div>
<div class="input-group <?php echo (form_error('dob_day'))?'has-error':'';?>">
<label class="input-group-addon">Date of Birth <span>*</span></label>
<select class="form-control" name="dob_day" id="dob_day">
<option value="">Day</option>
<?php
for($dy=1;$dy<=31;$dy++):
$day =sprintf("%02s", $dy);
$selected = (set_value('dob_day')==$day)?'selected="selected"':'';
?>
<option value="<?php echo $day;?>" <?php echo $selected;?>><?php echo
$day;?></option>
<?php endfor;?>
</select>
<select class="form-control" name="dob_month" id="dob_month">
<option value="">Month</option>
<?php for($mnth=1;$mnth<=12;$mnth++):
$month =sprintf("%02s", $mnth);
$dummy_date = '2014-'.$month.'-'.'01';
$selected =
(set_value('dob_month')==$month)?'selected="selected"':'';
?>
<option value="<?php echo $month;?>" <?php echo $selected;?>><?php echo
date("M", strtotime($dummy_date));?></option>
<?php endfor;?>
</select>
<select class="form-control" name="dob_year" id="dob_year">
<option value="">Year</option>
<?php for($year=date("Y")-10;$year>=1901;$year--):
$selected =
(set_value('dob_year')==$year)?'selected="selected"':'';
if((set_value('dob_year')=='' && $year=='1980')){
$selected = 'selected="selected"';
}
?>
<option value="<?php echo $year;?>" <?php echo $selected;?>><?php echo
$year;?></option>
<?php endfor;?>
</select>
<?php echo form_error('dob_day'); echo form_error('dob_month'); echo
form_error('dob_month'); ?> </div>
<div class="input-group <?php echo (form_error('current_address'))?'has-
error':'';?>">
<label class="input-group-addon">Current Address <span>*</span></label>
<textarea class="form-control" name="current_address" id="current_address"
><?php echo set_value('current_address'); ?></textarea>
<?php echo form_error('current_address'); ?> </div>
<div class="input-group <?php echo (form_error('country'))?'has-error':'';?>">
<label class="input-group-addon">Location <span>*</span></label>
<select name="country" id="country" class="form-control" style="width:50%">
<?php
foreach($result_countries as $row_country):
$selected = (set_value('country')==$row_country-
>country_name)?'selected="selected"':'';
?>
<option value="<?php echo $row_country->country_name;?>" <?php echo
$selected;?>><?php echo $row_country->country_name;?></option>
<?php endforeach;?>
</select>
<?php echo form_error('country'); ?>
<div class="demo">
<input name="city" type="text" class="form-control" id="city_text" style="max-
width:165px; " value="<?php echo set_value("city"); ?>" maxlength="50">
</div>
?>
<option value="<?php echo $row_country->country_citizen;?>" <?php echo
$selected;?>><?php echo $row_country->country_citizen;?></option>
<?php endif; endforeach;?>
</select>
<?php echo form_error('nationality'); ?> </div>
<div class="input-group <?php echo (form_error('mobile_number'))?'has-
error':'';?>">
<label class="input-group-addon">Mobile Phone <span>*</span></label>
<input name="mobile_number" type="text" class="form-control" id="mobile_number"
value="<?php echo set_value('mobile_number'); ?>" maxlength="15" />
<?php echo form_error('mobile_number'); ?> </div>
<div class="input-group">
<label class="input-group-addon">Home Phone</label>
<input name="phone" type="text" class="form-control" id="phone" value="<?php echo
set_value('phone'); ?>" maxlength="15">
</div>
</div>
</div>
<!--Professional info-->
<div class="formwraper">
<div class="titlehead">Upload Resume</div>
<div class="formint">
<div class="input-group <?php echo (form_error('cv_file') || $msg)?'has-
error':'';?>">
<label class="input-group-addon">Upload Resume <span>*</span></label>
<input type="file" class="form-control" name="cv_file" id="cv_file" value="<?php
echo set_value('cv_file'); ?>" />
<p>Upload files only in .doc, .docx or .pdf format with maximum size of 6 MB.</p>
<?php
echo form_error('cv_file');
echo ($msg!='')?'<div class="alert alert-error"> <a
class="close" data-dismiss="alert"></a>'.$msg.'</div>':'';
?>
</div>
<div class="formsparator">
<div class="input-group">
<label class="input-group-addon">Please enter: <?php echo $cpt_code;?> in the
text box below:</label>
<div class="input-group <?php echo (form_error('captcha'))?'has-error':'';?>">
<label class="input-group-addon"></label>
<input type="text" class="form-control" name="captcha" id="captcha" value=""
maxlength="10" autocomplete="off" />
<?php echo form_error('captcha'); ?> </div>
</div>
<div align="center">
<input type="submit" name="submit_button" id="submit_button" value="Sign Up"
class="btn btn-success" />
</div>
</div>
</div>
</div>
<!--/Job Detail-->
<?php echo form_close();?>
</div>
<?php $this->load->view('common/right_ads');?>
</div>
<?php $this->load->view('common/bottom_ads');?>
</div>
</div>
<!--Footer-->
<?php $this->load->view('common/footer'); ?>
<?php $this->load->view('common/before_body_close'); ?>
<script src="<?php echo base_url('public/js/validate_jobseeker.js');?>"
type="text/javascript"></script>
<script src="<?php echo base_url('public/autocomplete/jquery-1.4.4.js'); ?>"></script>
<script src="<?php echo base_url('public/autocomplete/jquery.ui.core.js'); ?>"></script>
<script src="<?php echo base_url('public/autocomplete/jquery.ui.widget.js'); ?>"></script>
<script src="<?php echo base_url('public/autocomplete/jquery.ui.button.js'); ?>"></script>
<script src="<?php echo base_url('public/autocomplete/jquery.ui.position.js');
?>"></script>
<script src="<?php echo base_url('public/autocomplete/jquery.ui.autocomplete.js');
?>"></script>
<script type="text/javascript"> var cy = '<?php echo set_value('country');?>'; </script>
<script src="<?php echo base_url('public/autocomplete/action-js.js'); ?>"></script>
<script type="text/javascript">
$(document).ready(function(){
$('button').css('display','none');
if(cy!='USA' && cy!='')
$(".ui-autocomplete-input.ui-widget.ui-widget-content.ui-corner-
left").css('display','none');
});
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<?php $this->load->view('common/meta_tags'); ?>
<title><?php echo $title;?></title>
<?php $this->load->view('common/before_head_close'); ?>
<link rel="stylesheet" href="http://jquery-
ui.googlecode.com/svn/tags/1.8.7/themes/base/jquery.ui.all.css">
<link rel="stylesheet" href="<?php echo base_url('public/autocomplete/demo.css'); ?>">
<style>
.ui-button {
margin-left: -1px;
}
.ui-button-icon-only .ui-button-text {
padding: 0.35em;
}
.ui-autocomplete-input {
margin: 0;
padding: 0.48em 0 0.47em 0.45em;
}
</style>
</head>
<body>
<?php $this->load->view('common/after_body_open'); ?>
<div class="siteWraper">
<!--Header-->
<?php $this->load->view('common/header'); ?>
<!--/Header-->
<div class="container detailinfo">
<div class="row"> <?php echo form_open_multipart('employer_signup',array('name' =>
'emp_form', 'id' => 'emp_form', 'onSubmit' => 'return validate_employer_form(this);'));?>
<div class="col-md-10">
<p>With Job Portal, the employer signup process only takes a couple of minutes and
once your registration is complete, you have access to search the Job Seekers and post the
Job openings in your company. The candidates who have opted to receive Job Alerts will
receive your Job Opening in their Email. If you have an opening in your company, don't
spend thousands of rupees advertising in newspaper or websites that charge you. Give us a
chance to provide you top quality service for free!</p>
<h2> Create New Account</h2>
<!--Account info-->
<div class="formwraper">
<div class="titlehead">Account Information</div>
<div class="formint">
<div class="input-group <?php echo (form_error('email'))?'has-error':'';?>">
<label class="input-group-addon">Email <span>*</span></label>
<input name="email" type="text" class="form-control" id="email"
placeholder="Email" value="<?php echo set_value('email'); ?>" maxlength="150">
<?php echo form_error('email'); ?> </div>
<div class="input-group <?php echo (form_error('pass_code'))?'has-error':'';?>">
<label class="input-group-addon">Password <span>*</span></label>
<input name="pass" type="password" class="form-control" id="pass"
placeholder="Password" value="<?php echo set_value('pass_code'); ?>" maxlength="100">
<?php echo form_error('pass_code'); ?> </div>
<div class="input-group <?php echo (form_error('confirm_pass'))?'has-
error':'';?>">
<label class="input-group-addon">Confirm Password <span>*</span></label>
<input name="confirm_pass" type="password" class="form-control"
id="confirm_pass" placeholder="Confirm Password" value="<?php echo
set_value('confirm_pass'); ?>" maxlength="100">
<?php echo form_error('confirm_pass'); ?> </div>
</div>
</div>
<!--Personal info-->
<div class="formwraper">
<div class="titlehead">Company Information</div>
<div class="formint">
<div class="input-group <?php echo (form_error('full_name'))?'has-error':'';?>">
<label class="input-group-addon">Your Name <span>*</span></label>
<input name="full_name" type="text" class="form-control" id="full_name"
placeholder="Full Name" value="<?php echo set_value('full_name'); ?>" maxlength="40">
<?php echo form_error('full_name'); ?> </div>
<div class="input-group <?php echo (form_error('company_name'))?'has-
error':'';?>">
<label class="input-group-addon">Company Name <span>*</span></label>
<input name="company_name" type="text" class="form-control" id="company_name"
value="<?php echo set_value('company_name'); ?>" maxlength="50" />
<?php echo form_error('company_name'); ?> </div>
<div class="demo">
<input name="city" type="text" class="form-control" id="city_text"
style="max-width:165px; " value="<?php echo set_value("city"); ?>" maxlength="50">
</div>
<div class="formsparator">
<div class="input-group">
<label class="input-group-addon">Please enter: <?php echo $cpt_code;?> in
the text box below:</label></div>
<div class="input-group <?php echo (form_error('captcha'))?'has-error':'';?>">
<label class="input-group-addon"></label>
<input type="text" class="form-control" name="captcha" id="captcha" value=""
maxlength="10" />
<?php echo form_error('captcha'); ?> </div>
</div>
<div align="center">
<input type="submit" name="submit_button" id="submit_button" value="Sign Up"
class="btn btn-success" />
</div>
</div>
</div>
<!--Professional info-->
</div>
<!--/Job Detail-->
<?php echo form_close();?>
<?php $this->load->view('common/right_ads');?>
</div>
</div>
<?php $this->load->view('common/bottom_ads');?>
<!--Footer-->
<?php $this->load->view('common/footer'); ?>
<script src="<?php echo base_url('public/js/bad_words.js'); ?>"></script>
<?php $this->load->view('common/before_body_close'); ?>
<script src="<?php echo base_url('public/js/validate_employer.js');?>"
type="text/javascript"></script>
<script src="<?php echo base_url('public/autocomplete/jquery-1.4.4.js'); ?>"></script>
<script src="<?php echo base_url('public/autocomplete/jquery.ui.core.js'); ?>"></script>
<script src="<?php echo base_url('public/autocomplete/jquery.ui.widget.js'); ?>"></script>
<script src="<?php echo base_url('public/autocomplete/jquery.ui.button.js'); ?>"></script>
<script src="<?php echo base_url('public/autocomplete/jquery.ui.position.js');
?>"></script>
<script src="<?php echo base_url('public/autocomplete/jquery.ui.autocomplete.js');
?>"></script>
<script type="text/javascript"> var cy = '<?php echo set_value('country');?>'; </script>
<script src="<?php echo base_url('public/autocomplete/action-js.js'); ?>"></script>
<script type="text/javascript">
$(document).ready(function(){
$('button').css('display','none');
if(cy!='USA' && cy!='')
$(".ui-autocomplete-input.ui-widget.ui-widget-content.ui-corner-
left").css('display','none');
});
</script>
</body>
</html>