0% found this document useful (0 votes)
48 views76 pages

Project File1

The document describes a software requirements specification for developing a travel and tourism website. The key requirements include user authentication, destination management, booking and reservations, reviews and ratings, performance, security, and reliability.

Uploaded by

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

Project File1

The document describes a software requirements specification for developing a travel and tourism website. The key requirements include user authentication, destination management, booking and reservations, reviews and ratings, performance, security, and reliability.

Uploaded by

ritikyadav16197
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 76

Project Report

On

TRAVELS AND TOURISM


A project Submitted in partial Fulfillment of the requirements for the degree of

MASTER OF COMPUTER APPLICATION

By

STUDENT NAME: RITIK YADAV


(ROLL NUMBER:_2207220140073)

Under the Supervision of


Mr. AmarnathAwasthi

DR. A.P.J. ABDUL KALAM TECHNICAL


UNIVERSITY
Declaration
We hereby declare that the work being presented in this report entitled
“TRAVELS AND TOURISM” an authentic record of our own work carried out
under the supervision of Mr. Amarnath Awasthi

The matter embodied in this report has not been submitted by me / us for the
award of any other degree.

Dated:- Signature of student:-

This is to certify that the above statement made by the candidate is correct to the best of my
Knowledge.

Signature of HOD Signature of Guide

Date...........................
Certificate

It Certifies that RITIK YADAV has carried out the Project workpresented in
this project entitled "TRAVELS AND TOURISM" for the award of Master of
Computer Applications from AKTU University, Lucknow under supervision
from 10 April 2024 to 20 May 2024.

Internal Examiner Head of Department

External Examiner
ACKNOWLDGEMENT
Any accomplishment required the effort of many people and this work is different. We find
great pleasure in expressing our deep sense of gratitude towards all those with the help of them
we completed our project with success.

We Would like to express our gratitude to our supervisor Mr. Amarnath Awasthi and our
faculties for providing their invaluable guidance and suggestions and keen interest in our project.
we are great ful to him for encouragement in the fulfillment of the project.

Name of the Student :-

RITIK YADAV

(2207220140073)
ABSTRACT

Welcome to our dynamic platform dedicated to enriching your travel experiences. Our website
serves as a comprehensive hub for travelers seeking inspiration, information, and seamless
planning for their next adventure. With a user-friendly interface and a wealth of curated
content, we aim to empower explorers of all kinds, from seasoned globetrotters to those
embarking on their maiden voyage.
Discover a world of possibilities as you navigate through our extensive collection of
destination guides, insider tips, and immersive travel narratives. Whether you're drawn to the
allure of exotic landscapes, cultural landmarks, or off-the-beaten-path treasures, our platform
offers invaluable insights to help you craft the perfect itinerary tailored to your interests and
preferences.
From breathtaking natural wonders to bustling urban metropolises, our website showcases a
diverse array of travel experiences to suit every taste and budget. Dive into vibrant cityscapes
teeming with history and innovation, embark on exhilarating outdoor adventures amidst
pristine wilderness, or indulge in luxurious escapes that redefine relaxation.
Beyond mere destination recommendations, we strive to foster a global community of travelers
united by their passion for exploration. Engage with fellow wanderers through our interactive
forums, share your own travel tales, and glean invaluable advice from firsthand accounts
shared by seasoned travelers.
Whether you're dreaming of a spontaneous weekend getaway or meticulously planning a once-
in-a-lifetime expedition, our website equips you with the tools and resources necessary to turn
your travel aspirations into unforgettable realities. Join us on a journey of discovery, where
every click brings you one step closer to the enriching experiences that await beyond the
horizon.
TABLE OF CONTENTS

S.NO TOPIC’S NAME PAGE NO REMARKS

1. INTRODUCTION 8

2. SOFTWARE 9
REQUIREMENT
SPECIFICATION(SRS)

3. HARDWARE 12
REQUIREMENT

4. ENTITY 14
RELATIONSHIP(ER)
DIAGRAM AND DATA
FLOW DIAGRAM (DFD)

5. FEATURES OF THE 19
WEBSITE- EXPLOREERA

6. MODULES OF 21
EXPLOREERA

7. CODE OF MODULES 23

8. SCREENSHORT OF THE 61
WEBSITE

9. SCOPE OF IMPROVEMENT 65

10. BIBLIOGRAPHY 67
Introduction
Welcome to ExploreEra, your gateway to boundless exploration and unforgettable adventures.
At ExploreEra, we believe that travel is not just about visiting new places; it's about immersing
yourself in transformative experiences that ignite your sense of wonder and broaden your
perspective on the world. Whether you're a seasoned globetrotter or a first-time adventurer,
our mission is to empower you to embark on journeys that inspire, excite, and leave an indelible
mark on your soul.

With ExploreEra, the possibilities are limitless. Our team of passionate travel enthusiasts has
curated a diverse range of destinations and experiences to cater to every type of traveler.
Whether you're yearning for the serenity of a secluded beach retreat, the thrill of scaling
towering mountain peaks, or the cultural richness of exploring ancient cities, ExploreEra is
your trusted companion on the quest for discovery.

But ExploreEra is more than just a travel agency; we're a community united by a shared love
for exploration and adventure. Through our platform, you'll find a wealth of resources, from
expert travel tips and destination guides to engaging travel narratives and firsthand accounts
from fellow explorers. Connect with like-minded individuals, share your own experiences, and
draw inspiration from the collective wisdom of our vibrant community.

So, whether you're dreaming of embarking on a solo expedition to the far corners of the globe
or planning a family getaway filled with unforgettable moments, ExploreEra is here to make
your travel dreams a reality. Join us as we embark on a journey through time and space, where
every destination is a portal to a new era of discovery. Welcome to ExploreEra – where
adventure knows no bounds.
Software Requirements Specification (SRS)

Introduction:-

The Travels and Tourism project aims to develop a comprehensive web application utilizing
NetBeans IDE, Oracle Database, and Java Server Pages (JSP) for frontend development. JDBC
will be employed for backend connectivity, facilitating seamless interaction with the Oracle
Database. This document outlines the software requirements necessary for the successful
development and deployment of the Travels and Tourism project.

Functional Requirements:-

 User Authentication and Authorization:

- The system shall provide user registration and login functionality.


- Users shall be able to register by providing necessary details such as name, email, and
password.
- Registered users shall be able to log in securely to access personalized features and
services.
- Access control shall be implemented to ensure that only authorized users can perform
specific actions within the system.

 Destination Management:

- The system shall allow users to browse through a catalog of destinations.


- Users shall be able to view detailed information about each destination, including
descriptions, attractions, accommodations, and travel itineraries.
- Administrators shall have the capability to add, edit, or delete destinations from the
database.
- Destination search functionality shall be provided to facilitate easy navigation and
discovery of desired destinations.

 Booking and Reservation:

- Users shall be able to book tours, flights, accommodations, and other travel services.
- The system shall support secure payment processing for booking transactions.
- Users shall receive confirmation of their bookings via email or notification within the
application.
- Administrators shall have access to manage bookings, including viewing, editing, or
canceling reservations.

 Reviews and Ratings:

