Tourism Guide Report Python
Tourism Guide Report Python
Page No.
Chapter 1. Introduction
1) Introduction 7
2) System environment 7
3) Software requirement 8
4) Hardware requirements 8
1) Purpose 9
2) Project Scope 9
3) Existing System 9
4) Proposed System 9
5) System Description 10
Page 1
Chapter 4.Implementation issues
1) Python 11
2) AJAX 13
3) Cascading style sheet(CSS) 16
System Description
Chapter 5. System Design
1) Introduction 21
2) Conceptual Design 22
3) ER-Diagram 23
4) Logical Design 23
5) Physical Design 24
6) Data Flow Diagram of “Online Tourism Guide”
24
Chapter 8. Conclusion
7) Features of “Online Tourism Guide” 114
8) Benefits Accrued from “Online Tourism Guide” 114
9) Limitations of “Online Tourism Guide” 115
Bibliography
Page 2
CHAPTER # 1
Introduction
Contents:
Introduction
Problem Definition
Aim
Objective
Goal
Need of System
Page 3
Introduction to the System:
The Online Tourism Guide is a python based website that helps the tourists in
exploring and planning to visit places according to city and kind of place. This
website plans the tour such that the user can save more time in exploring maximum
places rather than wasting time in reaching his destinations.
Initially, it takes the information about the city and kind of place, the user
wants to visit. Then it will show the list of places of attractions of that place
from which the user can opt the places of his choice according to his priority. .
Aim:
Objective:
This website is very useful to all the people who love to travel in planning a
time efficient trips where he or she can save time to visit new places rather than
getting lost in an unaware place.
Page 4
CHAPTER # 2
Hardware and Software
Requirements
Contents:
Introduction
System environment
Software requirement
Hardware requirements
Page 5
Introduction:
System Environment:
After analysis, some resources are required to convert the abstract system into
the real one. All the resources, which accomplish a robust
The hardware and software selection begins with requirement analysis,
followed by a request for proposal and vendor evaluation.
Software and real system, are identified. According to the provided functional
specification all the technologies and its capacities are identified. Basic
functions and procedures and methodologies are prepared to implement. Some
of the Basic requirements such as hardware and software are described as
follows: -
Page 6
Hardware and Software Specification
Software Requirements:
Python Interpreter
Pycharm/Atom IDE
Sqlite Database
Hardware Requirements:
2 GB RAM or more.
Page 7
CHAPTER # 3
System Analysis
Contents:
Purpose
Project Scope
Existing System
Proposed System
System Overview
Page 8
Purpose:
This website is very useful to all the people who love to travel and planning a time efficient
trips where he or she can save time to visit new places rather than getting lost in an unaware
place.
Project Scope:
The project has a wide scope, as it is not intended to a particular organization. This
project is going to develop generic software, which can be applied by any businesses
organization. More over it provides facility to its customer. Also the software is going
to provide a huge amount of summary data.
Proposed System:
For people who want the trip planned entirely, who don’t want to use the filtering
method of pen and paper or trace filtering tour guide helps them completely. The tour
guide is a website that helps vacation goers plan out where to go and what to see based
on their interests.
Page 9
System Overview:
Login: The ADMIN has all the rights in the software including updating the status of
his site. The fields in login are username and password. If the username and password
are correct then it is directed to admin home page.
New user: This module is for the users who do not have their account. Here user is no
need to create an account to login. User can search places by selecting city and kind
of place.
Places: This module has information regarding the places such as its name, image,
description, rating , location , kindofplace etc.The ADMIN has the authority to Add,
Delete, Update etc. The USER can only view the places.
Search: This module helps the user to ease his search based on his city and
kindofplace.
Page 10
CHAPTER # 4
Implementation issues
Python is a widely used general-purpose, high level programming language. It was initially
designed by Guido van Rossum in 1991 and developed by Python Software Foundation. It
was mainly developed for emphasis on code readability, and its syntax allows programmers
to express concepts in fewer lines of code.
Python is a programming language that lets you work quickly and integrate systems more
efficiently.
Python is dynamically typed and garbage-collected. It supports multiple programming
paradigms, including procedural, object-oriented, and functional programming. Python is
often described as a "batteries included" language due to its comprehensive standard library.
Page 11
Django
This framework uses a famous tag line:The web framework for perfectionists with deadlines.
SQLite
SQLite3 can be integrated with Python using sqlite3 module, which was written by Gerhard
Haring. It provides an SQL interface compliant with the DB-API 2.0 specification described
by PEP 249. You do not need to install this module separately because it is shipped by
default along with Python version 2.5.x onwards.
To use sqlite3 module, you must first create a connection object that represents the database
and then optionally you can create a cursor object, which will help you in executing all the
SQL statements.
HTML
HTML (Hypertext Markup Language) is the set of markup symbols or codes inserted in a file
intended for display on a World Wide Web browser page. The markup tells the Web browser
how to display a Web page's words and images for the user. Each individual markup code is
Page 12
referred to as an element (but many people also refer to it as a tag). Some elements come in
pairs that indicate when some display effect is to begin and when it is to end.
CSS can control the placement of text and objects on your pages as well as the look of those
objects.
HTML information creates the objects (or gives objects meaning), but styles describe how the
objects should appear. The HTML gives your page structure, while the CSS creates the
“presentation”. An external CSS is really just a text file with a .css extension. These files can
be created with Dreamweaver, a CSS editor, or even Notepad.
The best practice is to design your web page on paper first so you know where you will want
to use styles on your page. Then you can create the styles and apply them to your page.
Javascript
Page 13
While JavaScript is influenced byJava, the syntax is more similar to C and is based on
ECMAScript, a scripting language developed by Sun Microsystems.
JavaScript is a client-side scripting language, which means the source code is processed by
the client's web browser rather than on the web server. This means JavaScript functions can
run after a webpage has loaded without COMMUNICATING with the server. For example, a
JavaScript function may check a web form before it is submitted to make sure all the
required fields have been filled out. The JavaScript code can produce an error message before
any information is actually transmitted to the server.
Like server-side scripting languages, such as PHP and ASP, JavaScript code can be inserted
anywhere within the HTML of a webpage. However, only the output of server-side code is
displayed in the HTML, while JavaScript code remains fully visible in the source of the
webpage. It can also be referenced in a separate .JS file, which may also be viewed in a
browser.
CHAPTER # 5
Page 14
System Design
Contents:
Use case diagram
Sequence Diagram
Data flow diagram
Page 15
Use case diagram consists of use cases and actors and shows the interaction
between them. The key points are:
The main purpose is to show the interaction between the use cases and the
actor.
The use cases are the functions that are to be performed in the module.
Manage Places
Manage City
Manage
ADMIN Category
SYSTEM
Manage
Contacts
View Places
Give Feedback
View Map
Page 16
Send Query
USER Fig.5.2 SYSTEM
Page 17
Login Application Database
Login
:Request
:Validate()
:executeQuery()
Administrator Response
Show Result
Success:hide()
Failed:show()
Fig.5.4
Page 18
Fig.5.5
Page 19
Activity Diagram
Page 20
Data Flow Diagram
Page 21
ER Diagram
Page 22
CHAPTER # 6
User Screens and Report
Output screens
HOME PAGE
Page 23
ABOUT US PAGE
Page 24
FIND PLACES PAGE
Page 25
ADMIN LOGIN PAGE
Page 26
ADD PLACE PAGE
Page 27
VIEW PLACE PAGE
Page 28
VIEW CITY PAGE
Page 29
VIEW CATEGORY PAGE
Page 30
Page 31
CHAPTER # 7
Coding
<!--
-->
<!DOCTYPE html>
<html lang="zxx">
{% load static %}
<head>
<title>Madhya Pradesh Tourism</title>
<!-- Meta tag Keywords -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="UTF-8" />
<meta name="keywords" content="MadhyaPradesh Tourism Places" />
<script>
addEventListener("load", function() {
setTimeout(hideURLbar, 0);
}, false);
function hideURLbar() {
window.scrollTo(0, 1);
Page 32
}
</script>
<!-- //Meta tag Keywords -->
Page 33
</head>
<body>
<nav class="navbar navbar-expand-sm bg-info navbar-dark">
<a href="#" class="navbar-brand"><b>Tourism Guide</b></a>
<span class="navbar-text" style = "color : red ; font-weight : bold">MP
Explorer</span>
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="#" style = "color : white ; font-weight : bold">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'about' %}" style = "color : white ; font-weight :
bold">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'contact' %}" style = "color : white ; font-
weight : bold">Contact</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'map' %}" style = "color : white ; font-weight :
bold">Map</a>
</li>
</ul>
</nav>
</div>
</li>
</ul>
<div class="arrows">
<label for="slides_1"></label>
<label for="slides_2"></label>
<label for="slides_3"></label>
<label for="slides_4"></label>
Page 35
</div>
<div class="navigation">
<div>
<label for="slides_1"></label>
<label for="slides_2"></label>
<label for="slides_3"></label>
<label for="slides_4"></label>
</div>
</div>
</div>
{% endfor %}
</select><br><br>
Page 36
{% endfor %}
</select><br><br>
</form>
</div>
{% block body %}
{% endblock %}
</body>
</html>
Page 37
SHOW PLACES CODING
<!DOCTYPE html>
<html lang="en">
{% load static %}
<head>
<meta charset="UTF-8">
<title>Madhya Pradesh Tourism</title>
</head>
<body>
<nav class="navbar navbar-expand-sm bg-info navbar-dark">
<a href="#" class="navbar-brand"><b>Tourism Guide</b></a>
<span class="navbar-text" style = "color : red ; font-weight : bold">MP
Explorer</span>
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="#" style = "color : white ; font-weight : bold">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'about' %}" style = "color : white ; font-weight :
bold">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'contact' %}" style = "color : white ; font-
weight : bold">Contact</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'map' %}" style = "color : white ; font-weight :
bold">Map</a>
Page 39
</li>
</ul>
</nav>
<h2 style="margin-top:30px;"><center>Your Destination</center></h2>
<table border="5" bordercolor="blue" width="800" align="center">
<tr style="background-color:green">
<th style="color:black">Image</th>
<th style="color:black">Detail</th>
</tr>
{% for i in places %}
<tr align="left" style="background-color:Bisque" >
</body>
</html>
Page 40
ADMIN HOME PAGE CODING
<!DOCTYPE html>
<html lang="en">
<head>
<title>Admin Home</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css"
href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.css">
</script>
<style>
.button {
background-color: orange; /* Green */
border: none;
Page 41
color: white;
padding: 20px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
}
</style>
</head>
<body>
<nav class="navbar navbar-expand-sm bg-info navbar-dark">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#"><b>Tourism Guide</b></a>
</div>
<span class="navbar-text" style = "color : red ; font-weight : bold">MP
Explorer</span>
<ul class="nav navbar-nav">
<li class="active"><a href="#" style = "font-weight : bold">Home</a></li>
<li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown"
href="#" style = "font-weight : bold">city <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="{% url 'view_city' %}" style = "font-weight : bold">View
City</a></li>
<li><a href="{% url 'add_city' %}" style = "font-weight : bold">Add
Page 42
City</a></li>
</ul>
</li>
<li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown"
href="#" style = "font-weight : bold">Category <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="{% url 'view_category' %}" style = "font-weight : bold">View
Category</a></li>
<li><a href="{% url 'add_category' %}" style = "font-weight : bold">Add
Category</a></li>
</ul>
</li>
<li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown"
href="#" style = "font-weight : bold">Places <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="{% url 'view_places' %}" style = "font-weight : bold">View
Place</a></li>
<li><a href="{% url 'add_places' %}" style = "font-weight : bold">Add
Place</a></li>
</ul>
</li>
{% if request.user.is_staff %}
<h1>Welcome, {{request.user.username}}</h1>
{% endif %}
{% block body %}
{% endblock %}
Page 43
<br>
<br>
<br>
<br>
<br>
<br>
<div style = "font-weight : bold">
<h2 class=text-center><b>Copyright © All Right Reserved</b></h2>
<p class=text-center style = "color : blue"><b>Design and Developed By </b></p><p
style="color:red;font-weight : bold ; text-align : center">Pankaj Panjwani</p>
</div>
</body>
</html>
Page 44
ADD PLACE PAGE CODING
{% extends 'administration.html' %}
{% block body %}
<center><h1 style="color:red;font-style:oblique">Add Places</h1><br><br></center>
<div class="container">
<form action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
<label>Select city:</label><br>
<label>Select category:</label><br>
Page 45
<input type="text" name="location" required="" style="width:100%"><br><br>
Enter Rating:<br>
<input type="number" name="rating" required=""
style="width:100%"><br><br>
Enter Description:<br>
<textarea name="description" required=""
style="width:100%"></textarea><br><br>
{% endblock %}
Page 46
VIEW PLACE PAGE CODING
{% extends 'administration.html' %}
{% block body %}
<ceneter><center><h2 style="color:red">View places</h2></center>
<table id="myTable">
<tr style="background-color:red">
<th>Place_Id</th>
<th>place image</th>
<th>place name</th>
<th>Category</th>
<th>Place_Description</th>
<th>place location</th>
<th>Place_rating</th>
<th>place City</th>
<th>Edit</th>
<th>Remove</th>
</tr>
{% for i in place %}
<tr >
<td><b style="font-color:black">{{i.id}}</b></td>
</tr>
{% endfor %}
</table>
</ceneter>
{% endblock %}
Page 48
ADD CITY PAGE CODING
{% extends 'administration.html' %}
{% block body %}
<center><h2 style="color:red"><i>Add City</i></h2></center>
<div class="container">
<form action="" method="post">
{% csrf_token %}
</form>
</div>
{% endblock %}
Page 49
ADD CATEGORY PAGE CODING
{% extends 'administration.html' %}
{% block body %}
<center><h2 style="color:red"><i>Add Category</i></h2></center>
<div class="container">
<form action="" method="post">
{% csrf_token %}
Enter Category Name:<br>
<input type="text" name="cat" style="width:100%"><br><br>
<center> <input type="submit" value="Submit" style="width:40%"></center>
</form>
</div>
{% endblock %}
Page 50
VIEW CATEGORY PAGE CODING
{% extends 'administration.html' %}
{% block body %}
<div class=container>
<center><h2 style="color:red">View Category</h2></center>
<td>{{i.id}}</td>
<td>{{i.cat_name}}</td>
<td><a href="{% url 'delete_category' i.id %}" class="btn btn-
danger">delete</a></td>
</tr>
{% endfor %}
</table>
{% endblock %}
</div>
Page 51
EDIT PLACE PAGE
{% extends 'administration.html' %}
{% block body %}
<center><h1 style="color:red;font-style:oblique">Edit Places</h1><br><br></center>
<div class="container">
<form action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
<label>Select city:</label><br>
<br><br>
<label>Select category:</label><br>
{% endblock %}
Page 53
CHAPTER # 8
Advantages & Limitations
Page 54
Limitations of “Online tourism Guide”:
Besides the above achievements and the successful completion of the project,
we still feel the project has some limitations, listed as below:
Page 55
CHAPTER # 8
Future Scope
FUTURE SCOPE
This web application involves almost all the features of the tourist guidance. The future
implementation will be online help for the customers and chatting with website administrator.
CONCLUSION
Page 56
Bibliography
BIBLIOGRAPHY
References
Wikipedia
https://www.geeksforgeeks.org/python-django/
https://www.javatpoint.com
https://www.python.org/
https://www.tutorialspoint/
REFERENCE BOOKS
Two scoops of Django for 1.11 by Daniel Greenfeld’s and Audrey Greenfield
Page 57