Professional Documents
Culture Documents
Project Report on
Find Places
DECLARATION
The matter embodied in this project work has not been submitted earlier for award of any
degree or diploma to the best of my knowledge and belief.
Date: (Somvir)
Department of Computer Science & Applications
Kurukshetra University, Kurukshetra
CERTIFICATE
It is certified that Mr. Somvir, a student of Master of Computer Applications (MCA), under Roll No.1256420 for
the session 2017-20, has completed the project entitled “Find Places” undertaken at “Appworx IT Solution Pvt Ltd”
under my supervision. He has attended the Department of Computer Science & Applications, Kurukshetra
University, Kurukshetra and “Appworx IT Solution Pvt Ltd” for required number of days after the theory
examination of Vth semester.
CERTIFICATE
It is certified that Mr. Somvir is a bona fide student of Master of Computer Applications (MCA), under Roll
No.1256420. He has undertaken the project entitled Find Places at “Appworx IT Solution Pvt Ltd” under the
supervision of Dr. Chander Kant.
This is to certify that Mr. Somvir a student of Department of Computer Science and
Application, Kurukshetra University is under training from 28th January, 2020 to 30th July,
2020. During this training, he is working under the guidance of Ms. Seema Chauhan. His
overall performance during the training period is Excellent. Other details related to his
training are as below:
iii. Address of the Employer: Plot No. 10, 4th Floor, Rajiv Gandhi IT Park,
Chandigarh, 160101
Name: Deepti
Appworx IT Solutions Pvt Ltd., Corporate and Reg. Office Address: Netsmartz House, Plot No 10, I.T. Park, Chandigarh-160101, India Phone
No: 91-172-5055200, Website: www.appworx.in, CIN: U72900CH2012PTC033966
Acknowledgement
I am highly grateful to the Dr. Rajender Nath, Chairperson, DCSA, KUK for providing me this opportunity to
carry out the six month industrial training at Appworx IT Solution Pvt Ltd. The Constant guidance and
encouragement received from Dr. Chander Kant (Astt. Professor, Dept. of Computer Science and Application)
and training in charge Ms. Seema Chauhan has been of great help in carrying out the work and is acknowledged
with reverential thanks. The help rendered by Ms. Seema Chauhan Supervisor for experimentation is greatly
acknowledged. I also express gratitude to other faculty members of the Department of Computer Science And
Application, Kurukshetra University, Kurukshetra for their intellectual support throughout the course of this work.
Finally, I am indebted to all whosoever have contributed in this report work.
(Somvir)
ABSTRACT
This report describes an overview and the outcome of work done during the industrial
training of the Master of Computer Applications. During training, I had made the project on
FIND PLACES. In this project, I have used HTML5, CSS, JavaScript, PHP and MYSQL
Server.
Find Places is a website which is used to search for the places we don’t know about and
provides the following services
1. Introduction To Project
2. Planning
4 System Design
5 System Development
6 System Testing
6.1 Introduction ............................................................................................. 66
7 Deployment
9. Maintenance
11. Bibliography
List of Figures
Fig No Figure Name Page No.
1.1 Software Development Life Cycle 3
2.1 Project Planning 6
3.1 Determining requirements 17
3.2 System Analysis 18
3.3 Flow Chart 22
3.4 Data Table 23
4.1 Top Down 24
4.2 Bottom Up 26
4.3 Strategic Design 29
4.4 Data Flow Diagram 28
5.1 Admin Data 63
5.2 Add category 63
5.3 View category 64
5.4 Add location 64
5.5 View location 65
5.6 Add place 65
5.7 View place 66
5.8 Add city 66
5.9 View city 67
5.10 Front page 68
5.11 Places 70
5.12 Gallery 71
5.13 Map 71
5.14 About us 73
6.1 System testing 77
6.2 System testing process 78
8.1 User acceptance testing 86
9.1 Maintenance cost 88
CHAPTER-1
INTRODUCTION
“Find places” is an online information system which helps the user for place
automation which is usually for recreational leisure, family or business purposes, for a
limited duration. It helps when a people plans to visit a place about which they don’t
have a deep thought or knowledge. When people searches for a definite place , it will
help them to get everything to visit on that place with all regarding information like
weather, opening and closing timings details and all history about that place. This
system will help people to get to know each and every small place that they can visit to.
To provide a search platform where users get a deep knowledge about the place of their
own choice. To achieve our goal i.e. to make a website with the help of which an
unknown can also explore those searched places. However, simply we can say that Find
Places will redirect users to get into the virtual image of a specific place. It mainly
works on what to search and what we will get i.e., our plan for a specific tourist place
or historical place can only be successful if and only if we have the whole knowledge
about that particular place. So this project will fulfill these requirements of users.
a. Firstly, to learn the different phases of web based product development and gain
hand on experience while developing a complete website. Also to learn the major
tools and technologies of web designing like Bootstrap, Magento etc.
b. Secondly, project is very needy and helpful in context with the dependency of
people on mobile devices.
c. This type of website are on a very large scale that means doesn’t cover the small
places but here this project Find places covers all small tourist places.
1
1.3 Objectives Of the Project
The main objective of the Find Place web based application is to provide the best
services to users about the specific place. It mainly works on what to search and what
we will get i.e., our plan for a specific tourist place or historical place can only be
successful if and only if we have the whole knowledge about that particular place. So
this project will fulfill these requirements of users.
2
employment and successful careers in the organized sector. Appworx is a skills
training provider who works with the Indian government as an NSDC training partner
and to date has trained thousands of graduates in different vocational courses, thereby
providing gainful employment to many youngsters.
The software development process, as with all great projects, starts with an idea. It
takes planning, preparation, and management of phases and team members to reach a
goal. SDLC is a mapped-out, regulated framework that typically follows the following
universal phases to deliver high-quality software application.
1. Planning: In the planning phase, IT Project Manager plans the schedule and budget
of the project. All the plans are documented in Project Plan document.
2. Analysis: It’s about the detailing the requirements gathered from client. Each
requirement is provided with more specifications. The mock up diagrams, use cases,
context diagrams, activity diagrams are more commonly used to explain the client
requirements. This task is done by Business Analyst. The documents containing
requirements and its specifications are to be signed off from the client. The technical
team uses these documents to understand the requirements of clients, visualize them
and develop the software as per the client expectations.
3
3. Design: The blueprint or programming logic of software is designed by a Technical
Architects team. In the programming logic, the programs, steps in the program,
interfaces between the programs, data flow, control flows are designed. The
database structure is designed by the database team.
4. Development: The developers or programmers refer to the design of the software
for programming or coding. The database development develops the database for the
software. There are several programming languages like Java, C#, PHP, etc.
5. Software Testing: The software is tested at different levels of the software
development to identify the defects and verify the requirements of the client by
developers, QA team and also vendors.
6. Deployment: The thoroughly tested software is released to the client. The
developers with assistance of system administrators get the software installed in the
production environment. The installation manual has the steps for installation and
configuration of the system for installation.
7. User Acceptance testing: The end users test the software to make sure the software
meets their requirements. The software testers and business analysts users for
testing. The user manual can be referred by users to get the functioning of software.
8. Maintenance: This post-release phase is tasked with keeping the software
completely operational, updating it to meet quality standards, and enhancing
it throughout its life to ensure it continues to attract and retain users.
The project report contains detail description of how this project is build. This report
discuss each and every step taken in development of project in detail.
Chapter-2: Planning
Project Plan is the most important document in the project, as it provides the Project
Manager with a roadmap ahead, and it tells them during the journey whether they are
on-track. Using this Project Plan template, you can create a comprehensive project man
4
Chapter-3: System analysis
It is really the first step in the design of the new system during this phase, the project
team investigates any current system, and develops a concept for the new system.
System design phase consists and elaborate the collection of deliverables like
architecture and interface design, database and file specifications, and program design.
Chapter-7: Deployment
Software deployment includes all of the steps, processes, and activities that are
required to make a software system or update available to its intended users.
UAT is done in the final phase of testing after functional, integration and system testing
is done. The main purpose of UAT is to validate the end to end business flow. It
doesn’t focus on errors
Chapter-9: Maintenance
Software Maintenance is the process of modifying a software product after it has been
delivered to the customer.
5
Chapter-2
PROJECT PLANNING
2.1. Introduction To Project Planning
A Project Plan sets out the phases, activities and tasks needed to deliver a project. The
timeframes required for the delivery of the project, along with the resources and
milestones are also shown in the Project Plan. We can quickly and easily create a
comprehensive Project Management Plan for your project, as it already lists the
commonly used tasks needed to complete projects from start to finish. This is also
known as requirement analysis phase where all inputs are collected from domain
experts. Planning for the quality assurance requirements and recognization of the risks
involved is also a part of the planning or requirement analysis phase. This phase gives a
clearer picture of the scope of entire project and the anticipated issues, opportunities
and directives which triggers the project. The Project Plan is the most important
document in the project, as it provides the Project Manager with a roadmap ahead, and
it tells them during the journey whether they are on-track. Using this Project Plan
template, you can create a comprehensive project management plan for your project
today.
6
2.2. Main tasks of project Planning
Figure 2 above explains main tasks of planning phase for a software development.
7
Number of people required to fill each role
Items of equipment to be used and their purposes
Types and quantities of equipment needed
Total amount of materials needed
Plan the dates for using or consuming these resources
Identify the amount of resource required per project activity
Create a detailed resource utilization schedule.
A Resource Plan is created during the Resource Planning phase of the project. Anyone
responsible for Project Resource Management will need to create a comprehensive
Resource Plan, to ensure that all of the resources needed to complete the project are
identified. By implementing proper Resource Planning practices, it also helps you with
budgeting and forecasting project expenditure.
This Financial Planning process will help you to quickly and easily create a Financial
Plan for your project. A Financial Plan enables you to set a "budget", against which
you measure your expenditure. To deliver you project "within budget", you need to
produce the project deliverables at a total cost which does not exceed that stated in the
budget. Using this financial plan template, you can create a detailed budget against
which to measure the success of your project. A Financial Plan identifies the Project
Finance (i.e. money) needed to meet specific objectives. The Financial Plan defines all
of the various types of expenses that a project will incur (labor, equipment, materials
and administration costs) along with an estimation of the value of each expense. The
Financial Plan also summarizes the total expense to be incurred across the project and
this total expense becomes the project budget. As part of the Financial Planning
exercise, a schedule is provided which states the amount of money needed during each
stage of the project.
8
Type of labour cost to be incurred during the project
Items of equipment needed to deliver the project
Various materials needed by the project
Unit costs for labor, equipment and materials
Other costs types such as administration
Amount of contingency needed
Calculating the total cost involved in completing the project
Identifying the total cost of each project activity
Creating a schedule of expenses
Creating a project budget is an extremely important part in any project, as it gives you
a goal post to aim for. This Financial Plan will help you meet that goal post, by giving
you a clear process and template for creating a budget for your project. Whenever you
need to ask for money, you need a sound Financial Plan showing how it will be
consumed. For a Project Manager, getting Project Finance is one of the most critical
tasks in the project. Therefore, sound Financial Planning principles must be followed to
ensure a positive outcome. Using this Financial Plan template, you can create a detailed
Financial Plan for your project. It will help you get the Project Finance needed to
successfully deliver your project on time.
Create a Quality Assurance Plan and Quality Control Plan, using this quality
management plan template. It will help you to set quality targets for your project to
ensure that the deliverables produced, meet the needs of your customer. You can then
use it to schedule quality control and quality assurance activities, to assure your
customer that the quality targets will be met. A Quality Plan helps you schedule all of
the tasks needed to make sure that your project meets the needs of your customer. It
comprises two parts; the Quality Assurance Plan lists the independent reviews needed
and the Quality Control Plan lists the internal reviews needed to meet your quality
9
targets. By using Quality Assurance and Quality Control techniques, you can create a
comprehensive Quality Management Plan for your project.
Creating a Quality Plan is essential if you want to provide the customer with
confidence that you will produce a solution that meets their needs. The Quality Plan
states everything you're going to do, to ensure the quality of your solution. The first
section defines the Quality targets. The second section sets out a Quality Assurance
Plan. And the third section defines a Quality Control Plan. By using this template, you
can create a Quality Management Plan that gives your customer a high degree of
confidence that you will succeed. Quality Planning is a critical part of any project. It
enables you to agree a set of quality targets with your customer. It then helps you to
monitor and control the level of quality produced by the project, to ensure that you
meet the quality targets set. By using this quality plan template, you can set quality
targets and ensure that your project produces deliverables which meet your customers
needs, thereby ensuring your success.
10
This project Risk Management Plan helps you to identify risks and implement a plan to
reduce them. It helps you do this, by giving you a complete risk management plan,
showing you how to take action to reduce risk in your project. Using this risk plan, you
can monitor and control risks effectively, increasing you chances of achieving success.
A Risk Plan helps you to foresee risks, identify actions to prevent them from occurring
and reduce their impact should they eventuate. The Risk Management Plan is created as
part of the Risk Planning process. It lists of all foreseeable risks, their ranking and
priority, the preventative and contingent actions, along with a process for tracking
them. This Risk Plan template will help you perform these steps quickly and easily.
Creating a Risk Management Plan is a critical step in any project, as it helps you to
reduce the likelihood of risk from occurring. Regardless of the type of risk, you will be
able to use this template to put in place processes and procedures for reducing the
likelihood of risk occurring, thereby helping you to deliver your project successfully. A
Risk Plan should be used anytime that risks need to be carefully managed. For instance,
during the start up of a project a Risk Plan is created to identify and manage the risk
involved with the project delivery. The Risk Plan is referred to frequently throughout
the project, to ensure that all risks are mitigated as quickly as possible. The Risk Plan
template helps you identify and manage your risks, boosting your chances of success.
11
2.7. Project communication
This Communication Plan template will help you to communicate the right
information, to the right people, at the right time. It will also help you create a schedule
of communications events to ensure that your stakeholders are always kept properly
informed, ensuring their continued buy-in and support. A Communication Plan
(or Communications Plan) describes how you intend to communicate the right
messages to the right people at the right time. Within a Communication Plan, the
communication goals, stakeholders and strategies, activities and timeframes are
described. A Communication Plan helps you keep everyone informed so that you can
communicate a consistent message to your target audience.
Whenever you have a variety of staff, external suppliers, customers and stakeholders to
communicate with, then you should record your communications formally in a
Communication Plan. A clear Communications Plan is vital to the success of an
organization. It is also critical to the success of projects, as it ensures that all of the staff
and stakeholders are kept properly informed of the progress of a project. The best time
to perform Communication Planning is during the start up phase of a project. This will
ensure your Communication Plan includes the tasks needed to communicate effectively
throughout the entire project life cycle. Communication Planning is an important part
of any business. Using this template you can create a comprehensive Communications
12
Plan for your project or team, helping keep your stakeholders properly informed at all
times.
2.8. Summary
Project planning is a discipline for stating how to complete a project within a certain
timeframe, usually with defined stages, and with designated resources. Planning phase
of the project development is mainly for the requirement collection and analysis which
helps to gather all necessary information and tools for the project. After getting all the
information that you need, put them all together as a project plan using a project
management tool that works for you. In this phase cost analysis, resource analysis, risks
that may affect the development are all analysed under certain conditions. This phase
helps the whole project development under these analysis.
13
Chapter-3
SYSTEM ANALYSIS
There are three phases in a system analysis phase of every software as discussed below:
14
3.2.1 Analysis Strategy
15
keep in mind that the deliverable from the analysis phase is both an
analysis,and,a high-level initial design for the new system.
When a project is initiated and planned and we begin determine what the new
system should do. During requirements determination, you and other analysts
gather information on what the system should do from as many sources as
possible. Such sources include users of the current system, reports, forms, and
procedures. All of the system requirements are carefully documented and made
ready for structuring. Structuring means taking the system requirements you find
during requirements determination and ordering them into tables, diagrams, and
other formats that make them easier to translate into technical system
specifications. In many ways, gathering system requirements is like conducting
any investigation. The characteristics you need to enjoy solving mysteries and
puzzles are the same ones you need to be a good systems analyst during
requirements determination. These characteristics include:
Impertinence: You should question everything. Ask such questions as “Are all
transactions processed the same way?” “Could anyone be charged something
other than the standard price?” “Might we someday want to allow and
encourage employees to work for more than one department?”
Impartiality: Your role is to find the best solution to a business problem or
opportunity. It is not, for example, to find a way to justify the purchase of new
hardware or to insist on incorporating what users think they want into the new
system requirements. You must consider issues raised by all parties and try to
find the best organizational solution.
16
Relaxing of constraints: Assume anything is possible and eliminate the
infeasible. For example, do not accept this statement: “We’ve always done it
that way, so we have to continue the practice.” Traditions are different from
rules and policies. Traditions probably started for a good reason, but as the
organization and its environment change, they may turn into habits rather than
sensible procedures.
Attention to details: Every fact must fit with every other fact. One element out
of place means that the ultimate system will fail at some time. For example, an
imprecise definition of who a customer is may mean that you purge customer
data when a customer has no active orders; yet these past customers may be
vital contacts for future sales.
Reframing: Analysis is, in part, a creative process. You must challenge yourself
to look at the organization in new ways. Consider how each user views his or
her requirements. Be careful not to jump to this conclusion: “I worked on a
system like that once—this new system must work the same way as the one I
built before.”
The deliverables summarized in the Table contain the information you need for systems
analysis. In addition, in your information gathering, you need to understand the
following components,of,an,organization:
17
The business objectives that drive what and how work is done
The information people need to do their jobs
The data handled within the organization to support the jobs
When, how, and by whom or what the data are moved, transformed and stored
The sequence and other dependencies among different data-handling activities
The rules governing how data are handled and processed
Policies and guidelines that describe the nature of the business, the market, and the
environment in which it operates
Key events affecting data values and when these events occur
18
The amount of information gathered during requirements determination could be huge,
especially if the scope of the system under development is broad. The time required to
collect and structure a great deal of information can be extensive and, because it
involves so much human effort, quite expensive. Too much analysis is not productive,
and the term analysis paralysis has been coined to describe a project that has become
bogged down in an abundance of analysis work. Because of the dangers of excessive
analysis, today’s systems analysts focus more on the system to be developed than
on the current system. Later , you learn about joint application design (JAD) and
prototyping, techniques developed to keep the analysis effort at a minimum yet still be
effective. Other processes have been developed to limit the analysis effort even more,
providing an alternative to the SDLC. Many of these are included under the name
of Agile Methodologies. Before you can fully appreciate alternative approaches, you
need to learn traditional fact-gathering techniques.
19
Figure3.3: Flow Chart
These are the relations we have designed to manage the database. Here we have
followed a convention of having the table names with tb as a prefix, and the remaining
name of the table represent the description of the data inside that table.
A Complete Database and tables detail with Primary and Foreign Keys, and proper
Constraints in fields..
20
make information access easy, quick, inexpensive and flexible for the user. In database
design of this project several objectives were considered.
21
3.5 Summary
System analysis is the whole process of determining what is needed for the system to
be developed. All requirements are determined and what methods to be used for the
system prototype. All methods like data tables and flow charts are used to make design
for the software to be developed. Because it is really the first step in the design of the
new system, some experts argue that it is inappropriate to use the term analysis for this
phase; some argue a better name would be analysis and initial design. It examine the
information needs of end-user and enhances the system goal.
22
Chapter-4
SYSTEM DESIGN
I. The design strategy is first developed. It clarifies whether the system will be
developed by the company’s own programmers, whether the system will be
outsourced to another firm (usually a consulting firm), or whether the company
will buy an existing software package.
II. This leads to the development of the basic architecture design for the system,
which describes the hardware, software, and network infrastructure to be used.
In
most cases, the system will add or change the infrastructure that already exists
in the organization. The interface design specifies how the users will move
through
the system (e.g., navigation methods such as menus and on-screen buttons) and
the forms and reports that the system will use.
III. The database and file specifications are developed. These define exactly what
data
will be stored and where they will be stored.
23
IV. The analyst team develops the program design, which defines the programs that
need to be written and exactly what each program will do.
Logical design pertains to an abstract representation of the data flow, inputs, and
outputs of the system. It describes the inputs (sources), outputs (destinations), databases
(data stores), procedures (data flows) all in a format that meets the user
requirements.While preparing the logical design of a system, the system analyst
specifies the user needs at level of detail that virtually determines the information flow
into and out of the system and the required data sources. Data flow diagram, E-R
diagram modeling are used.
24
4.2.2 Physical Design
Physical design relates to the actual input and output processes of the system. It focuses
on how data is entered into a system, verified, processed, and displayed as output.It
produces the working system by defining the design specification that specifies exactly
what the candidate system does. It is concerned with user interface design, process
design, and data design.
Specifying the input/output media, designing the database, and specifying backup
procedures.
Devising a test and implementation plan, and specifying any new hardware and
software.
The top-down strategy uses the modular approach to develop the design of a system. It
is called so because it starts from the top or the highest-level module and moves
towards the lowest level modules. In this technique, the highest-level module or main
module for developing the software is identified. The main module is divided into
several smaller and simpler sub modules or segments based on the task performed by
each module. Then, each sub module is further subdivided into several sub modules of
next lower level. This process of dividing each module into several sub modules
continues until the lowest level modules, which cannot be further subdivided, are not
identified.
25
Figure 4.1: Top Down Design
Bottom-Up Strategy follows the modular approach to develop the design of the system.
It is called so because it starts from the bottom or the most basic level modules and
moves towards the highest level modules.
In this technique,
The modules at the most basic or the lowest level are identified.
These modules are then grouped together based on the function performed by each
module to form the next higher-level modules.
Then, these modules are further combined to form the next higher-level modules.
This process of grouping several simpler modules to form higher level modules
continues until the main module of system development process is achieved.
26
Figure 4.2: Bottom Up Strategy
Structured design is a data-flow based methodology that helps in identifying the input
and output of the developing system. The main objective of structured design is to
minimize the complexity and increase the modularity of a program. Structured design
also helps in describing the functional aspects of the system. In structured designing,
the system specifications act as a basis for graphically representing the flow of data and
sequence of processes involved in a software development with the help of DFDs.
After developing the DFDs for the software system, the next step is to develop the
structure chart.
27
4.4 Tools Used for System Design
4.4.1 Data-Flow Diagrams (DFDs)
Data-flow diagrams allow you to model how data flow through an information
system, the relationships among the data flows, and how data come to be stored
at specific locations. Data-flow diagrams also show the processes that change or
transform data.
Because data-flow diagrams concentrate on the movement of data between
processes, these diagrams are called process models. As the name indicates, a data-
flow diagram is a graphical tool that allows analysts (and users) to show the flow
of data in an information system. The system can be physical or logical, manual or
computer based. In this lesson, you learn the mechanics of drawing and revising
data-flow diagrams, as well as the basic symbols and set of rules for drawing them.
We also alert you to pitfalls. You learn two important concepts related to data-flow
diagrams: balancing and decomposition. At the end of the lesson, you learn how
to use data-flow diagrams as part of the analysis of an information system and as a
tool for supporting business process reengineering. You also are briefly introduced
to a method for modeling the logic inside processes, decision tables.
28
diagrams, have had a significant impact on the quality of the systems
development process.
29
table has an equivalent ER diagram. ER diagramming is an invaluable aid to
engineers in the design, optimization, and debugging of database programs.
Entities and Entity Sets:
4.5 Summary
System design is the process where we decide what hardware, software and architecture
will be needed for our system. Actually, almost all the decision made out at the time of
analysis but in design phase specifically we talk about the architecture design, interface
design, database and file specifications, and program design needed for the system. Let
us assume the software like we used Xampp for our system development. This all
comes under system design and all technicals decide the best suited hardware and
softwares.
30
Chapter-5
System development
The users have the opportunity to fine-tune the requirements and review the resulting
software implementation. Construction stage deliverables include documentations and
instructions necessary to operate the new application and routines and procedures
needed to put the system into operation
HTML is the main markup language for displaying web pages and other information
that can be displayed in a web browser. It was developed by Tim Berners Lee at CERN
laboratory. HTML or Hyper-text Mark-up Language is a globally accepted
programming language for formatting web pages. In today’s world, it is commonly
used along with JavaScript and Cascading Style Sheets (CSS) to give web pages the
look and feel we desire. Through HTML, the look and appearance of images, links,
31
headings, text, page layout and just about every element of a web page can be
formatted. HTML is a language for describing web pages.HTML is a very simple
language, easy to learn and user friendly. It is as popular as it can use any text editor for
coding purposes, and developing web pages is an easy task here. HTML is the language
interpreted by browsers. Web pages are also called HTML documents. HTML is a set
of special Codes that can be emended in text to add formatting and linking Information.
HTML is specified as tags in an HTML documents i.e the Web page.
5.2.1.2 CSS
Cascading Style Sheets 3 is a style sheet language used for describing the presentation
semantics (the look and formatting) of a document written in a markup language. It’s
most common application is to style web pages. CSS is designed primarily to enable
the separation of document content (written in HTML or a similar markup language)
from document presentation, including elements such as the layout, c olors, and f onts.
This separation can improve content accessibility, provide more flexibility and control
in the specification of presentation characteristics, enable multiple pages to share
32
formatting, and reduce complexity and repetition in the structural content (such as by
allowing for table less web design.
5.2.1.3 JavaScript
• Client-side JavaScript
5.2.1.4 jQuery
jQuery is a cross-platform JavaScript library designed to simplify the client-side
scripting of HTML.It is free, open-source software using the permissive MIT
33
license. Web analysis indicates that it is the most widely deployed JavaScript library by
a large margin JQuery is a fast, small, and feature-rich JavaScript library. It makes
things like HTML document traversal and manipulation, event handling, animation,
and Ajax much simpler with an easy-to-use API that works across a multitude of
browsers. With a combination of versatility and extensibility, jQuery has changed the
way that millions of people write jQuery's syntax is designed to make it easier to
navigate a document, select DOM elements, create animations, handle events, and
develop Ajax applications. jQuery also provides capabilities for developers to
create plug-ins on top of the JavaScript library. This enables developers to
create abstractions for low-level interaction and animation, advanced effects and high-
level, themeable widgets. The modular approach to the jQuery library allows the
creation of powerful dynamic web pages and Web applications.
The set of jQuery core features—DOM element selections, traversal and
manipulation—enabled by its selector engine (named "Sizzle" from v1.3), created a
new "programming style", fusing algorithms and DOM data structures. This style
influenced the architecture of other JavaScript frameworks like YUI v3 and Dojo, later
stimulating the creation of the standard Selectors API. Microsoft and Nokia bundle
jQuery on their platforms.Microsoft includes it with Visual Studio for use within
Microsoft's ASP.NET AJAX and ASP.NET MVC frameworks while Nokia has
integrated it into the Web Run-Time widget development platform.
5.2.1.5 Bootstrap
Bootstrap is a front-end framework for HTML, CSS and JavaScript that is notable for
developing mobile-first and responsive websites. With some basic knowledge of
HTML and CSS, you can create Bootstrap forms, tables, buttons, typography,
navigation, modals, image carousels and optional JavaScript plugins, by using the
premade templates Bootstrap provides you.
1. Responsive: Bootstrap's features are responsive, which means they are optimized to
fit the size of the screen you're seeing the page on, such as desktops, tablets or cell
34
phones. For example, a Bootstrap form on a desktop site will proportionally change in
size when viewed from a mobile phone.
4. Easy-to-use—The best reason of them all! You only need very barebones
knowledge of HTML and CSS to begin using Bootstrap.
5.2.1.6 AJAX
Ajax is a web development technique used for creating interactive web applications.
The intent is to make web pages feel more responsive by exchanging small amounts of
data with the server behind the scenes, so that the entire web page does not have to be
reloaded each time the user requests a change. This is intended to increase the web
page’s interactivity, speed, functionality, and usability. Ajax is a cross-platform
technique usable on many different operating systems, computer architectures, and
Web browsers as it is based on open standards such as JavaScript and XML, together
with open source implementations of other required technologies. Or AJAX is a
technique for creating fast and dynamic web pages. AJAX allows web pages to be
updated asynchronously by exchanging small amounts of data with the server behind
the scenes. This means that it is possible to update parts of a web page, without
reloading the whole page. Ajax allows content on Web pages to update immediately
when a user performs an action, unlike an HTTP request, during which users must wait
for a whole new page to load. For example, a weather forecasting site could display
local conditions on one side of the page without delay after a user types in a zip code.
35
Google Maps is one well-known application that uses Ajax. The interface allows the
user to change views and manipulate the map in real time. Ajax applications do not
require installation of a plug-in, but work directly with a Web browser. Because of the
technique's reliance on XMLHttpRequest, early applications worked only with
Microsoft's Internet Explorer browser, but most other browsers now support Ajax.
Applications created with Ajax use an engine that acts as an intermediary between a
user's browser and the server from which it is requesting information. Instead of
loading a traditional Web page, the user's browser loads the Ajax engine, which
displays the page the user sees. The engine continues to run in the background, using
JavaScript to communicate with the Web browser. User input or clicking on the page
sends a JavaScript call to the Ajax engine, which can respond instantly in many cases.
If the engine needs additional data, it requests it from the server, usually using XML,
while it is simultaneously updating the page.
Ajax is not a proprietary technology or a packaged product. Web developers have been
using JavaScript and XML in combination for several years. Jesse James Garrett of the
consultancy firm Adaptive Path is credited with coining the name "Ajax" as a
shorthand way to refer to the specific technologies involved in a current approach.
5.2.1.7 PHP
PHP is an intuitive server side scripting language. Like any other scripting language it
allows developers to build logic into the creation of web page content and handle data
returned from a web browser. PHP also contains a number of extensions that make it
easy to interact with databases, extracting data to be displayed on a web page and
storing information entered by a web site visitor back into the database. web forms and
create content.
36
content that interacts with databases. PHP is basically used for developing web based
software applications.
• PHP started out as a small open source project that evolved as more and more people
found out how useful it was.
MySQL is a relational database. MySQL is a powerful database. It's very good and free
of charge. Many developers in the world selected Mysql and php for developing their
website. So nowadays, we use relational database management systems (RDBMS) to
store and manage huge volume of data. This is called relational database because all the
data is stored into different tables and relations are established using primary keys or
other keys known as foreign keys.
37
MySQL is a very powerful program in its own right. It handles a large subset of
the functionality of the most expensive and powerful database packages.
MySQL uses a standard form of the well-known SQL data language.
MySQL works on many operating systems and with many languages including
PHP, PERL, C, C++, JAVA etc.
MySQL works very quickly and works well even with large data sets.
MySQL supports large databases, up to 50 million rows or more in a table. The
default file size limit for a table is 4GB, but you can increase this (if your operating
system can handle it) to a theoretical limit of 8 million terabytes (TB).
MySQL is customizable. The open source GPL license allows programmers to
modify the MySQL software to fit their own specific environments.
5.2.2.2 XAMPP
XAMPP is an open source free software developed by Apache . XAMPP software
package contains Apache distributions for Apache server, MariaDB, PHP, and
Perl. And it is basically a local host or a local server. This local server works on your
own desktop or laptop computer. You can just install this software on your laptop or
desktop and test the clients or your website before uploading it to the remote web
server or computer. This XAMPP server software gives you suitable environment for
testing MYSQL, PHP, Apache and Perl projects on the local computer.
The full form of XAMPP is X stands for Cross-platform, (A)Apache server,
(M)MariaDB, (P)PHP and (P)Perl. The Cross-platform usually means that it can run on
any computer with any operating system.
Next MariaDB is the most famous database server and it is developed by MYSQL
team. PHP usually provides a space for web development. PHP is a server-side
scripting language. And the last Perl is a programming language and is used to develop
a web application.
5.3 Coding
38
In system development phase, actual code work has taken place with different
languages used in project:
The actual coding of the system modules designed in the design phase is taken up
in the Coding phase.
The best suitable programming language is decided based on the system and
architectural requirements.
The coding is performed based on the coding guidelines and standards.
The code goes through numerous code reviews and is optimized for best
performance before the final build is checked into the repository.
5.3.1 Index.php
<!DOCTYPE html>
<head>
<title>Find Places</title>
<script>
addEventListener("load", function () {
setTimeout(hideURLbar, 5);
}, false);
function hideURLbar() {
window.scrollTo(0, 1);
</script>
39
<link href="css/font-awesome.css" rel="stylesheet">
<link
href="http://fonts.googleapis.com/css?family=Pacifico&subset=cyril
lic,latin-ext,vietnamese" rel="stylesheet">
<link
href="http://fonts.googleapis.com/css?family=Amaranth:400,400i,700,700
i" rel="stylesheet">
<link
href="http://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,40
0i,600,600i,700,700i,800,800i" rel="stylesheet">
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"
></script>
<script type="text/javascript">
$(document).ready(function(){
$('#state').on('change',function(){
//alert(stateID);
if(stateID){
$.ajax({
type:'POST',
url:'state_city.php',
data:'loc_id='+stateID,
success:function(html){
$('#city').html(html);
40
});
}else{
});
});
</script>
<style>
center a {
padding:8px 16px;
color:#333;
font-weight:bold;
</style>
</head>
<body>
<div class="header-w3l">
<div class="nav-agile">
41
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<h1>
</h1>
</div>
<div class="w3l-navtop">
<li>
<a href="index.php">Home</a>
</li>
<li>
<a href="about.php">About</a>
</li>
<li>
</li>
<li>
<a href="Feedback.php">Feedback</a>
</li>
42
</ul>
</div>
</div>
</nav>
</div>
</div>
<div class="w3l_banner_info">
<div class="slider">
<div class="callbacks_container">
<li>
<div class="slider-img-3">
<div class="slider_banner_info">
<h4>
<span>World</span>
</h4>
<div class="readmore-w3-agileits">
<div class="row">
43
<div class="col-sm-6">
<?php
error_reporting('E_ALL ^ E_NOTICE');
include('config.php');
$i=1;
while($fetchLoc=mysqli_fetch_object($select_loc))
?>
<?php
$i++;
?>
<br />
</select>
</div>
<div class="col-sm-6">
44
</select>
</div>
<br />
</form>
</div>
</div>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="trips-section">
<div class="container">
<?php
if(isset($_POST['search']))
$location=$_POST['location'];
$city=$_POST['city'];
45
$select=mysqli_query($con,"select cat_name from places left join
category on places.category=category.cat_id where city='$city'");
$count=mysqli_num_rows($select);
if($count>0)
?>
<h3>Categories</h3>
<?php
while($fetchcat=mysqli_fetch_object($select)){
?>
<h4>
<?php
}else{
}?>
</div>
</div>
<?php
$catname=$_GET['cat_name'];
46
$city=$_GET['city'];
if(!$_GET['cat_name']){
$record_per_page = 9;
$page = '';
if(isset($_GET["page"]))
$page = $_GET["page"];
else
$page = 1;
$start_from = ($page-1)*$record_per_page;
$count=mysqli_num_rows($select_places);
while($fetch=mysqli_fetch_object($select_places))
$places=explode(',',$fetch->image);
?>
<div class="grid-ec1">
47
<h3><?php echo ucwords($fetch->title); ?></h3>
<h4>
<br >
<br>
<?php
$count=mysqli_num_rows($select_rating);
$fetch_rating=mysqli_fetch_object($select_rating);
$rating_count=$fetch_rating->rating;
//print_r($rating_count);
$total_php_rating=$rating_count/$count;
for($i=1;$i<=$total_php_rating;$i++){
?>
<?php
echo "</h5>";
?>
</div>
48
</div>
</div>
<?php
else
?>
</div>
</div>
<?php
$count=mysqli_num_rows($select_places);
while($fetch=mysqli_fetch_object($select_places))
$places=explode(',',$fetch->image);
?>
<div class="grid-ec1">
<h4>
49
<i class="fa fa-map-marker"></i><?php echo $fetch->address; ?></h4>
<br>
</div>
</div>
</div>
<?php
?>
</div>
</div><center>
<?php
$total_records = mysqli_num_rows($page_result);
$total_pages = ceil($total_records/$record_per_page);
$start_loop = $page;
if($difference < 1)
$start_loop = $total_pages - 1;
50
}
$end_loop = $start_loop+2;
if($page > 1)
?>
</center>
<div class="testimonials">
<div class="container">
<div class="w3_testimonials_grids">
<section class="slider">
<div class="flexslider">
51
<ul class="slides">
<?php
$count=mysqli_num_rows($select_feedback);
while($fetch=mysqli_fetch_object($select_feedback)){
?>
<li>
<div class="w3_testimonials_grid">
<h4>
<i>
</i>
</h4>
</div>
</li>
<?php
?>
</ul>
</div>
</section>
</div>
</div>
52
</div>
<?php
include('config.php');
if(isset($_POST['subscribe']))
$email=$_POST['email'];
if($insert)
header("location:newsletter.php");
else
?>
<?php
include('footer.php');
?>
5.3.2 Rating.php
<?php
53
$postid = $_POST['postid'];
$rating = $_POST['rating'];
$result = mysqli_query($con,$query);
$fetchdata = mysqli_fetch_array($result);
$count = $fetchdata['cntpost'];
if($count == 0){
mysqli_query($con,$insertquery);
}else {
mysqli_query($con,$updatequery);
?>
5.3.3 Feedback.php
<?php
error_reporting('E_ALL ^ E_NOTICE');
include('config.php');
if(isset($_POST['submit']))
$name=$_POST['name'];
54
$email=$_POST['email'];
$suggestion=$_POST['suggestion'];
if($insert)
header("location:feedback.php");
else
?>
<?php
include('header.php');
?>
<div class="inner_banner_agile">
</div>
<div class="services-breadcrumb">
<div class="inner_breadcrumb">
<ul class="short_ls">
<li>
<a href="index.php">Home</a>
55
<span>/ /</span>
</li>
<li>Contact</li>
</ul>
</div>
</div>
<div class="contact">
<div class="container">
<div class="contact-block-left">
</form>
</div>
<div class="contact-seco">
<h3>Get In Touch</h3>
<div class="visit">
56
<div class="clearfix"></div>
</div>
<div class="mail-w3">
</div>
<h4>Mail us</h4>
<p>
<a href="mailto:hardeepsus@gmail.com">findplaces@gmail.com</a>
</p>
</div>
<div class="clearfix"></div>
</div>
<div class="call">
</div>
<h4>Call us</h4>
<p>+91 9878093799</p>
</div>
<div class="clearfix"></div>
</div>
57
</div>
<div class="main">
<ul>
<li class="f1">
<p>Facebook</p>
</a>
</li>
<li class="f3">
<p>Twitter</p>
</a>
</li>
<li class="f4">
<p>Linkedin</p>
</a>
</li>
</ul>
</div>
58
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<h2>More Information</h2>
</div>
<h3>Newsletter</h3>
</form>
</div>
59
<div class="social-w3l">
<ul>
<li>
</a>
</li>
<li>
</a>
</li>
</ul>
</div>
<div class="social-w3r">
<ul>
<li>
<a href="#">Facebook</a>
</li>
<li>
<a href="https://twitter.com/Hardeep68924146">Twitter</a>
</li>
</ul>
</div>
60
</div>
</div>
</div>
</div>
<script src="js/jquery-2.2.3.min.js"></script>
<script src="js/bootstrap.js"></script>
<script src="js/SmoothScroll.min.js"></script>
<script src="js/move-top.js"></script>
<script src="js/easing.js"></script>
<script>
jQuery(document).ready(function ($) {
$(".scroll").click(function (event) {
event.preventDefault();
$('html,body').animate({
scrollTop: $(this.hash).offset().top
}, 1000);
});
});
</script>
<script>
$(document).ready(function () {
$().UItoTop({
easingType: 'easeOutQuart'
61
});
});
</script>
</a>
</body>
</html>
62
5.4 Project Snapshots
5.4.1 Backend
Admin Data:
Add Category:
63
View Category:
Add Location:
64
View Location:
Add Place:
65
View Place:
66
Add City:
View City:
67
5.4.2 Frontend
Home
68
Choose Location
When we click on the Choose Location fiels's dropdown list, A list is displayed which
contains various locations that the users can visit.
Choose City
When we click on the Choose Location fiels's dropdown list, A list is displayed which
contains various cities that the users can visit. These cities are displayed according to
selected location.
Search Button
There is a search button below the dropdown fields. When user selects the location and
then selects the city according the selected location, he/she the click on the search
button. After this he/she is able to find the things that they can visit in the selected
location and city.
E.g. If user selected Amritsar in the Punjab, they are provided with the information of
the places that they can visit in Amritsar like Temples, Museums etc.
Searchplaces
69
Now, suppose user has selected Museum, then name and address of various Museums
that are in Amritsar are displayed with read more button.
The user can select a particular Museum and can get the full information about it like
address, description,entry fee, timing by clicking on Read More button.
Moreover, users are able to see the gallery of that place and can see the map also and
can also rate the places.
70
Figure 5.12: Gallery
71
Gallery
After clicking on the gallery button, we can see full gallery of the find places project.
We can see various images of the various places that are added to the project.
72
About us
When we click on the about button, the information about the project developers is
displayed and the page contains the welcome part, slider and footer.
73
Feedback
After clicking on the feedback button, a feedback form is displayed. This form is
basically for the people who visit the site and after visiting the site they can give
feedback.
74
5.5 Summary
System development phase performs the actual functioning of the software. Developers
perform all the required logical and physical tasks needed. System developers get into
a team and perform the operations like one slot is allotted for the interface designing
part and other for the logical functioning to be performed by the software. This is all to
be done under system development. Usually more than one technical approach is
proposed and based on the technical and financial feasibility the final decision is taken.
75
System design is broken down further into modules taking up different functionality.
The data transfer and communication between the internal modules and with other
systems is clearly understood and defined in this stage. With this information,
integration tests can be designed. A small team of developers, directly working with
users, finalizes the design and build the system.
76
Chapter-6
SYSTEM TESTING
System testing is performed on the entire system in the context of either functional
requirement specifications (FRS) or system requirement specification (SRS), or both.
System testing tests not only the design, but also the behaviour and even the believed
expectations of the customer. It is also intended to test up to and beyond the bounds
defined in the software or hardware requirements specification
77
6.2 System Testing Process
6.2.1 Test Environment Setup
After the generation of the test case and the test data, test cases are executed.
6.2.8 Retest
78
If the test is not successful then again test is performed.
Performance Testing is a type of software testing that is carried out to test the speed,
scalability, stability and reliability of the software product or application.
Load Testing is a type of software Testing which is carried out to determine the
behavior of a system or software product under extreme load.
Stress Testing is a type of software testing performed to check the robustness of the
system under the varying loads.
Scalability Testing is a type of software testing which is carried out to check the
performance of a software application or system in terms of its capability to scale up
or scale down the number of user request load.
6.4 Summary
System testing is performed to check whether the system is performing the tasks it has
to do or not. Whether the system is performing the functioning for what it is developed
or not. The system testing conducted on a complete integrated system to evaluate the
system's compliance with its specified requirements. System testing takes, as its input,
all of the integrated components that have passed integration testing. The purpose of
integration testing is to detect any inconsistencies between the units that are integrated
together. Hence the purpose of system testing is to handover a full working system to
the users with less bugs as much as possible.
79
Chapter-7
DEPLOYMENT
Software deployment includes all of the steps, processes, and activities that are required
to make a software system or update available to its intended users. Today, most IT
organizations and software developers deploy software updates, patches and new
applications with a combination of manual and automated processes. Some of the most
common activities of software deployment include software release, installation,
testing, deployment, and performance monitoring. Software development teams have
innovated heavily over the past two decades, creating new paradigms and working
methods for software delivery that are designed to meet the changing demands of
consumers in an increasingly connected world. In particular, software developers have
created workflows that enable faster and more frequent deployment of software updates
to the production environment where they can be accessed by users. While many
development teams still choose to host applications using on-premises IT infrastructure,
cloud service providers like Amazon Web Services (AWS), Google Cloud Platform
and Microsoft Azure now offer IT Infrastructure-as-a-Service (IaaS) and Platform-as-a-
Service (PaaS) products that help developers deploy applications into live
environments without the additional financial and administrative burden of managing
their own storage and virtualization servers.
DevOps is a methodology and a set of best practices for software development whose
primary goals are to shorten delivery times for new software updates while maintaining
80
high quality. In the DevOps framework, there are seven steps in the software
development process:
1. Coding
2. Building
3. Testing
4. Packaging
5. Releasing
6. Configuring
7. Monitoring
Every organization must develop its own process for software deployment, either
basing it on an existing framework of best practices or customizing a process that meets
relevant business objectives. Software deployment can be summarized in three general
phases: preparation, testing and the deployment itself.
7.3.1 Preparation
In the preparation stage, developers must gather all of the code that will be
deployed along with any other libraries, configuration files, or resources needed
for the application to function. Together, these items can be packaged as a
81
single software release. Developers should also verify that the host server is
correctly configured and running smoothly.
7.3.2 Testing
7.3.3 Deployment
Once an update has been fully tested, it can be deployed to the live
environment. Developers may run a set of scripts to update relevant databases
before changes can go live. The final step is to check for bugs or errors that
occur on the live server to ensure the best possible customer experience for
users interacting with the new update.
7.4 Summary
System deployment goes under the distribution of software system to the users. All
software update comes under the deployment face .
82
Chapter-8
User Acceptance Testing (UAT) is a type of testing performed by the end user or the
client to verify/accept the software system before moving the software application to
the production environment. UAT is done in the final phase of testing after functional,
integration and system testing is done. The main purpose of UAT is to validate the end
to end business flow. It does NOT focus on Cosmetic errors, Spelling mistakes or
System testing. User Acceptance Testing is carried out in a separate testing
environment with production-like data setup. It is a kind of black box testing where two
or more end-users will be involved. The Full Form of UAT is User Acceptance Testing.
83
8.3 UAT Process
UAT is done by the intended users of the system or software. This type of Software
Testing usually happens at the client location which is known as Beta Testing. Once
Entry criteria for UAT are satisfied, following are the tasks need to be performed by the
testers
One of the most important activities in the UAT is to identify and develop test
scenarios. These test scenarios are derived from the following documents:
Project Charter
Business Use Cases
Process Flow Diagrams
Business Requirements Document(BRD)
System Requirements Specification(SRS)
The UAT test plan outlines the strategy that will be used to verify and ensure an
application meets its business requirements. It documents entry and exit criteria for
UAT, Test scenarios and test cases approach and timelines of testing.
84
Figure 8.1: User Acceptance Testing
Identify the test scenarios with respect to high-level business process and create test
cases with clear test steps. Test Cases should sufficiently cover most of the UAT
scenarios. Business Use cases are input for creating the test cases.
It is best advised to use live data for UAT. Data should be scrambled for privacy
and security reasons. Tester should be familiar with the database flow.
Execute test cases and report bugs if any. Re-test bugs once fixed. Test management
can be used for execution.
85
6. Run the Test cases
Business Analysts or UAT Testers needs to send a sign off mail after the UAT testing.
After sign-off, the product is good to go for production. Deliverables for UAT testing
are Test Plan, UAT Scenarios and Test Cases, Test Results and Defect Log
8.4 Summary
User acceptance testing means getting the users review over the deployed system .
There are a number of ways to get the users preview like via social media, official
websites. This is performed just to improve the quality of the system software and
provide a better system to users.
86
Chapter-9
Maintenance
Software Maintenance is the process of modifying a software product after it has been
delivered to the customer. The main purpose of software maintenance is to modify and
update software application after delivery to correct faults and to improve performance.
Software maintenance is a very broad activity that includes error correction,
enhancements of capabilities, deletion of obsolete capabilities, and optimization.
Because change is inevitable, mechanisms must be developed for evaluation,
controlling and making modifications.
This includes modifications and updations when the customers need the product to run
on new platforms, on new operating systems, or when they need the product to
interface with new hardware and software.
A software product needs maintenance to support the new features that the users want
or to change different types of functionalities of the system according to the customer
demands.
87
9.2.4 Preventive maintenance
Reports suggest that the cost of maintenance is high. A study on estimating software
maintenance found that t he cost of maintenance is as high as 67% of the cost of entire
software process cycle.
9.4 Summary
88
Maintenance is the most important phase of the system life cycle. As we say it it easy
to make rather tough to maintain though. Maintenance is the phase which cost more
than the whole system phases like designing and development alone. Because it is more
difficult to maintain than to develop.
89
Chapter-10
10.1 Conclusion
This is to conclude that the project that I undertook was worked upon with a sincere
effort. Most of the requirements have been fulfilled up to the mark and the
requirements which have been remaining, can be completed with a short extension.
The relational database approach of developing the system has helped in:
The system has been developed with much care that it is free of errors and at the same
time it is efficient and less time consuming. The important thing is that the system is
robust. Avoid malfunction from outsiders .It goes through all phases of software
development cycle. So product is accurate. Also provision is provided for future
developments in the system.
90
little knowledge of computer. Management of various tasks is incorporated in the
package and will deliver the required information in a very easy to use and easy to
access manner. This package will provide accuracy, efficiency, speed and easiness to
the end user. Paper work will be subjugated and come to an appropriate level.
This website is basically for people who want to visit the famous places in the
interested cities that they never have seen before. The users of the website will be all
those people who want to find out places for wandering, save the time and money of
the visitors as they can search for the interested places before they actually go. Parks,
temples etc. in the interested cities before they actually go there. So, the objective of
this website to save the time and money of the visitors as they can search for the
interested places before they actually go.
The idea of this project is very good so the future scope is that it can be applied to find
the places all over the world rather than a single country.
91
Chapter-11
11. BIBLIOGRAPHY
https://getbootstrap.com
https://www.w3schools.com
https://www.tutorialspoint.com/php
https://www.tripadvisor.com
https://www.lonelyplanet.com
https://roadtrippers.com/
https://fontawesome.com/
92