- Users shall be able to leave reviews and ratings for destinations, accommodations, and
travel services.
- The system shall display aggregated ratings and reviews to assist users in making
informed decisions.
- Administrators shall have the ability to moderate and manage user-generated content,
including approving or removing reviews.

Non-Functional Requirements:

 Performance:

- The system shall be capable of handling concurrent user requests efficiently without
significant performance degradation.
- Response times for user interactions, such as page loading and form submission, shall
be kept to a minimum.
- Database queries and transactions shall be optimized to ensure swift retrieval and
manipulation of data.

 Security:

- User authentication and session management shall be implemented securely to prevent


unauthorized access.
- The system shall encrypt sensitive data, such as passwords and payment information,
to safeguard user privacy.
- Role-based access control shall be enforced to restrict system functionality based on
user roles and permissions.

 Reliability:

- The system shall be resilient to failures and errors, ensuring uninterrupted availability
for users.
- Data integrity mechanisms shall be in place to prevent data corruption or loss during
system operations.
- Regular backups of the database shall be performed to mitigate the risk of data loss in
case of unforeseen events.

Development Environment:-

 Frontend Development:

- NetBeans IDE shall be used for frontend development using Java Server Pages (JSP)
for dynamic web page generation.
- HTML, CSS, and JavaScript shall be utilized for designing and implementing the user
interface.

 Backend Development:

- JDBC (Java Database Connectivity) shall be employed for backend connectivity to


interact with the Oracle Database.
- Java programming language shall be used for implementing backend business logic
and data processing.

 Database Management:

- Oracle Database shall serve as the backend data store for storing and managing
application data.
- SQL (Structured Query Language) shall be used for database schema definition, data
manipulation, and querying.

Conclusion:-

The software requirements specified herein provide a comprehensive framework for the
development of the Travels and Tourism project. By adhering to these requirements, the
project aims to deliver a robust, secure, and user-friendly web application that enhances the
travel experience for users while providing efficient management tools for administrators.
Hardware Requirements

Laptop Specifications:

 Model: HP 15s
 Processor: Intel Core i5 (10th Gen) or equivalent
 RAM: 8GB DDR4 (Expandable)
 Storage: 512GB SSD (Solid State Drive) or higher
 Display: 15.6-inch HD (1366 x 768 pixels) LED-backlit display
 Graphics: Integrated Intel UHD Graphics or equivalent
 Operating System: Windows 10 or Linux

Processor Specifications:

 Model: Intel Core i5 (10th Gen)


 Core Count: Quad-core (4 cores)
 Base Clock Speed:1.0 GHz (Gigahertz)
 Max Turbo Frequency: Up to 3.6 GHz
 Cache: 6 MB (Megabytes) Intel Smart Cache
 Hyper-Threading Technology: Supported (Simultaneous Multi-Threading)

RAM (Random Access Memory):

 Capacity: 8GB DDR4


 Type: DDR4 SDRAM (Double Data Rate 4 Synchronous Dynamic Random-Access
Memory)
 Speed: 2666 MHz (Megahertz) or higher
 Configuration: 1 x 8GB (Single-channel configuration) or 2 x 4GB (Dual-channel
configuration)

Special Features:

 Thin and Lightweight Design: The HP 15s laptop offers portability, making it
convenient for development tasks and project management on the go.
 SSD Storage: The inclusion of a solid-state drive ensures fast boot times, snappy
application launches, and swift data access, enhancing overall system responsiveness.
 Integrated Graphics: The integrated Intel UHD Graphics provide decent graphical
performance for software development and basic multimedia tasks.
 Connectivity Options: The laptop comes equipped with various connectivity options,
including USB ports, HDMI output, Wi-Fi, and Bluetooth, facilitating seamless data
transfer and peripheral connectivity.
 Reliable Performance: With a capable Intel Core i5 processor and 8GB of RAM, the HP
15s laptop delivers reliable performance for multitasking, coding, and running
development environments.
 HD Display:The laptop features a 15.6-inch HD display, offering crisp visuals and
ample screen real estate for coding, design work, and content consumption.
 Long Battery Life: The laptop's battery provides sufficient runtime for extended work
sessions, enabling productivity even in environments where power outlets are scarce.

By utilizing the HP 15s laptop with its capable hardware specifications, including the Intel
Core i5 processor and 8GB of RAM, the Travels and Tourism project can be effectively
developed, tested, and managed, ensuring smooth performance and efficient workflow
throughout the project lifecycle.
Entity-Relationship (ER) Diagram
The Entity-Relationship (ER) diagram is a visual representation of the entities (objects),
attributes (properties), and relationships between them within a system. For a Travels and
Tourism website project, the ER diagram would typically include entities such as Users,
Destinations, and Reviews, along with their respective attributes and relationships.

Entities:

 User:

o UserID (Primary Key)


o Username
o Email
o Password
o UserType (Customer, Admin, etc.)
o Other relevant attributes (e.g., DateOfBirth, Gender, etc.)

 Destination:

o DestinationID (Primary Key)


o DestinationName
o Description
o Location
o Other relevant attributes (e.g., ImageURL, AverageRating, etc.)

 Review:

o ReviewID (Primary Key)


o UserID (Foreign Key referencing User.UserID)
o DestinationID (Foreign Key referencing Destination.DestinationID)
o Rating
o Comment
o Other relevant attributes (e.g., ReviewDate, ReviewStatus, etc.)

Relationships:
 User-Review Relationship:

o One User can post multiple Reviews.


o One Review is associated with exactly one User.
o (1 User)------ < (0..*) Review

 Destination-Review Relationship:

o One Destination can have multiple Reviews.


o One Review is associated with exactly one Destination.
o (1 Destination) ------< (0..*) Review

This ER diagram illustrates the relationships between the main entities in the Travels and
Tourism website project without considering the booking system. Each entity is represented
by a rectangle, and the relationships between entities are represented by lines connecting them.
The cardinality of each relationship is indicated by the symbols: (0..*) for zero or more, (1) for
exactly one.

Zero-Level Diagram
1-Level ER-Diagram
2Level ER- Diagram
Data Flow Diagram:

A DFD typically consists of processes, data stores, data flows, and external entities. Here's a
simplified description:

 External Entities:

o User: Represents individuals accessing the website.


o Admin: Represents administrators managing the website.

 Processes:

o Login Process: Validates user/admin credentials and grants access.


o Registration Process: Allows users/admins to create new accounts.
o View City Details Process: Retrieves information about cities from the database and
displays it to the user/admin.
o Update Login Details Process: Allows users/admins to modify their login credentials.
o Delete Login Details Process: Allows users/admins to delete their accounts.

 Data Stores:

o User/Admin Account Database: Stores user/admin account information, including


usernames, passwords, and other relevant details.
o City Information Database: Stores details about cities, such as name, attractions, and
accommodations.

 Data Flows:

o Login Credentials: Flow from the user/admin to the Login Process for authentication.
o Account Information: Flows from the Registration Process to the User/Admin Account
Database for storage.
o City Details: Flow from the City Information Database to the View City Details Process
for retrieval.
o Updated Login Details: Flow from the Update Login Details Process to the User/Admin
Account Database for modification.
o Deletion Requests: Flow from the Delete Login Details Process to the User/Admin
Account Database for account removal.

