Serach Engine
Serach Engine
Serach Engine
The Local Service Search Engine Management System is a simple PHP/MySQLi project that
can help local Freelancers workers, Companies, or small business that provides services. This
system store the details and information of the on-call workers or Freelancers and Companies so
when the people or company needed service for any type of services they needs can simply
search from the website that is available or can give service in their area. The system is a simple
project that provides people or other company needs a service or to do work for them
temporarily, this system can also help freelancers or small business to market their skills by
making their information more attractive to the persons or companies who are looking a
temporary worker with a certain skill. The system has 2 sides of User Interface which are the
Administrator Side and the User Side. The Administrator Side is the side of the system that
manages the data or information for the website and the User Side is the system side that serves
as the website which displays all the data of the system for the website visitors.
Features
Admin Side
Login Page
The page where the admin user submits their system credentials to access the
admin side of the system.
Home Page
The page where the admin user is being redirected by default after logging into
the system.
Services Page
The page where the admin user creates a new service category and manages the
list.
Areas Page
The page where local areas are listed and managed.
New Person/Company Page
The page where the admin user adds a new Freelance or Company/Small
Businesses along with their contact information and service description
they/he/she can provide to their possible clients.
Persons/Companies List Page
The page where all the Freelancers, Company, and Small Businesses that stored in
the system are listed and navigate to edit, view, and delete.
Settings About Page
The page where the "About Page Content" is being managed.
System Settings Page
The page where the admin manages the website name, cover photo, address,
and contact details.
Users Side
Home Page
The page where the users or website visitors will be redirected by default when
browsing the website. This also the page where the search persons or companies
that are available to give service in a specific area are listed.
Services Page
The page where the list of service categories are listed.
About Page
The page where the "About Us Content" of the website is being displayed.
Contact Us Page
The page where the Website Owner or management contact details is being
displayed.
SYSTEM SPECIFICATIONS
HARDWARE SPECIFICATION
The hardware requirements may serve as the basis for a contract for the
implementation of the system and should therefore be a complete and consistent specification of
the whole system. They are used by software engineers as the starting point for the system
design. It should what the system do and not how it should be implemented.
RAM : 4 GB RAM
CDDRIVE : LG 52X
MOUSE : 3 BUTTONS
SOFTWARE SPECIFICATION
The software requirements document is the specification of the system. It should include both a
definition and a specification of requirements. It is a set of what the system should do rather than
how it should do it. The software requirements provide a basis for creating the software
requirements specification. It is useful in estimating cost, planning team activities, performing
tasks and tracking the teams and tracking the team’s progress throughout the development
activity.
PHP
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 system and web frameworks. PHP
code is usually processed by a PHP interpreter implemented as amodule in the web server or
as a Common Gateway Interface (CGI) executable. 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 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.[7]
The PHP language evolved without a written formal specification or standard until 2014,
leaving the canonical PHP interpreter as a de facto standard. Since 2014 work has gone on
to create a formal PHP specification.
Rasmus Lerdorf, who wrote the original Common Gateway Interface (CGI) component,
together with Andi Gutmansand Zeev Suraski, who rewrote the parser that formed PHP 3.
PHP development began in 1994 when Rasmus Lerdorf wrote several Common Gateway
Interface (CGI) programs in C, which he used to maintain his personal homepage. He
extended them to work with web forms and to communicate with databases, and called this
implementation "Personal Home Page/Forms Interpreter" or PHP/FI.
PHP/FI could be used to build simple, dynamic web applications. To
accelerate bug reporting and improve the code, Lerdorf initially announced the release of
PHP/FI as "Personal Home Page Tools (PHP Tools) version 1.0" on the Usenetdiscussion
group comp.infosystems.www.authoring.cgi on June 8, 1995. This release already had the
basic functionality that PHP has as of 2013. This included Perl-like variables, form
handling, and the ability to embed HTML. The syntax resembled that of Perl but was
simpler, more limited and less consistent.
Early PHP was not intended to be a new programming language, and grew organically,
with Lerdorf noting in retrospect: "I don’t know how to stop it, there was never any intent
to write a programming language […] I have absolutely no idea how to write a
programming language, I just kept adding the next logical step on the way." A development
team began to form and, after months of work and beta testing, officially released PHP/FI 2
in November 1997.
The fact that PHP was not originally designed but instead was developed organically has
led to inconsistent naming of functions and inconsistent ordering of their parameters. In
some cases, the function names were chosen to match the lower-level libraries which PHP
was "wrapping", while in some very early versions of PHP the length of the function names
was used internally as a hash function, so names were chosen to improve the distribution
of hash values. PHP 3 and 4
Zeev Suraski and Andi Gutmans rewrote the parser in 1997 and formed the base of PHP 3,
changing the language's name to the recursive acronym PHP: Hypertext Preprocessor.
Afterwards, public testing of PHP 3 began, and the official launch came in June 1998.
Suraski and Gutmans then started a new rewrite of PHP's core, producing the Zend
Engine in 1999. They also founded Zend Technologies in Ramat Gan, Israel.
On May 22, 2000, PHP 4, powered by the Zend Engine 1.0, was released. As of August 2008
this branch reached version 4.4.9. PHP 4 is no longer under development nor will any
security updates be released
PHP 5
On July 13, 2004, PHP 5 was released, powered by the new Zend Engine II. PHP 5 included
new features such as improved support for object-oriented programming, the PHP Data
Objects (PDO) extension (which defines a lightweight and consistent interface for accessing
databases), and numerous performance enhancements. [22] In 2008 PHP 5 became the only
stable version under development. Late static binding had been missing from PHP and was
added in version 5.3.
Many high-profile open-source projects ceased to support PHP 4 in new code as of
February 5, 2008, because of the GoPHP5 initiative, provided by a consortium of PHP
developers promoting the transition from PHP 4 to PHP 5. Over time, PHP interpreters
became available on most existing 32-bit and 64-bit operating systems, either by building
them from the PHP source code, or by using pre-built binaries. [28] For the PHP versions 5.3
and 5.4, the only available Microsoft Windows binary distributions were 32-
bit x86 builds, requiring Windows 32-bit compatibility mode while using Internet
Information Services (IIS) on a 64-bit Windows platform. PHP version 5.5 made the 64-
bit x86-64 builds available for Microsoft Windows.[31]
PHP 6 and Unicode
PHP received mixed reviews due to lacking native Unicode support at the core language
level. In 2005, a project headed by Andrei Zmievski was initiated to bring native Unicode
support throughout PHP, by embedding the International Components for Unicode (ICU)
library, and representing text strings as UTF-16 internally. Since this would cause major
changes both to the internals of the language and to user code, it was planned to release
this as version 6.0 of the language, along with other major features then in development.
However, a shortage of developers who understood the necessary changes, and
performance problems arising from conversion to and from UTF-16, which is rarely used in
a web context, led to delays in the project As a result, a PHP 5.3 release was created in
2009, with many non-Unicode features back-ported from PHP 6, notably namespaces. In
March 2010, the project in its current form was officially abandoned, and a PHP 5.4 release
was prepared containing most remaining non-Unicode features from PHP 6, such as traits
and closure re-binding. Initial hopes were that a new plan would be formed for Unicode
integration, but as of 2014 none has been adopted.
PHP
During 2014 and 2015, a new major PHP version was developed, which was numbered
PHP 7. The numbering of this version involved some debate. [38] While the PHP 6 Unicode
experiment had never been released, several articles and book titles referenced the PHP 6
name, which might have caused confusion if a new release were to reuse the name. After a
vote, the name PHP 7 was chosen.
The foundation of PHP 7 is a PHP branch that was originally dubbed PHP next
generation (phpng). It was authored by Dmitry Stogov, Xinchen Hui and Nikita Popov, and
aimed to optimize PHP performance by refactoring the Zend Engine while retaining near-
complete language compatibility. As of 14 July 2014, WordPress-based benchmarks, which
served as the main benchmark suite for the phpng project, showed an almost 100%
increase in performance. Changes from phpng are also expected to make it easier to
improve performance in the future, as more compact data structures and other changes are
seen as better suited for a successful migration to a just-in-time (JIT) compiler. Because of
the significant changes, the reworked Zend Engine is called Zend Engine 3, succeeding Zend
Engine 2 used in PHP 5.
Because of major internal changes in phpng, it must receive a new major version number of
PHP, rather than a minor PHP 5 release, according to PHP's release process. Major versions
of PHP are allowed to break backward-compatibility of code and therefore PHP 7
presented an opportunity for other improvements beyond phpng that require backward-
compatibility breaks. In particular, it involved the following changes:
Many fatal- or recoverable-level legacy PHP error mechanisms were replaced with
modern object-oriented exceptions
The syntax for variable dereferencing was reworked to be internally more consistent
and complete, allowing the use of the operators ->, [], (), {}, and :: with arbitrary
meaningful left-hand-side expressions
Support for legacy PHP 4-style constructor methods was removed
The behavior of the foreach statement was changed to be more predictable
Constructors for the few classes built-in to PHP which returned null upon failure were
changed to throw an exception instead, for consistency
Several unmaintained or deprecated server application programming
interfaces (SAPIs) and extensions were removed from the PHP core, most notably the
legacy mysqlextension
The behavior of the list() operator was changed to remove support for string
Support for legacy ASP-style PHP code delimiters (<% and %>, <script
language=php> and </script>) was removed
An oversight allowing a switch statement to have multiple default clauses was fixed[54]
Support for hexadecimal number support in some implicit conversions from strings to
number types was removed
The left-shift and right-shift operators were changed to behave more consistently
across platforms
Conversions between integers and floating point numbers were tightened and
implemented more consistently across platforms
PHP 7 also included new language features. Most notably, it introduces return type
declarations for functions which complement the existing parameter type declarations, and
support for the scalar types (integer, float, string, and boolean) in parameter and return
type declarations
MySQL is a popular choice of database for use in web applications, and is a central component
of the widely used LAMPopen-source web application software stack (and other "AMP" stacks).
LAMP is an acronym for "Linux, Apache, MySQL,Perl/PHP/Python". Free-software open-
source projects that require a full-featured database management system often use MySQL.
Applications that use the MySQL database
include: TYPO3, MODx, Joomla, WordPress, phpBB, MyBB, Drupal and other software.
MySQL is also used in many high-profile, large-scale websites, including Google[12]
[13] (though not for searches), Facebook, Twitter Flickr, and YouTube. On all platforms except
Windows, MySQL ships with no GUI tools to administer MySQL databases or manage data
contained within the databases. Users may use the included command line tools, or
install MySQL Workbench via a separate download.
Deployment
LAMP software bundle, displayed here together with Squid.
MySQL can be built and installed manually from source code, but it is more commonly installed
from a binary package unless special customizations are required. On most Linux distributions,
the package management system can download and install MySQL with minimal effort, though
further configuration is often required to adjust security and optimization settings.
Though MySQL began as a low-end alternative to more powerful proprietary databases, it has
gradually evolved to support higher-scale needs as well. It is still most commonly used in small
to medium scale single-server deployments, either as a component in a LAMP-based web
application or as a standalone database server. Much of MySQL's appeal originates in its relative
simplicity and ease of use, which is enabled by an ecosystem of open source tools such
as phpMyAdmin. In the medium range, MySQL can be scaled by deploying it on more powerful
hardware, such as a multi-processor server with gigabytes of memory.
There are however limits to how far performance can scale on a single server ('scaling up'), so on
larger scales, multi-server MySQL ('scaling out') deployments are required to provide improved
performance and reliability. A typical high-end configuration can include a powerful master
database which handles data write operations and is replicated to multiple slaves that handle all
read operations The master server continually pushes binlog events to connected slaves so in the
event of failure a slave can be promoted to become the new master, minimizing downtime.
Further improvements in performance can be achieved by caching the results from database
queries in memory using memcached, or breaking down a database into smaller chunks
called shards which can be spread across a number of distributed server clusters.
SYSTEM STUDY
EXISTING SYSTEM
Existing Online certificate to offline certificate is implemented by using Asp.net. Its
Web based application, it works only in Anywheree. So communication is not easy. In this
System can share Database only, not an Application. Application should implement individually
on each and every desktop machine. It causes more machine space, so it takes more time and less
efficient consuming. System needs a lot of system administrator for maintenance.
DRAWBACKS
PROPOSED SYSTEM
Online certificate to offline certificate is implemented by using PHP,MYSQL. Its
Web based application
Highly Securable.
Data Processing is very fast
Easy to communicate and sharing of transactions.
It provides accuracy.
No time consuming.
Reduce the needs of human to maintain the data.
SYSTEM ANALYSIS
PROBLEM DEFINITION:
FEASIBILITY ANALYSIS:
All projects are feasible-given unlimited resources and infinite time. But the development of
computer based system is likely to be plagued by scarcity of resources and difficulty completion
dates. A system, which is ill conceived, if recognized early will avert month or years of effort,
thousand of dollars professionals embarrassment etc.
Economic Feasibility:
Economic feasibility is the most frequently used method for evaluating the effectiveness
of a candidate system. More commonly known as cost/benefit analysis, the procedure is to
determine the benefits and savings that are expected form a candidate and compare them with
costs. If the benefits outweigh costs, then the decision is made to design and implement the
system. Otherwise drop the system.
Technical Feasibility:
Technical feasibility centers on the existing computer system (Hardware, Software, etc.)
and to what extent it can support the proposed addition. For example, if the current computer is
operating at 80% capacity the running another application could overload the system or require
additional hardware. This involves financial consideration to accommodate technical
enhancements. If the budget is a serious constraint, then the project is judged not feasible.
Behavioral feasibility:
People are inherently resistant to change and computers have been known to facilitate
changes. An estimate should be made of how strong a reaction the user staff is likely to have
towards the development of a computerized system. It is common knowledge that computer
installations have something to do with turnover, transfer, retaining and changes in employee job
status. Introduction of new candidate system requires special effort to educate, sell and train the
staffs.
SYSTEM DESIGN AND DEVELOPMENT
System Design:
Design has been described as a multi step process in which representations of data structure,
program structure, interface characteristics and phase begins when the requirements specification
document for the software to be developed, Is available. System design is a creative and
challenging phase that serves as a foundation for all software engineering and maintenance steps
that follows. Design builds coherent, well-planned representations of programs. The design
specification describes the features of the system, the components or elements of the system and
their appearance to users. In the design phase, dataflow, data-stores, processes, procedures,
controls etc. are designed.
INPUT DESIGN:
The input forms are developed in a user-friendly way so that a layman also can easily
understand everything. Menus are provided to users and interactive dialogues are designed so
that it prompts questions. So the forms are designed in such a way that the end-use can easily
navigate through the entire system.
The input design is the link that ties the information system into the world of its users. It is a
process of converting user-oriented inputs to a computer-based format. Input data are collected
and organized into a group of similar data. Once identified, appropriate input media are selected
for processing.
The goal of designing input data is to make entry easy, logical and free form errors. In input data
design, we design source document that capture the data and then select the media used to enter
them into the computer. The input forms are developed in a user-friendly way so that a layman
also can easily understand everything. Menus are provided to users are different icons are
designed so that proposed system design looks decorative. Input design is the part of the overall
system design. Source documents initiate a processing cycle as soon as they are entered into the
system through the keyboard. A source should be logical and easy to understand.
OUTPUT DESIGN:
Output refers to the results and information that are generated by the system. Outputs
from the computer are required primarily to communicate the results of the processing to users.
Output forms are also designed in a specific manner as per the user requirement. Results are
formatted to enhance clarity. Depending on the user the system would generate appropriate
output. The output forms are designed in such a way that the entire user required data is
presented While designing an output, the system analyst must accomplish the following.
Determine what information to present.Decide whether to display, print or speak information and
select the output medium.
DATABASE DESIGN:
PROCESS DESIGN:
The purpose of the design is, to establish the communication between the data and the code. The
process takes the data from the database and checks these data with the user-inputted data or any
other data. Once the process has been finished, the output or the report will be generated based
on the process results.
SYSTEM TESTING AND IMPLEMENTATION
INTRODUCTION:
Testing is the process of detecting errors for which the required open web application
secure employment portal specifications stated. Testing performs a very critical role for quality
assurance and for ensuring the reliability of software. The results of testing are used later on
during the software maintenance. The aim of testing is often used to demonstrate that a program
works by showing that it has no errors. The basic purpose of testing phase is to detect the errors
that may be present in the program. Hence one should not start testing with the intent of showing
that a program works, but the intent should be to show that a program doesn’t work. The main
objective of testing is to uncover an error in systematic way with minimum effort and time.
TESTING OBJECTIVES
The testing objectives are summarized in the following three steps:
Testing is process of executing a program with the intent of finding an error.
A good test case is one that has high probability of finding an undiscovered error.
A successful test is one that uncovers an as yet undiscovered error.
TESTING TYPES
Unit testing
Integration testing
System testing
Acceptance testing
Unit Testing:
This test focuses on verification effort on the smallest unit of software module. Using the
detailed design and the process specifications testing is done to uncover errors within the
boundary of the module. All the modules must be successful in the unit test before the start of the
integration testing begins. In this project each service is a module like Login, Forms etc. Each
module has to be tested by giving different sets of inputs. The inputs are validated when
accepting from user.
Integration Testing:
After the unit testing the integration of modules has to be done and then integration
testing can be done. The goal here is to see if modules can be integrated properly, the emphasis
being on testing interfaces between different modules.
System Testing:
In the system testing the entire web portal is tested according the software requirement
specifications document.
Acceptance Testing:
The acceptance testing is performed with realistic data of the client, which focus on the
external behaviour of the system; the internal logic of the program is emphasized. Software
testing is a critical element of software quality assurance and represents the ultimate review of
specification, design and coding. Testing is the exposure of the system to trial input to see
whether it produces correct output.
TESTING PHASES:
It is a test case design method that uses the control structures of the procedural design to
derive test cases.
Using this testing a software Engineer can derive the following test cases:
It is a test case design method used on the functional requirements of the software. It will help a
software engineer to derive sets of input conditions that will exercise all the functional
requirements of the program.
TESTING PLANS:
Testing can be done in two ways:
Bottom up approach
Top down approach
SYSTEM IMPLEMENTATION
Implementation is the stage of the project when the theoretical design is turned in to a
working system. The most crucial stage is achieving a successful new system and is giving the
user’s confidence is that the new system will work and be effective in the implementation stage.
This stage consists of,
The system has been tested with sample data and adequate corrections were made as per
user requirements. The user has very little chances of making data entry errors since enough
validation checks and validation error message are provided in the system. The end user with
minimum amount of computer knowledge will able to key in the data and understand the error
messages. All reports have been found to satisfy their requirements.