With these components in mind, you can create a DFD diagram using standard symbols and
connecting these elements accordingly. You can use software like Microsoft Visio, Lucidchart, or
draw.io to create the diagram visually.
Features of the website (ExploreEra)

 Introduction:

o Overview of ExploreEra project.


o Explanation of the project's significance in the travel industry.
o Objectives and goals of ExploreEra.

 Project Scope:

o Description of ExploreEra's features and functionalities.


o Target audience analysis.
o Limitations and constraints.

 System Architecture:

o Overview of ExploreEra's architecture.


o Frontend and backend technologies.
o Database management system.

 User Requirements:

o Detailed analysis of user requirements for ExploreEra.


o User personas and their needs.
o User interaction flows and usability considerations.

 Functional Requirements:

o Core functionalities of ExploreEra.


o Features such as user registration, destination browsing, review submission, etc.
o Use cases and interaction scenarios.

 Non-Functional Requirements:

o Performance, security, reliability requirements.


o Page load times, data encryption, system uptime, etc.
 Design and Implementation:

o Design process overview, including wireframing and prototyping.


o Frontend and backend implementation details.
o Database schema and entity-relationship model.

 Testing and Quality Assurance:

o Testing approach and methodologies.


o Test cases and scenarios.
o Quality assurance measures.

 Deployment and Maintenance:

o Deployment process for ExploreEra.


o Hosting options, server configuration.
o Maintenance activities: updates, backups, monitoring.

 Conclusion:

o Summary of ExploreEra's achievements and outcomes.


o Reflection on challenges and lessons learned.
o Future enhancements and development prospects.

 References:

o Sources and materials referenced during ExploreEra's development.


o Acknowledgment of third-party tools or libraries used.

This outline provides a structured framework for organizing the project report for ExploreEra,
covering all essential aspects from project scope to deployment and maintenance. Each section
contributes to a comprehensive understanding of ExploreEra's objectives, requirements,
implementation details, and outcomes.
Modules of ExploreEra

 Home Module:

 Description:
o This module serves as the landing page of the ExploreEra website, providing
users with an overview of the platform and its offerings.
 Features:
o Introduction to ExploreEra's services.
o Featured destinations or travel packages.
o Promotional banners highlighting current deals or offers.

 Register Module:

 Description:
o Allows users to create a new account on ExploreEra.
 Features:
o User registration form with fields for username, email, password, etc.
o Validation of user input to ensure data integrity.
o Option for users to agree to terms and conditions.

 Login Module:

 Description:
o Enables registered users to log in to their ExploreEra accounts.
 Features:
o Secure login form for entering username/email and password.
o Authentication mechanism to verify user credentials.
o Submodules:
 Forgot Password: Allows users to reset their forgotten passwords via
email verification.
 Delete Account: Allows users to permanently delete their ExploreEra
accounts.

 Search City Module:


 Description:
o Facilitates users in searching for specific destinations or cities.
 Features:
o Search bar allowing users to enter keywords, city names, or destination names.
o Auto-suggestions based on user input for faster searching.
o Filter options to refine search results by location, category, etc.

 About Us Module:

 Description:
o Provides information about ExploreEra, its mission, and its team.
 Features:
o Overview of ExploreEra's history and objectives.
o Introduction to the team behind ExploreEra.
o Details about ExploreEra's commitment to customer satisfaction and quality service.

 Contact Us Module:
 Description:
o Allows users to get in touch with ExploreEra for inquiries, support, or feedback.
 Features:
o Contact form with fields for name, email, subject, message, etc.
o Submission of user queries or feedback.
o Submodule:
 Feedback: Provides users with the option to leave feedback regarding
their experiences with ExploreEra.

Each module of ExploreEra plays a crucial role in providing users with a seamless and
engaging experience while navigating the website. These modules cater to various user needs,
from account management to destination exploration and communication with ExploreEra's
team, ensuring a comprehensive and user-friendly platform for travelers.
Code Of Modules

 Ghar.jsp:

<%--
Document : index
Created on : 8 Feb, 2024, 11:06:55 PM
Author : Maharshi
--%>

<!DOCTYPE html>
<html>
<head>
<title>Tours and Travels</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #f2f2f2;
}
.background-image
{position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url('images/bg.jpg') ; /* Specify the path to your background image
*/
background-size: cover;
background-position: center;
z-index: -1;
}
header {
background-color: #0056b3;
color: #fff;
padding: 20px;
text-align: center;
}

nav ul {
list-style-type: none;
padding: 0;
margin: 0;
text-align: center;
}

nav ul li
{ display:
inline;
margin-right: 20px;
}

nav ul li a
{ color:
#fff;
text-decoration: none;
font-weight: bold;
}

main {
padding: 20px;
}

section {
margin-bottom: 30px;
}

.destinations
{ display:
flex;
justify-content: space-around;
flex-wrap: wrap;
}

.destination {
width: calc(33.33% - 20px);
margin-bottom: 20px;
box-sizing: border-box;
text-align: center;
}
.destination img
{ width: 100%;
height: 200px;
object-fit: cover;
border-radius: 5px;
}

.destination-details
{margin-top:
10px;
}

.price-button {
background-color: #007bff;
color: #fff;
border: none;
padding: 8px 16px;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s ease;
}

.price-button:hover
{ background-color:
#0056b3;
}

.creative-content
{ text-align:
center;margin-top:
50px;padding:
20px;
background-color: #fff;
border-radius: 5px;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}

footer {
background-color: #333;
color: #fff;
padding: 20px;
text-align: center;
position: fixed;
bottom: 0;
width: 100%;
}
</style>
</head>
<body>
<header>
<h1>Welcome to ExploreEra</h1>
<nav>
<ul>
<li><a href="ghar.jsp">Home</a></li>
<li><a href="Search.jsp">Search City</a></li>
<li><a href="Register.jsp">Registration</a></li>
<li><a href="Login.jsp">Login</a></li>
<li><a href="contact.jsp">Contact Us</a></li>
<li><a href="About.jsp">About Us</a></li>
</ul>
</nav>
</header>

<main>
<section class="destinations">
<div class="destination">
<img src="images\agra.jpeg" alt="Agra">
<div class="destination-details">
<h3>Agra</h3>
<button class="price-button" color="blue">starts from Rs.1,999</button>
</div>
</div>
<div class="destination">
<img src="images\Mumbai.jpg">
<div class="destination-details">
<h3>Mumbai</h3>
<button class="price-button">starts from Rs.3,999</button>
</div>
</div>
<div class="destination">
<img src="images\jasalmer.jpg" alt="Destination 3">
<div class="destination-details">
<h3>Jaisalmer</h3>
<button class="price-button" color="blue">starts from Rs.2,999</button>
</div>
</div>
<div class="destination">
<img src="images\Ayodhya.jpeg" alt="Destination 3">
<div class="destination-details">
<h3>Ayodhya</h3>
<button class="price-button" color="blue">starts from Rs.3,999</button>
</div>
</div>
<div class="destination">
<img src="images\lakshdeep.jpeg" alt="Destination 3">
<div class="destination-details">
<h3>Lakshadweep</h3>
<button class="price-button" color="blue">starts from Rs.6,999</button>
</div>
</div>
<div class="destination">
<img src="images\kd.jpg" alt="Destination 3">
<div class="destination-details">
<h3>kedarnath dham</h3>
<button class="price-button" color="blue">starts from Rs.4,999</button>
</div>
</div>
</section>

<div class="creative-content">
<h2>Experience the India with Us!</h2>
<p>Discover the beauty of our planet with our exclusive tours and packages. From
serene beaches to adventurous mountain trails, we have it all!</p>
<p>Book your dream vacation today and create memories that will last a lifetime.</p>
</div>
</main>

<footer>
&copy; Welcome to ExploreEra.in - Your Gateway to Adventure!<br>
*All rights reserved*
</footer>
</body>
</html>
Register.jsp:

<!DOCTYPE html>
<html>
<head>
<title>User Registration</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #f2f2f2;
}
.background-image
{position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url('images/bg.jpg') ; /* Specify the path to your background
image */
background-size: cover;
background-position: center;
z-index: -1;
}
.container {
max-width: 600px;
margin: 50px auto;
padding: 20px;
background-color: #fff;
border-radius: 5px;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}
.form-group {
margin-bottom: 20px;
}

.form-group label
{ display: block;
font-weight: bold;
margin-bottom: 5px;
}

.form-group input[type="text"],
.form-group input[type="password"]
{width: calc(50% - 10px);
padding: 10px;
margin-right: 10px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}

.form-group input[type="submit"]
{width: 100%;
padding: 10px;
background-color: #007bff;
color: #fff;
border: none;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.3s ease;
}

.form-group input[type="submit"]:hover
{background-color: #0056b3;
}

.form-columns
{display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.form-columns .form-group
{width: calc(50% - 10px);
box-sizing: border-box;
}

.error-message
{ color: red;
margin-top: 5px;
}
</style>
</head>
<body>
<div class="background-image"></div>
<div class="container">
<h2>User Registration</h2>
<form action="inserthandler.jsp" method="post" onsubmit="return
validateForm()">
<div class="form-columns">
<div class="form-group">
<label for="firstName">First Name:</label>
<input type="text" id="firstName" name="firstName" required>
</div>
<div class="form-group">
<label for="lastName">Last Name:</label>
<input type="text" id="lastName" name="lastName" required>
</div>
</div>
<div class="form-group">
<label for="email">Email:</label>
<input type="text" id="email" name="email" required>
</div>
<div class="form-group">
<label for="phoneNumber">Phone Number:</label>
<input type="text" id="phoneNumber" name="phoneNumber" required>
</div>
<div class="form-group">
<label for="username">Username:</label>
<input type="text" id="username" name="userName" required>
</div>
<div class="form-group">
<label for="password">Password:</label>
<input type="password" id="password" name="password" required>
</div>
<div class="form-group">
<label for="confirmPassword">Confirm Password:</label>
<input type="confirmPassword" id="confirmPassword"
name="confirmPassword" required>
</div>
<input type="submit" value="Register">
</form>
</div>

<script>
function validateForm() {
var password = document.getElementById("password").value;
var confirmPassword = document.getElementById("confirmPassword").value;
var passwordError = document.getElementById("passwordError");

if (password !== confirmPassword)


{ passwordError.textContent = "Passwords do not
match";return false;
}

return true;
}
</script>
</body>
</html>

 Inserthandler.jsp:-

<%--
Document : inserthandler
Created on : 25 Nov, 2023, 1:23:05 PM
Author : Maharshi
--%>

<%@page contentType="text/html" pageEncoding="UTF-8" language="java"


import="java.sql.*"%>
<%
String fn = request.getParameter("firstName");
String ln = request.getParameter("lastName");
String email = request.getParameter("email");
String phonen = request.getParameter("phoneNumber");
String usern = request.getParameter("userName");
String password = request.getParameter("password");
String cnfpassword = request.getParameter("confirmPassword");

if("".equals(fn) || "".equals(ln) || "".equals(email) || "".equals(phonen) || "".equals(usern)


|| "".equals(password) || "".equals(cnfpassword))
{
response.sendRedirect("Register.jsp?msg=blank");
}
else
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con =
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "tour",
"travels");
String qry = "INSERT INTO REGISTER (first_name, last_name, email,
phone_number, username, password, confirm_password) VALUES (?, ?, ?, ?, ?, ?, ?)";
PreparedStatement prestmt = con.prepareStatement(qry);
prestmt.setString(1, fn);
prestmt.setString(2, ln);
prestmt.setString(3, email);
prestmt.setString(4, phonen);
prestmt.setString(5, usern);
prestmt.setString(6, password);
prestmt.setString(7, cnfpassword);

int rowsInserted = prestmt.executeUpdate();


con.close();
prestmt.close();
if(rowsInserted > 0) {
out.print("Thanks for Registration");
%>
<a href="ghar.jsp">GoBack</a>
<%
} else {
out.print("Registration failed.");
}
}
catch(Exception e)
{
out.println(e);
}
}
%>

 Login.jsp:

<!DOCTYPE html>
<html>
<head>
<title>User Login</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #f2f2f2;
}
.background-image
{position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url('images/bg.jpg') ; /* Specify the path to your background
image */
background-size: cover;
background-position: center;
z-index: -1;
}
.container {
max-width: 600px;
margin: 50px auto;
padding: 20px;
background-color: #fff;
border-radius: 5px;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}

.form-group {
margin-bottom: 20px;
}

.form-group label
{ display: block;
font-weight: bold;
margin-bottom: 5px;
}

.form-group input[type="text"],
.form-group input[type="password"]
{width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}

.form-group input[type="submit"],
.form-group .forgot-password,
.form-group .delete-account
{width: 100%;
padding: 10px;
background-color: #007bff;
color: #fff;
border: none;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.3s ease;
}

.form-group input[type="submit"]:hover,
.form-group .forgot-password:hover,
.form-group .delete-account:hover
{background-color: #0056b3;
}

table {
width: 100%;
border-collapse: collapse;
}

th, td {
padding: 10px;
text-align: left;
border-bottom: 1px solid #ddd;
}

.forgot-password-section,
.delete-account-section
{display: none;
}

.forgot-password-section.show,
.delete-account-section.show
{display: block;
}
</style>
</head>
<body>
<div class="background-image"></div>
<div class="container">
<h2>User Login</h2>
<form action="loginhandler.jsp" method="post">
<div class="form-group">
<label for="username">Username:</label>
<input type="text" id="username" name="username" required>
</div>
<div class="form-group">
<label for="password">Password:</label>
<input type="password" id="password" name="password" required>
</div>
<div class="form-group">
<input type="submit" value="Login">
</div>
<a href="#" class="forgot-password" onclick="showForgotPassword()">Forgot
Password?</a>
<a href="#" class="delete-account" onclick="showDeleteAccount()">Delete
Account</a>
</form>
<div class="forgot-password-section" id="forgotPasswordSection">
<h2>Forgot Password</h2>
<p>Please enter your registration ID and phone number for password reset.</p>
<form action="forget.jsp" method="post">
<table>
<tr>
<td><label for="email">Registration ID:</label></td>
<td><input type="text" id="email" name="email" required></td>
</tr>
<tr>
<td><label for="phoneNumber">Phone Number:</label></td>
<td><input type="text" id="phoneNumber" name="phoneNumber"
required></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Submit"></td>
</tr>
</table>
</form>
</div>
<div class="delete-account-section" id="deleteAccountSection">
<h2>Delete Account</h2>
<p>Are you sure you want to delete your account?</p>
<form action="delete.jsp" method="post">
<table>
<tr>
<td><label for="username">User name</label></td>
<td><input type="text" id="username" name="username"
required></td>
</tr>
<tr>
<td><label for="password">Password:</label></td>
<td><input type="password" id="password" name="password"
required></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Delete Account"></td>
</tr>
</table>
</form>
</div>
</div>

<script>
function showForgotPassword() {
var forgotPasswordSection =
document.getElementById("forgotPasswordSection");
forgotPasswordSection.classList.toggle("show");
var deleteAccountSection =
document.getElementById("deleteAccountSection");
deleteAccountSection.classList.remove("show");
}

function showDeleteAccount() {
var deleteAccountSection =
document.getElementById("deleteAccountSection");
deleteAccountSection.classList.toggle("show");
var forgotPasswordSection =
document.getElementById("forgotPasswordSection");
forgotPasswordSection.classList.remove("show");
}
</script>
</body>
</html>

 Loginhandler.jsp:

<%--
Document : loginhandler
Created on : 23 Feb, 2024, 10:19:06 AM
Author : Maharshi
--%>

<%@ page language="java" contentType="text/html; charset=UTF-8"


pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login Handler</title>
</head>
<body>
<%
// Retrieve form data
String username = request.getParameter("username");
String password = request.getParameter("password");

// Check if username and password are provided


if (username == null || password == null || username.trim().isEmpty() ||
password.trim().isEmpty()) {
out.println("Username or password cannot be empty.");
} else {
try {
// JDBC URL, username, and password of Oracle database
String jdbcUrl = "jdbc:oracle:thin:@localhost:1521:xe";
String dbUsername = "tour";
String dbPassword = "travels";

// Establish database connection


Class.forName("oracle.jdbc.driver.OracleDriver");
Connection connection = DriverManager.getConnection(jdbcUrl,
dbUsername, dbPassword);

// Prepare SQL query to check user credentials


String sql = "SELECT * FROM REGISTER WHERE username = ? AND
password = ?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, username);
statement.setString(2, password);

// Execute the query


ResultSet resultSet = statement.executeQuery();

// Check if user exists


if (resultSet.next()) {
out.println("Login successful!");
// Redirect the user to the home page
response.sendRedirect("ghar.jsp");
} else {
out.println("Invalid username or password.");
}

// Close database connection


resultSet.close();
statement.close();
connection.close();
} catch (Exception e) {
out.println("An error occurred: " + e.getMessage());
}
}
%>
</body>
</html>

 Forget.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"


pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Forgot Password</title>
</head>
<body>
<%
String email = request.getParameter("email");
String phoneNumber = request.getParameter("phoneNumber");
String newPassword = request.getParameter("newPassword");
String confirmPassword = request.getParameter("confirmPassword");

boolean showEditForm = false;


Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;

try {
// Establish database connection
Class.forName("oracle.jdbc.driver.OracleDriver");
connection =
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "tour",
"travels");

// Check if email and phone match


preparedStatement = connection.prepareStatement("SELECT * FROM
REGISTER WHERE email = ? AND phone_Number = ?");
preparedStatement.setString(1, email);
preparedStatement.setString(2, phoneNumber);
resultSet = preparedStatement.executeQuery();

if (resultSet.next())
{ showEditForm =
true;
} else {
out.println("<p>Invalid email or phone number.</p>");
}

if (showEditForm) {
%>
<h2>Edit Password</h2>
<form action="forgethandler.jsp" method="post">
<label for="email">Email:</label>
<input type="email" name="email" id="email" required><br>
<label for="phoneNumber">Phone Number:</label>
<input type="phoneNumber" name="phoneNumber" id="phoneNumber"
required><br>
<label for="newPassword">New Password:</label>
<input type="password" name="newPassword" id="newPassword"
required><br>
<label for="confirmPassword">Confirm Password:</label>
<input type="password" name="confirmPassword" id="confirmPassword"
required><br>
<input type="submit" value="Update Password”>

</form>
<%
}
} catch (Exception e) {
out.println("<p>Error: " + e.getMessage() + "</p>");
} finally {
// Close resources
try { if (resultSet != null) resultSet.close(); } catch (SQLException e)
{e.printStackTrace(); }
try { if (preparedStatement != null) preparedStatement.close(); } catch
(SQLException e) { e.printStackTrace(); }
try { if (connection != null) connection.close(); } catch (SQLException e)
{e.printStackTrace(); }
}
%>
</body>
</html>
 Forgethandler.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"


pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Update Password</title>
</head>
<body>
<%
String email = request.getParameter("email");
String phoneNumber = request.getParameter("phoneNumber");
String newPassword = request.getParameter("newPassword");
String confirmPassword = request.getParameter("confirmPassword");

Connection connection = null;


PreparedStatement preparedStatement = null;

try {

// Establish database connection


Class.forName("oracle.jdbc.driver.OracleDriver");
connection =
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "tour",
"travels");

// Update password in the database


preparedStatement = connection.prepareStatement("UPDATE REGISTER SET
password = ? , confirm_password = ? WHERE email = ? AND phone_number = ?");
preparedStatement.setString(1, newPassword);
preparedStatement.setString(2, confirmPassword);
preparedStatement.setString(3, email);
preparedStatement.setString(4, phoneNumber);
int rowsAffected = preparedStatement.executeUpdate();

if (rowsAffected > 0) {
%>
<h2>Password Updated Successfully</h2>
<p><a href="Login.jsp">Login</a></p>
<%
} else {
%>
<h2>Failed to Update Password</h2>
<p>Please try again later.</p>
<%
}
} catch (Exception e) {
out.println("<p>Error: " + e.getMessage() + "</p>");
} finally {
// Close resources
try { if (preparedStatement != null) preparedStatement.close(); } catch
(SQLException e) { e.printStackTrace(); }
try { if (connection != null) connection.close(); } catch (SQLException e)
{e.printStackTrace(); }
}
%>
</body>
</html>
// Establish database connection
Class.forName("oracle.jdbc.driver.OracleDriver");
connection =
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "tour",
"travels");

// Update password in the database


preparedStatement = connection.prepareStatement("UPDATE REGISTER SET
password = ? , confirm_password = ? WHERE email = ? AND phone_number = ?");
preparedStatement.setString(1, newPassword);
preparedStatement.setString(2, confirmPassword);
preparedStatement.setString(3, email);
preparedStatement.setString(4, phoneNumber);
int rowsAffected = preparedStatement.executeUpdate();

if (rowsAffected > 0) {
%>
<h2>Password Updated Successfully</h2>
<p><a href="Login.jsp">Login</a></p>
<%
} else {
%>
<h2>Failed to Update Password</h2>
<p>Please try again later.</p>
<%
}
} catch (Exception e) {
out.println("<p>Error: " + e.getMessage() + "</p>");
} finally {
// Close resources
try { if (preparedStatement != null) preparedStatement.close(); } catch
(SQLException e) { e.printStackTrace(); }
try { if (connection != null) connection.close(); } catch (SQLException e)
{e.printStackTrace(); }
}
%>
</body>
</html>

 Delete.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Delete Account</title>
</head>
<body>
<%
String username = request.getParameter("username");
String password = request.getParameter("password");

Connection connection = null;


PreparedStatement preparedStatement = null;

try {
// Establish database connection
Class.forName("oracle.jdbc.driver.OracleDriver");
connection =
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "tour",
"travels");

// Check if username and password match


preparedStatement = connection.prepareStatement("SELECT * FROM
REGISTER WHERE username = ? AND password = ?");
preparedStatement.setString(1, username);
preparedStatement.setString(2, password);
ResultSet resultSet = preparedStatement.executeQuery();

if (resultSet.next()) {
// Delete account
preparedStatement = connection.prepareStatement("DELETE FROM
REGISTER WHERE username = ?");
preparedStatement.setString(1, username);
int rowsDeleted = preparedStatement.executeUpdate();

if (rowsDeleted > 0) {
out.println("<p>Account deleted successfully. We are sorry to see you
go.</p>");
} else {
out.println("<p>Failed to delete account or username not found.</p>");
}
} else {
out.println("<p>Invalid username or password.</p>");
}
} catch (Exception e) {
out.println("<p>Error: " + e.getMessage() + "</p>");
} finally {
// Close resources
try { if (preparedStatement != null) preparedStatement.close(); } catch
(SQLException e) { e.printStackTrace(); }
try { if (connection != null) connection.close(); } catch (SQLException e)
{e.printStackTrace(); }
}
%>
<a href="ghar.jsp">Back to Home</a>
</body>
</html>

 Search.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"


pageEncoding="UTF-8"%>
<%@ page import="java.sql.*, java.io.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Search City</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f3f3f3;
margin: 0;
padding: 0;
}
.background-image {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url('images/bg.jpg') ; /* Specify the path to your background
image */
background-size: cover;
background-position: center;
z-index: -1;
}
.container {
max-width: 600px;
margin: 50px auto;
padding: 20px;
background-color: #fff;
border-radius: 10px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

h1 {
text-align: center;
color: #333;
}

form {
text-align: center;
}

input[type="text"]
{ padding: 10px;
margin: 10px;
width: 70%;
border-radius: 5px;
border: 1px solid #ccc;
}

input[type="submit"]
{ padding: 10px
20px;margin: 10px;
background-color: #4CAF50;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
}

input[type="submit"]:hover
{ background-color:
#45a049;
}
</style>
</head>
<body>
<div class="background-image"></div>
<div class="container">
<h1>Search City</h1>
<form action="city details.jsp" method="get">
<input type="text" id="searchQuery" name="city" placeholder="Enter city
name...">
<input type="submit" value="Search">
</form>
</div>

<%
// Check if the user is registered (you should implement this logic)
boolean userRegistered = true; // Example logic, replace with your implementation

if (!userRegistered) {
// Redirect to register.jsp if the user is not registered
response.sendRedirect("Register.jsp");
}
%>

</body>
</html>

 City details.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"


pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>City Details</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f3f3f3;
margin: 0;
padding: 0;
}
.background-image
{position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url('images/bg.jpg') ; /* Specify the path to your background
image */
background-size: cover;
background-position: center;
z-index: -1;
}
.container {
max-width: 800px;
margin: 50px auto;
padding: 20px;
background-color: #fff;
border-radius: 10px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

h1 {
text-align: center;
color: #333;
}

.city-info {
margin-top: 20px;
padding: 20px;
border: 1px solid #ccc;
border-radius: 5px;
}

.city-info h2
{color:
#333;
}

.city-info p
{ color:
#666;
line-height: 1.6;
}

.attraction-img
{ max-width:
100%;height: auto;
margin-top: 10px;
}
</style>
</head>
<body background="">
<div class="background-image"></div>
<div class="container">
<h1>City Details</h1>

<%-- City details --%>


<div class="city-info">
<%
// Get city name from the request parameter
String city = request.getParameter("city");

// City details
String[][] cityDetails = {
{"Delhi", "Delhi, India’s capital territory, is a massive metropolitan area in
the country’s north. In Old Delhi, a neighborhood dating to the 1600s, stands the
imposing Mughal-era Red Fort, a symbol of India, and the sprawling Jama Masjid
mosque, whose courtyard accommodates 25,000 people. Nearby is Chandni Chowk, a
vibrant bazaar filled with food carts, sweets shops, and spice stalls.", "Red Fort, Jama
Masjid, Qutub Minar", "collage2.jpeg"},
{"Mumbai", "Mumbai (formerly called Bombay) is a densely populated city
on India’s west coast. A financial center, it's India's largest city. On the Mumbai
Harbour waterfront stands the iconic Gateway of India stone arch, built by the British

Raj in 1924. Offshore, nearby Elephanta Island holds ancient cave temples dedicated to
the Hindu god Shiva.", "Gateway of India, Marine Drive, Elephanta Caves",
"collage3.jpg"},
{"Jaipur", "Jaipur is the capital of India’s Rajasthan state. It evokes the royal
family that once ruled the region and that, in 1727, founded what is now called the Old
City, or “Pink City” for its trademark building color. At the center of its stately street
grid (notable in India) stands the opulent, colonnaded City Palace complex. With
gardens, courtyards, and museums, part of it is still a royal residence.", "City Palace,
Hawa Mahal, Amber Fort", "collage4.jpg"},
{"Agra", "Agra is a city on the banks of the Yamuna river in Uttar Pradesh.
It is home to the iconic Taj Mahal, a mausoleum built for the Mughal ruler Shah Jahan’s
wife, Mumtaz Mahal, who died in childbirth in 1631. The imposing main building
features a massive dome and intricately carved white marble inlaid with precious
stones.", "Taj Mahal, Agra Fort, Fatehpur Sikri", "collage5.jpeg"},
{"Varanasi", "Varanasi is a city in the northern Indian state of Uttar Pradesh
dating to the 11th century B.C. Regarded as the spiritual capital of India, the city draws
Hindu pilgrims who bathe in the Ganges River’s sacred waters and perform funeral
rites. Along the city's winding streets are some 2,000 temples, including Kashi
Vishwanath, the “Golden Temple,” dedicated to the Hindu god Shiva.","Ganga
Arti,kashi Vishwanath, Sarnath" ,"collage1.webp"},
{"Goa", "Goa is a state in western India with coastlines stretching along the
Arabian Sea. Its long history as a Portuguese colony prior to 1961 is evident in its
preserved 17th-century churches and the area’s tropical spice plantations. Goa is also
known for its beaches, ranging from popular stretches at Baga and Palolem to those in
laid-back fishing villages such as Agonda.", "Baga Beach, Dudhsagar Falls, Basilica of
Bom Jesus", "collage6.jpg"},
{"Kolkata", "Kolkata (formerly Calcutta) is the capital of India's West
Bengal state. Founded as an East India Company trading post, it was India's capital
under the British Raj from 1773–1911. Today it’s known for its grand colonial
architecture, art galleries, and cultural festivals. It’s also home to Mother House,
headquarters of the Missionaries of Charity, founded by Mother Teresa, whose tomb is
on site.", "Victoria Memorial, Howrah Bridge, Indian Museum", "collage7.jpg"},
{"Chennai", "Chennai, on the Bay of Bengal in eastern India, is the capital
of the state of Tamil Nadu. The city is home to Fort St. George, built in 1644 and now
a museum showcasing the city’s roots as a British military garrison and East India
Company trading outpost. Religious sites include Kapaleeshwarar Temple, adorned
with carved and painted gods, and St. Mary’s, a 17th-century Anglican church.",
"Marina Beach, Kapaleeshwarar Temple, Fort St. George", "collage8.jpeg"},
{"Bangalore", "Bangalore (Bengaluru) is the capital of India's southern
Karnataka state. The center of India's high-tech industry, the city is also known for its
parks and nightlife. By Cubbon Park, Vidhana Soudha is a Neo-Dravidian legislative
building. Former royal residences include 19th-century Bangalore Palace, modeled
after England’s Windsor Castle, and Tipu Sultan’s Summer Palace, an 18th-century
teak structure.", "Lalbagh Botanical Garden, Bangalore Palace, Cubbon Park",
"collage9.webp"},
{"Hyderabad", "Hyderabad is the capital of southern India's Telangana
state. A major center for the technology industry, it's home to many upscale restaurants
and shops. Its historic sites include Golconda Fort, a former diamond-trading center
that was once the Qutb Shahi dynastic capital. The Charminar, a 16th-century mosque
whose 4 arches support towering minarets, is an old city landmark near the long-
standing Laad Bazaar.", "Charminar, Golconda Fort, Ramoji Film City", ".jpg"},
{"Lakshadweep", "Lakshadweep, formerly known as the Laccadive Islands,
is a group of islands in the Laccadive Sea, off the southwestern coast of India.It is
known for its pristine beaches, coral reefs, and clear blue waters, making it a popular
destination for snorkeling, scuba diving, and water sports.","Bangaram Island, Kalpeni
Island, Agatti Island, Kavaratti Island","lakshadweep.jpg"},
{"Ayodhya", "Ayodha, also known as Ayodhya, is an ancient city located
in the Faizabad district of Uttar Pradesh, India. It holds great religious significance as
the birthplace of Lord Rama, according to Hindu mythology.The city is dotted with
numerous temples and historical sites that attract pilgrims and tourists alike.","Ram
Janmabhoomi, Hanuman Garhi, Kanak Bhawan, Nageshwarnath Temple, Bharat Kund
, Guptar Ghat","Ayodhya.jpeg"}

// Add more cities and their details here

};

// Find city details


String[] details = null;
for (String[] cityDetail : cityDetails)
{if (cityDetail[0].equals(city)) {
details = cityDetail;
break;
}
}

// Display city details


if (details != null) {
String cityName = details[0];
String description = details[1];
String attractions = details[2];
String image = details[3];
%>
<h2><%= cityName %></h2>
<p><%= description %></p>
<h3>Attractions:</h3>
<ul>
<% for (String attraction : attractions.split(",")) { %>
<li><%= attraction.trim() %></li>
<% } %>
</ul>
<img src="images/<%= image %>" alt="<%= cityName %> Attractions"
class="attraction-img">
<% } else { %>
<p>No details available for <%= city %>!</p>
<% } %>
</div>
</div>

</body>
</html>

 Contact.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"


pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Contact Us</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f3f3f3;
margin: 0;
padding: 0;
}
.background-image
{position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url('images/bg.jpg') ; /* Specify the path to your background
image */
background-size: cover;
background-position: center;
z-index: -1;
}

.container {
max-width: 800px;
margin: 50px auto;
padding: 20px;
background-color: #fff;
border-radius: 10px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

h1 {
text-align: center;
color: #333;
}

p{
color: #666;
line-height: 1.6;
}

form {
margin-top: 20px;
}

label {
font-weight: bold;
color: #333;
}

input[type="text"],
textarea {
width: 100%;
padding: 10px;
margin-top: 5px;
border: 1px solid #ccc;
border-radius: 5px;
box-sizing: border-box;
}

input[type="submit"]
{ background-color:
#4CAF50;color: white;
padding: 12px 20px;
border: none;
border-radius: 5px;
cursor: pointer;
}

input[type="submit"]:hover
{ background-color:
#45a049;
}

.contact-info
{ margin-top:
30px;text-align:
center;
}

.contact-info p
{ margin: 10px
0;
}

.social-icons
{ margin-top:
20px;text-align:
center;
}
.social-icons
img{ width: 135%;
height: 45px;
object-fit: circle;
border-radiuis: 7px;
}
.social-icons a { display: inline-block;margin: 0 10px;

color: #fff;
background-color: #666;
width: 40px;
height: 40px;
line-height: 40px;
border-radius: 50%;
transition: background-color 0.3s ease;
}

.social-icons a:hover
{ background-color:
#333;
}
</style>
</head>
<body>
<div class="background-image"></div>
<div class="container">
<h1>Contact Us</h1>
<p>We would love to hear from you! Fill out the form below to get in touch with
us.</p>

<form method="post" action="contacthandler.jsp">


<label for="name">Name:</label>
<input type="text" id="name" name="name" required>

<label for="email">Email:</label>
<input type="text" id="email" name="email" required>

<label for="message">Message:</label>
<textarea id="message" name="message" rows="5" required></textarea>

<input type="submit" value="Submit">


</form>

<div class="contact-info">
<h2>Contact Information</h2>
<p>Email: [email protected]</p>
<p>Phone: +123 456 7890</p>
</div>
<div class="social-icons">

<h2>Connect With Us</h2>


<a href="https://www.facebook.com" title="Facebook"><img
src="images/facebook.jpeg"></a>
<a href="https://www.twitter.com" title="Twitter"><img
src="images/twitter.jpeg"</a>
<a href="https://www.instagram.com" title="Instagram"><img
src="images/instagram.jpeg"</a>
<a href="https://www.linkedin.com" title="LinkedIn"><img
src="images/linkedin.jpeg"</a>
</div>
</div>

</body>
</html>
 Contacthandler.jsp:

<%@page contentType="text/html" pageEncoding="UTF-8" language="java"


import="java.sql.*"%>
<body background="images/bg.jpg">
<%
String fn = request.getParameter("name");
String email = request.getParameter("email");
String ms = request.getParameter("message");

if("".equals(fn) || "".equals(email) || "".equals(ms))


{
response.sendRedirect("contact.jsp?msg=blank");
}
else
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con =
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "tour",
"travels");
String qry = "INSERT INTO contact (name, email, message) VALUES (?, ?, ?)";
PreparedStatement prestmt = con.prepareStatement(qry);
prestmt.setString(1, fn);
prestmt.setString(2, email);
prestmt.setString(3, ms);

int rowsInserted = prestmt.executeUpdate();


con.close();
prestmt.close();
if(rowsInserted > 0) {
out.print("Thanks for the feedback");
%>
<a href="contact.jsp">GoBack</a>
<%
} else {
out.print("sorry for inconvience");
}
}
catch(Exception e)
{
out.println(e);
}
}
%>

 About.jsp:

<%--
Document : About
Created on : 8 Feb, 2024, 11:40:26 PM
Author : Maharshi
--%>

<%@ page language="java" contentType="text/html; charset=UTF-8"


pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>About Us -ExploreEra (Travels and Tourism)</title>
<style>
/* Basic CSS styling */
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #f2f2f2;
color: #333;
}
.background-image
{position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url('images/bg.jpg') ; /* Specify the path to your background
image */
background-size: cover;
background-position: center;
z-index: -1;
}
header {
background-color: #0056b3;
color: #fff;
padding: 20px 0;
text-align: center;
}
nav {
background-color: #0056b3;
text-align: center;
padding: 5px 0;
}
nav a {
color: #fff;
text-decoration: none;
padding: 10px 20px;
display: inline-block;
margin: 0 10px;
border-radius: 4px;
}
.container {
max-width: 900px;
margin: 50px auto;
background-color: #fff;
padding: 20px;
border-radius: 8px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
text-align: center;
}
h1 {
margin-bottom: 20px;
}
p{
margin-bottom: 20px;
}
footer {
background-color: #333;
color: #fff;
text-align: center;
padding: 20px 0;
position: fixed;
bottom: 0;
width: 100%;
}
.about-section {
background-color: #f9f9f9;
padding: 20px;
border-radius: 8px;
margin-bottom: 20px;
}
.about-section h2
{color: #333;
margin-bottom: 10px;
}
.about-section p
{color: #555;
}
.team-section
{display:
flex;
justify-content: center;
flex-wrap: wrap;
}
</footer>
</body>
</html>
Screenshots of the project ( ExploreEra)
Scope of Improvement for ExploreEra:
 Enhanced User Experience:

o Implement responsive design to ensure compatibility across various devices and


screen sizes.
o Incorporate user-friendly navigation features, such as breadcrumbs and quick
access menus, to improve overall usability.
o Conduct usability testing and gather user feedback to identify pain points and
areas for improvement in the user interface.

 Personalized Recommendations:

o Introduce machine learning algorithms to analyze user preferences and behavior,


providing personalized travel recommendations based on past interactions.
o Implement a recommendation engine that suggests destinations, tours, and
activities tailored to each user's interests and travel history.

 Expanded Destination Coverage:

o Continuously update and expand the database of destinations to offer a broader


range of travel options to users.
o Collaborate with local tourism authorities and travel partners to source
comprehensive and up-to-date information about various destinations.

 Advanced Search Functionality:

o Enhance the search functionality with advanced filtering options, such as price
range, travel dates, and specific amenities or attractions.
o Implement predictive search capabilities to anticipate user queries and provide
relevant suggestions in real-time.

 Streamlined Booking Process:

o Simplify the booking process by implementing a streamlined, step-by-step


workflow with clear instructions and intuitive interface elements.
o Integrate secure payment gateways to facilitate seamless and hassle-free
transactions for users.
 Interactive Community Features:
o Enhance user engagement by incorporating interactive community features, such
as forums, discussion boards, and user-generated content.
o Encourage users to share their travel experiences, tips, and recommendations,
fostering a sense of community and camaraderie among travelers.

 Robust Feedback Mechanism:

o Implement a comprehensive feedback mechanism to gather insights from users


about their experiences with ExploreEra.
o Analyze feedback data to identify trends, address common issues, and
continuously improve the platform based on user input.

 Integration with External Services:

o Explore opportunities to integrate ExploreEra with external services, such as


weather forecasts, transportation providers, and accommodation booking
platforms, to offer additional value to users.
o Leverage APIs and partnerships to provide seamless integration with third-party
services and enhance the overall travel experience.

 Accessibility and Inclusivity:

o Ensure ExploreEra's compliance with accessibility standards, such as WCAG


(Web Content Accessibility Guidelines), to accommodate users with disabilities
and diverse needs.
o Conduct accessibility audits and implement improvements to ensure that the
website is inclusive and accessible to all users.

 Continuous Performance Optimization:

o Monitor website performance metrics, such as page load times and server
response times, and identify areas for optimization.
o Implement performance improvements, such as code optimization, caching
strategies, and server upgrades, to enhance the overall speed and responsiveness
of ExploreEra.

By addressing these areas for improvement, ExploreEra can further enhance its value
proposition and provide a more enriching and seamless experience for travelers, thereby
solidifying its position as a leading platform in the travel and tourism industry.
Bibliography

 Nielsen, J. (1994). Usability Engineering. Morgan Kaufmann.

o This book provides insights into usability principles and methodologies, offering
guidance on improving user experience in digital interfaces.

 ISO/IEC 25010:2011. Systems and software engineering -- Systems and


software Quality Requirements and Evaluation (SQuaRE) -- System and
software quality models.

o This international standard outlines quality models and metrics for evaluating
software systems, including aspects related to usability, performance, and
reliability.

 Friedman, B., & Kahn Jr, P. H. (2003). Human values, ethics, and design.
Handbook of human-computer interaction, 1177-1201.
o The chapter discusses the importance of considering human values and ethics in
the design of interactive systems, which is relevant for enhancing user experience
in ExploreEra.

 Cooper, A., Reimann, R., & Cronin, D. (2007). About Face 3: The
Essentials of Interaction Design. John Wiley & Sons.

o This book offers practical advice and best practices for interaction design, which
can inform the design decisions and user interface improvements in ExploreEra.

 W3C Web Accessibility Initiative (WAI). Web Content Accessibility


Guidelines (WCAG) Overview. Available online:
https://www.w3.org/WAI/standards-guidelines/wcag/.

o The WCAG provides guidelines and techniques for creating accessible web
content, which can help ensure that ExploreEra is inclusive and usable by all
users, regardless of disabilities.

 Norman, D. A. (2013). The Design of Everyday Things: Revised and


Expanded Edition. Basic Books.
o This classic book delves into the psychology of design and usability, offering
valuable insights for creating intuitive and user-friendly interfaces in ExploreEra.

 ISO/IEC 9126:1-2001. Software engineering — Product quality — Part


1: Quality model.

o This international standard defines a quality model for software products, which
can serve as a reference for evaluating and improving the quality attributes of
ExploreEra.

These references provide valuable insights and resources for the development and
improvement of ExploreEra, ensuring its effectiveness, usability, and quality in meeting
the needs of users in the travel and tourism domain.

You might also like