You are on page 1of 101

SIX MONTH INDUSTRIAL TRAINING FINAL

REPORT
ON
‘Hodophile Touristry’

Submitted in partial fulfilment of the requirement for award of


Degree of

BACHELOR OF TECHNOLOGY
(COMPUTER SCIENCE AND ENGINEERING)

SESSION 2022-23

SUBMITTED TO: SUBMITTED BY:

Er. NEENA MADAN GURJAP KAUR


17031987704

DEPARTMENT OF ENGINEERING AND TECHNOLOGY


GURU NANAK DEV UNIVERSITY REGIONAL CAMPUS,
JALANDHAR (PUNJAB), INDIA-144009
DECLARATION

I, the undersigned solemnly declare that the project report on “Hodophile Touristry” is based
on my own work prepared with my fullest sincere efforts carried out during the course of our
industrial training.

I assert the statements made and conclusions drawn are an outcome of my research work. I
further certify that:
I. The work contained in the report is original and has been done by me only under the
general supervision of my supervisor.
II. The work has not been submitted to any other Institution for any other
degree/diploma/certificate in this university or any other University of India or abroad.
III. I have followed the guidelines provided by the university in writing the report.
IV. Whenever I have used materials (data, theoretical analysis, and text) from other
sources, I have given due credit to them in the text of the report and giving their details
in the references.

May, 2023 Gurjap Kaur


Jalandhar 17031987704

i
CERTIFICATE

Certified that the work contained in the project titled “Hodophile Touristry”, by Gurjap Kaur, has

been carried out under my supervision and that this work has not been submitted elsewhere for a

degree.

________________________________ ________________________________

Er. Neena Madan, Assistant Professor Dr. Varinder Kaur Attri, Assistant Professor

Guru Nanak Dev University, Guru Nanak Dev University,

Regional Campus, Jalandhar Regional Campus, Jalandhar

India. India.

ii
ACKNOWLEDGEMENT

I take upon this opportunity to acknowledge the many people who help in making of this project.

I express my deepest gratitude to my parents Mr. Gurcharan Singh and Mrs. Rupinder Kaur who

provide financial and emotional support all time.

I am deeply indebted to Dr. Jyoteesh Malhotra, Professor cum Associate Dean, Faculty of

Engineering, GNDU Regional Campus, Jalandhar, for providing this opportunity to carry out

the present report/ work.

The constant guidance and encouragement received from my mentor, Er. Neena Madan,
Assistant Professor, GNDU Regional Campus, Jalandhar, has helped in each aspect of the
present work, has solved every doubt regarding various queries and is acknowledged with
reverential.
Without the wise counsel and able guidance, it would have been impossible to complete the

report in this manner.

Gurjap Kaur
17031987704

iii
TRAINING CERTIFICATE

iv
CONTENTS

S.NO. NAME PAGE NO.

Chapter 1. INTRODUCTION TO THE PROJECT 1

a. Problem Definition
b. Description of Problem

Chapter 2. REQUIREMENT ANALYSIS 3


& LITERATURE SURVEY

a. Existing projects available of similar type


b. Motivation to create proposed project
c. Course of Action
d. Gantt Charts
e. Literature Survey

Chapter 3. PLANNING OF THE PROJECT 11

a. Objectives of the project


b. Planning part

Chapter 4. HARDWARE AND SOFTWARE REQUIREMENTS 15

a. Hardware Requirements
b. Software Requirements
c. Tools used for development of project
d. Techniques used for development of project

Chapter 5. DESIGN OF THE PROJECT 27

Chapter 6. IMPLEMENTATION OF THE PROJECT 47

Chapter 7. CONCLUSIONS AND FUTURE SCOPE 89

Chapter 8. ABOUT THE COMPANY 92

Chapter 9. BIBLIOGRAPHY 95

v
INTRODUCTION TO THE PROJECT

“HODOPHILE TOURISTRY” is a travel management system which is web based


application. The main purpose of this website is to provide a convenient way for a customer
to book travel destinations of their choices across the whole country (India) for tour purposes.
This website develops a system that automates the processes and activities of a travel agency.
In this project, searching places and booking transportation will be made easier. In the present
system a customer has to approach various agencies to find details of places and to book tickets.
This often requires a lot of time and effort, thus this website provides approach skills to
critically examine how a tourist visits and its ability to operate in an appropriate way when
dealing with the consequences of tourism, locally, regionally, and nationally including visitor
security and ecological influences. It is tedious for a customer to plan a particular journey and
have it executed properly. The project ‘Hodophile Touristry’ is developed to make the best
travel experience for all the hodophiles, which helps in keeping records of the customer details
of destination as well as payment received.

This website is curated with more personalised features for the users in order to maintain their
data with privacy or publicly as per their choice.

1. a. Problem definition:

Profile of the Problem assigned:

The purpose of website is established fact that Internet users are increasing today. One of the
main purposes of the website is to facilitate the offline customer online because customers
cannot spend their precious time in markets trying to find out the best deal. India is a country
where in a few days holiday, you can enjoy a lot. The problem is that although having many
websites but they offer different kind of services. The customers are enjoying a lot but there is
a lack of relationship between travel agency and customers and hence establishing that
relationship by caring and serving all customers in the same manner that wish to be served.
Also, it is beneficial for budget travelling as it reduces the cost for the middleware i.e. travel
agents.

This website is especially curated for people who want a personalised experience in their
tourism website.

A tourism destination website usually is a Business to Customer (B2C site), whose main target
are the tourists. Websites can support all the core activities of a Tourism Destination. They are
useful in all the areas of e-tourism and can be used for branding, promotion, and e-commerce.
1
A destination can also create micro-sites or sub-sites with specialized content, to communicate
e.g., an event, to promote an attraction or to sell a package. This project includes:

=> Managing Admin Panel

=> Changes and Maintenance through admin

=> Customer Relationship Management (CRM)

=> Online Reservations & Dynamic packaging

=>Secure authorization and authentication

The website emphasizes on more personalised use in order to create beautiful experiences
throughout the life and it manages data more efficiently and securely due to the technologies it
is made using.

1. b. Description of the Problem :

Travel and tourism management system is used to book a tour from anywhere in India by a
single dynamic website which will help the user to know all about the places and tour details
in a single website. The admin can add packages to the website from a certain travel agents and
hotels by create a tour page. Then the users can sign in and book each project, they can be
confirmed by the admin in their booking page. The user can see the confirmation in their “My
bookings” page. It is the easiest platform for all travellers which can be easily booked and know
the all details. Tour Management system is a dynamic website for tourism business. It is
dynamic and responsive web design. It is also called travel technology solution for agencies &
tour operation. Nearly everyone goes on a vacation, for this ‘a Tourism management system’
would play a vital role in planning the perfect trip. The tourism management system allows the
user of the system access all the details such as location, events, etc. The main purpose is to
help tourism companies to manage customers and bookings. The system can also be used for
both professional and business trips.

2
REQUIREMENT ANALYSIS

2. a. Existing Systems:

In the existing systems, each task is carried out manually and processing is also a tedious job.
In previous systems, travellers were maintaining time table details manually in pen and paper,
which was time taking and costly. The travellers are not able to achieve their need in time and
also the results may not be accurate. Because of the manual maintenance there are number of
difficulties and drawbacks exist in the present systems.

There are many tourism websites available on the internet but this website will focus on making
more efficient and personalised interface for the travellers for a wholesome travelling
experience.

Drawbacks of Existing Systems:

• Asking inquiry for Travelling then Book ticket Finally Pay Payment & Collect Receipt.

• A middleware is created among destination booking and tourists.

• Not offering Personalised experience.

• Increased transaction leads to increased source document and hence maintenance becomes
difficult.

• Problem of Updating: In the existing system, since everything is stored in the registers,
Software Requirement Document is prepared and every time the requirements changes we have
to change the document manually which is much difficult.

• Time and Retrieval Problem: Retrieval of information is time consuming because of large
volumes of data and trace particular information a large number of records. Also companies
have to arrange meetings with the users to discuss about the project which is time consuming
for user as well as company.

• Storage Problem: The storage is prone to damage with time and due to other environmental
and accidental factors like SRS and other important documents.

• Not Portable: It is difficult to carry information. Paper work is difficult to carry and manage.

• Not Secure: Existing system does not secure because any unauthorized person can access and
update data

3
Proposed System:

The proposed system is designed to be more efficient than the existing systems. It invokes all
base tasks that are now carried out manually, such as the forms transactions and reports which
is added advantage. The proposed System is completely computer-based application.
Thousands of records can searched and displayed without taking any significant time. Even
being more efficient than the existing e-services providing websites, proposed system exceeds
the existing system by providing apt and unique features.

Advantages of the Proposed System:

 Manages proper authorization and authentication of the user and admin both.

 Simplifies the manual work by providing e-services.

 It minimizes the documentation related work as every detail is stored in database.

 Provides up to date information about any content displayed in the website.

 Friendly Environment by providing warning messages with proper validations and


verifications.

 Travellers’ details can be provided to the admin and give only limited access for
performing any functions.

 Booking confirmation and cancellation notification to both Admin and User.

 To Provide Search Facility For Customer.

 User friendly approach and Data security is provided.

 Restricting un-authorized accessing.

 Time saving process.

 Easy to maintain and remove problems of the computers in the organization.

 Instant results are obtained.

2. b. Motivation to develop this Project:

This application is developed to provide best travelling services to the customers and travel
agents. This system also helps to promote responsible and interesting tourism so that people
can enjoy their holidays at their favourable places. This system also helps to develop tourism
4
with different cultures so that they enrich the tourism experience and build pride. The website
develops this system to create and promote forms of tourism that provide healthy interaction
opportunities for tourists and locals and increase better understanding of different cultures,
customs, lifestyles, traditional knowledge and believes. This system also provide a better way
to connect with various events.

This system also gives tours related information like which places are tourist attractions, cities,
and provinces. Tourist can also book tours through our tours and travels management system.

The purpose of this travel site is to provide information related to local or international tourists’
destinations. When you are planning trips to where you are not familiar with, you may need to
look into them. Travel sites are a platform to displace destination management companies that
provides local travel services, you can reserve transportation, day tour services, restaurants,
hotels, etc. Besides, from the perspective of local services providers, the sites play the role of
ads carrier.

2. c. Course of Action:

The project consists of two modules:

Administrator module and User module.

 Administrator module:

 Can login/signup for the website and manage profile.


 Can check the number of users and their details (only which are required to watch at.)
 Can manage destinations (add, modify, view or delete them).
 Can view all the bookings done by the user.
 Send and receive booking confirmation and cancellation details.
 Views the inquiries made by users and reply them through mail if needed.

 User Module:

 Can register as a user.


 Can login/signup for the website.
 Send feedback to the administrator.
 Client can do/cancel his/her booking.
 Can communicate with admin by contact us form.
 Logged in user can view each detail about a particular destination.
 User have to sign up to make a booking.
 Can manage or update their profile.

5
1. Admin authentication: This module is mainly based on admin. System will check the admin
user name and password for authentication, after authentication, admin will be redirected to the
dashboard. An admin panel is made in which the admin can manage all the data of website.
After the verification for authorization the admin is able to precede the process. All works are
done under his control.

2. User Registration: This module covers the details about the registration of users which
they can be register by itself by adding data like name, password, email id and further details.
Proper validations are made while registering the user. After registration they can sign in by
their email id and password.

3. User Verification: In this module, the user is verified before logging in to the website
whether he/she has signed up or not. If user has not signed up, he can’t get access to many
features. Proper verification process is made for security purposes.

4. Package Creation and management: The admin can create packages by creating package
page which the type, price, details, place details all the travel tour package details can be added
here and shown in user homepage. After creation of packages, admin can delete, modify, view
them and add a new package according to requirement through admin panel.

5. Package booking: In this module, maintain the booking of travel packages by the user by
selecting various packages with date and provided information followed by completing
payment, then confirm the booking. After that an e-mail will be sent to both the user and the
admin that a booking is made.

6. Booking confirmation/management: Booking confirmation is the process of confirming


the booked packages by the admin that is booked by the user with date and comment. Also user
and admin both can manage the booking by cancelling it.

7. Profile Management: In this module, a user can manage his/her profile by choosing to or
not to enter the personal details/images. In a user’s profile, he/she can view his/her booking
and cancel the respective booking through mere click on a button.

Characteristics of Proposed System:

 The main objective of this tourism website project is to create a more effective and
engaging online presence that meets the needs and expectations of its target audience,
while also delivering measurable business benefits for the organization behind the
website.
 It also aims highlighting positive customer reviews and feedback, showcasing awards
and accolades, and demonstrating a commitment to sustainability and responsible
tourism practices.

6
 Another key feature is to provide accurate and up-to-date information about tourist
destinations. This includes descriptions of attractions, recommendations for activities,
and tips for travellers.
 The proposed System will be a personalised website in order to provide more online
engagement for the administrator/website owner.

Phase- based WBS:

7
2. d. Gantt chart:

8
2. e. Literature survey:

1. In “Holiday Packages at MakeMyTrip” [Online] 2020. Available:


https://www.makemytrip.com/holidays/india/ , the website provides a user-friendly interface
for booking travel accommodations and offers competitive prices on various travel services
and a wide range of tourist destination packages.

3. In “Qatar Tourism” [Online] 2023. Available: https://www.visitqatar.qa/ , the website provides


an overview of Qatar as a tourist destination, featuring highlights, attractions, and upcoming
events, with beautifully curated the layout and navigation options. It also provides descriptions,
photos, videos, and visitor information for each attraction.

4. In “India Tourism | Indian travel destinations” [Online] 2023. Available:


https://www.tourmyindia.com/ , the website provides an overview of TourMyIndia's services
and highlights of popular tourist destinations in India. It also provides detailed information
about different tourist destinations in India. These guides include descriptions, photos, maps,
suggested itineraries, and highlights of attractions and activities in each location.

5. In "Tourism in India: Challenges and Opportunities" Singh, Rana P. B., 2nd ed., Oxford
University Press, 2019.The book explores various challenges and opportunities related to
tourism in India. It covers topics such as tourism development, sustainability, policy issues,
cultural heritage, and economic impact, among others.

6. In "Tourism Management" David Weaver and Laura Lawton, Edition-3, Wiley, 2006, the
book explores key concepts such as destination management, visitor management, and
sustainable tourism, and the fact that effective tourism management requires collaboration
between stakeholders, including government agencies, tourism businesses, and local
communities.

9
9. In "Examining the Role of Destination Brand Personality in Tourist Behavior: A Study of
India as a Tourist Destination" Kumar, Vinay, and S. K. Tyagi, journal of Destination Marketing
& Management, vol. 20, 2021, pp. 100538. DOI: 10.1016/j.jdmm.2020.100538, there is a
detailed study of India as a tourist place and exploration opportunities in India for travellers
who want a wholesome experience.

10. In "Tourism and Hospitality Education in India: A Review" Sharma, Parikshat, and Atul
Dhingra, Journal of Hospitality, Leisure, Sport & Tourism Education, vol. 25, 2019, pp. 100-
110. DOI: 10.1016/j.jhlste.2018.09.002, the article discusses the state of tourism and
hospitality education in India and provides a comprehensive review of the topic, touch upon
emerging trends and areas of growth within tourism and hospitality education, as well as the
future prospects and challenges faced by the sector in India.

11. In "Role of Digital Marketing in Promoting Indian Tourism" Choudhary, Ankit, and
Raman Patel, International Journal of Tourism Research, vol. 20, no. 3, 2021, pp. 234-249.
DOI: 10.1002/jtr.2478. This article provides insights into the role of digital marketing in
promoting Indian tourism, as suggested by its title. It has discussed various digital marketing
strategies, their effectiveness, and their impact on the Indian tourism industry.

10
PROJECT PLANNING

Recognition of need:

Today we are living in the age of technology. Everyone wants more and more speed
enhancement, personalised experience and accuracy. Keeping in point of view these
requirements of the user this System will be designed. The website that I will design, has all
the necessary details about the tourism facilities, each destination package provides all the
relevant information therefore. One user who is registered can get more information and can
book a destination package online. The website will be designed by using UI/UX concept;
therefore, it will be very user friendly & easy to use.

Feasibility study:

The feasibility study is undertaken to determine the possibility of either improving the present
system or developing a completely new system. It helps to obtain an overview of the problem
and get an idea whether a feasible solution exists. Each and every aspect was judged and after
this study, I was assigned the problem and basic flowcharts were made.

• Technical Feasibility Study: Generally, new system brings new technology into an
organization. The various schedules were assigned keeping in mind the cost and performance
of the system. The hardware requirements were taken into consideration so that the system runs
on the proper platform i.e. internet browsers. The operating system has the technical capacity
to hold the data required to use the proposed system. The present equipment technology assures
technical guarantee of accuracy, reliability and ease of access.

• Legal/Ethical Feasibility Study: Determines whether the proposed system conflicts


with legal requirements. Legal feasibility study made sure that the project was made under all
the ethical values and it was made sure that no illegal way was practiced to make the project
work.

• Schedule Feasibility Study: A project will fail if it takes too long to be completed before
it is useful. Typically this means estimating how long the system will take to develop, and if it
can be completed in given time period using some methods like payback period. Schedule
feasibility is a measure of how reasonable the project timetable is. Given our technical
expertise, are the project deadlines reasonable? Some projects are initiated with specific
deadlines. You need to determine whether the deadlines are mandatory or desirable.

11
• Resource Feasibility Study: This involves questions such as how much time is available
to build the new system, when it can be built, whether it interferes with normal business
operations, type and amount of resources required, dependencies.

• Economic feasibility: Each and every system requires that the cost being taken into
consideration. Our system too had considered this. As our project reduces the extra cost for the
manual labour and costly software, the system is considered best which is being produced with
better efficiency with reasonable cost and we have tried to achieve this target so as to make our
system efficient in every aspect. In Our Project we need to work with VISUAL STUDIO
CODE, XAMPP and WINDOWS 10 OS which are open source and easily available without
any cost. To complete the project we need not any product from the market.

• Behavioural feasibility: Our project can be changed according to users’ requirement at


any time because it is dynamic in nature. So it fulfils the u feasibility which is necessary in this
modern era of changing technology.

Objectives/goals of the project:

1. To enhance the users’ experience through sharing of content made convenient and doing
it just in few steps for e.g. blog upload option provided.

2. To collect sample data from the internet through various tourism websites that promote
tourist destinations that are already in use and utilising it to undergo the work of project.

3. So, The aim of the project is to develop a system that automates the processes like booking
and activities of a travel. The purpose is to design a system using which one can perform all
operations related to traveling such as providing shortcuts to view the destination packages.

4. To increase user engagement through appealing designs and content, also provide quick
responses, attractive design, more functionalities, etc.

5. To offer full guidance in a particular destination package and provide all the mandatory
itineraries which are required for a wholesome provision of the information ad content.

6. To conclude the results after proper testing and development phases.

7. To modify and scrape data according to personal use and clean data using various techniques
in order to make the database and every other details of user secure which is a key characteristic
of an ideal website

12
8. To follow good practices for coding and provide a website which fulfils every requirement
on the user end.

9. To merge the project with new technologies such as provide surreal view of a tourist
destination (Virtual Reality Feature).

Functions to be provided:

 “Hodophile Touristry” will offer all the services provided by an ideal tourism website
along with more features added
 One can find up-to-date and accurate/apt information in the website according to the
availability of the tourist destinations.
 Communication can easily be made online via a contact us form.
 Users can make/cancel a booking and also view their bookings made i.e. having full control
on their bookings.
 Anyone can give feedback in this app.
 Registration form is provided for registration of users.
 Users can update/manage their profile according to their own personal choice.
 Signed in users will get more information about the destinations and can book the
destinations which they want.
 This website provides the feature of searching the destinations according to their names or
price limit (filter option) which makes it more engaging.
 Users can upload their travel blog in a single page in which they can choose to or not to
upload their blogs/images and show them publicly/privately.
 Admins can control the website through the admin panel of the website in which he/she
can add/view/delete/update the destination packages without necessarily having an access
to the database or to have knowledge of any technology.

13
Solution Strategy:

As it is required, the strategy combines by undergoing through various different testing and
procedure reforms. The round strategy has been planned in order to work model so that the
output generated is much more efficient and user-friendly.

14
HARDWARE AND SOFTWARE REQUIREMENT

4. a. Hardware Requirements:

1. Memory : RAM 2 GB or above

2. Processor : Intel® Core ™ i3 CPU @ 1.60GHz or above

3. System Type : 32/64 –bit operating system, x64-based processor

4. Standard coloured Monitor resolution of 1024 x 768 or higher.

5. Hard Disk: 1 GB or above Free Hard disk space.

4. b. Software Requirements:

1. Node version 18.14.1

2. NPM (Node Package Manager) version 7.24.0 for managing the installed packages.

3. Windows 7 or later (64-bit) for the interface.

4. VS code version 1.78.0 for programming the website.

5. XAMPP version 8.0.9 or above for providing structured database connectivity and Apache
server.

6. Operating System: Windows 7 or above OR Mac OS X Snow Leopard 10.6, Mac OS X


Lion 10.7 or Mac OS X Mountain Lion 10.8 OR Linux Ubuntu 12.04.

15
4. c. Tools used for development of project:

FRONTEND:

 HTML-CSS-JS-BOOTSTRAP
 EJS, which is a template engine in Express Js websites for rendering view pages.

BACKEND:

 Sequelize Js (An ORM tool for mapping the database to models)


 XAMPP (Apache server provider) and Mariadb as a community driven fork for Mysql as
a structured database.
 Express Js for navigating to the website pages (routes for maintaining the hyperlinking).
 MVC (Model-View-Controller) Structure followed for programming through the website

4. d. Techniques used for development of project:

Introduction to the technologies:

Web development refers to the creating, building, and maintaining of websites. It includes
aspects such as web design, web publishing, web programming, and database management. It
is the creation of an application that works over the internet i.e. websites.

Some of the key features of web development include:

 Client-side scripting: This involves writing code that runs on the client's browser and is
responsible for the user interface and user experience of the website or application.
 Server-side scripting: This involves writing code that runs on the web server and is
responsible for processing requests, querying databases, and generating dynamic content
for the client.
 Web design: This involves creating the visual elements of a website, including layout,
colour schemes, typography, and graphics
 Web content: This includes creating and managing the content that appears on a website,
including text, images, videos, and other multimedia elements.
 Database integration: This involves integrating databases with web applications to store
and manage data.

16
 Security: This involves implementing measures to protect websites and web applications
from attacks, such as cross-site scripting (XSS) and SQL injection.

Web Development can be classified into two ways:

Frontend Development, Backend Development.

Frontend Development:

The part of a website where the user interacts directly is termed as front end. It is also referred
to as the ‘client side’ of the application.

It involves writing code in HTML, CSS, and JavaScript to create visually appealing and
interactive interfaces that users can interact with.

Frontend Roadmap:

HTML: HTML stands for Hyper Text Mark-up Language. It is used to design the front end
portion of web pages using mark-up language. It acts as a skeleton for a website since it is used
to make the structure of a website. HTML uses a set of mark-up tags to structure the content
of a web page. These tags define the structure and appearance of different elements on a web
page such as headings, paragraphs, links, images, forms, and tables.

CSS: Cascading Style Sheets fondly referred to as CSS is a simply designed language intended
to simplify the process of making web pages presentable. It is used to style our website i.e.
static web pages.

CSS allows developers to control the appearance of HTML elements, such as the font, colour,
size, layout, and positioning. It works by using selectors to target HTML elements and applying
style rules to those elements.

JavaScript: JavaScript is a scripting language used to provide a dynamic behaviour to our


website.

JavaScript is primarily used for adding interactivity to web pages, such as form validation,
animations, and dynamic content updates, and for creating more complex web applications. It
works by adding code to HTML elements, which is executed by the web browser.

Bootstrap: Bootstrap is a free and open-source tool collection for creating responsive
websites and web applications. It is the most popular CSS framework for developing
responsive, mobile-first websites. Nowadays, the websites are perfect for all browsers (IE,
Firefox, and Chrome) and for all sizes of screens (Desktop, Tablets, Phablets, and Phones).

Backend Development:

Backend is the server side of a website. It is part of the website that users cannot see and interact
with. It is the portion of software that does not come in direct contact with the users. It is used
to store and arrange data.

17
Backend Roadmap:

Node.js: Node.js is an open source and cross-platform runtime environment for executing
JavaScript code outside a browser.

It allows developers to use JavaScript for server-side scripting, making it possible to create
web applications and APIs with a consistent language both on the front-end and back-end.

Node.js is designed to be scalable, efficient, and lightweight. It uses an event-driven, non-


blocking I/O model that makes it ideal for building real-time applications that require a large
number of concurrent connections, such as chat applications, online games, and collaboration
tools.

To install Node.js, you can follow these steps:

1. Go to the official Node.js website at https://nodejs.org/ and download the recommended


version for your operating system.

2. Run the installer executable file and follow the installation wizard instructions.

3. Once the installation is complete, open your terminal or command prompt and type
"node -v" to verify that Node.js has been successfully installed. This should display the
version number of Node.js that you installed.

4. You can also verify the installation of the Node Package Manager (npm) by typing
"npm -v" in your terminal.

18
Express.js:
Express.js is a popular Node.js web application framework used for building web applications
and APIs. It provides a set of robust features for web and mobile applications, including
handling HTTP requests, routing, middleware, and error handling. It has a simple and intuitive
API that allows developers to quickly build RESTful APIs and web applications. One of the
key features of Express.js is its powerful routing capabilities, which allow developers to easily
handle incoming HTTP requests and send back appropriate responses. This allows developers
to add functionality such as authentication, logging, and caching to their applications with ease.

19
In this figure, the working of a node.js web application is explained how client interacts with
the application and node http server responds to the request by the client through middleware
stack in the express app. The middleware stack then sends response to the http server which
further interacts with the application.

20
Node Package Manager (npm) is a package manager for the JavaScript programming
language and the default package manager for the Node.js runtime environment. It allows
developers to easily install, manage, and share reusable code packages (called "modules" or
"packages") that can be used in Node.js projects.

Sequelize.js:
Sequelize.js is a promise-based, Node.js ORM (Object-relational mapping) for Postgres,
MySQL, MariaDB, SQLite and Microsoft SQL Server. It features solid transaction support,
relations, eager and lazy loading, read replication, and more.

21
A great thing about Sequelize is that it does not care about your underlying database. You can
easily switch databases by adjusting the configuration file, and your code will mostly remain
the same.

MVC Architecture:

The Model-View-Controller (MVC) is an architectural pattern that separates an application


into three main logical components: the model, the view, and the controller. Each of these
components are built to handle specific development aspects of an application. Here is a brief
overview of each component:

1. Model: The model represents the data and the business logic of the application. It is
responsible for managing the application's data and the rules that govern the
manipulation of that data.

2. View: The view is responsible for presenting the data to the user in a meaningful and
understandable way. It is the user interface of the application.

3. Controller: The controller is the bridge between the model and the view. It receives
user input from the view and updates the model accordingly.

22
MVC structure is a popular and effective approach to software development, and it is widely
used in web applications, desktop applications, and mobile applications.

Here, in the explorer section of Visual Studio Code where my project’s code is, I have
structured the whole code as MVC architecture.

23
Method of Object Relational Mapping (ORM):

Once you have defined your models, you can use Sequelize to interact with your database by
performing CRUD (Create, Read, Update, Delete) operations on your models. Sequelize
provides a set of API methods that allow you to create new records, query existing records,
update and delete records, and perform other database operations.

Here, in my project, whenever I execute a Sequelize query, it generates the appropriate SQL
statements and sends them to the database for execution. It then parses the results and returns
them to my Node.js application as JavaScript objects.

24
It is the admin page of Mysql in XAMPP in which every detail about Mysql is given (databases
and structured information).

XAMPP:

XAMPP is a free and open-source software package that provides an easy way to set up a web
development environment on a local machine. The acronym "XAMPP" stands for cross-

25
platform, Apache, MySQL, PHP, and Perl. XAMPP can be used on multiple platforms such as
Windows, mac OS, and Linux, and provides a simple way to install and configure a local web
server environment for testing and development purposes. Once installed, you can start the
Apache and MySQL services and access them using a web browser or command-line tools.

EJS (Embedded JavaScript):

Embedded JavaScript (EJS) is a templating language that allows you to embed JavaScript code
within HTML templates. It enables dynamic content generation on the server-side by
integrating JavaScript logic into your HTML markup.EJS provides a simple and concise syntax
for injecting values, executing loops, conditionals. It is commonly used in web development
frameworks like Node.js, Express.js, and MEAN stack (MongoDB, Express.js, AngularJS,
Node.js) applications.

26
DESIGN OF THE PROJECT

System Design:

Systems design is the process of defining the architecture, components, modules, interfaces,
and data for a system to satisfy specified requirements. Systems design could see it as the
application of systems theory to product development.

Physical design:

The physical design relates to the actual input and output processes of the system. This is laid
down in terms of how data is input into a system, how it is verified/authenticated, how it is
processed, and how it is displayed as output. In Physical design, following requirements about
the system are decided. Input requirement- HTML, CSS, JS, compatible Processor), Output
requirements-(Browser, Memory-RAM2GB) Storage requirements (Database MySQL),
Processing Requirements, System control and backup or recovery. Put another way, the
physical portion of systems design can generally be broken down into three sub tasks:

 USER INTERFACE DESIGN


 DATA DESIGN
 PROCESS DESIGN

User Interface Design: User Interface Design is concerned with how users add information to
the system and with how the system presents information back to them. Data Design: Data
Design is concerned with how the data is represented and stored within the system.

Process Design: Process Design is concerned with how data moves through the system, and
with how and where it is validated, secured and/or transformed as it flows into, through and
out of the system. At the end of the systems design phase, documentation describing the three
sub-tasks is produced and made available for use in the next phase.

Physical design, in this context, does not refer to the tangible physical design of an information
system. To use an analogy, a personal computer's physical design involves input via a
keyboard, processing within the CPU, and output via a monitor, printer, etc. It would not
concern the actual layout of the tangible hardware, which for a PC would be a monitor, CPU,

27
motherboard, hard drive, modems, video/graphics cards, USB slots, etc. It involves a detailed
design of a user and a product database structure processor and a control processor. The H/S
personal specification is developed for the proposed system.

CODE STRUCTURE:

28
Here, under the assets and assets front folder all the files are present containing images, css, js,
fonts, etc.

Under the controller folder two files are present containing the controller functions of frontend
and backend.

The folder named db contains database file in which the connection of sequelize to the database
in XAMPP is coded.

The models folder contains all the models which are created and defined and further connected
to the structured database.

The node modules folder contains all the required inbuilt node js modules which were installed
during the installation of node js.

Routes folder has two files which are further files route and route front for all the routes for
navigating to the different pages.

Utils contain passport fie which is required for the verification of users and admin both.

Views contain two folders and admin under which view files for admin panel and frontend
view are contained respectively

Dot env file contains the passwords or any data we do not want to share to anyone viewing the
source code of this website.

Package lock json contains all the packages which were installed during the development of
this project by using npm install with the description and dependencies whereas package.json
contains information of packages without dependencies. At last, the server file is the main file
which has the port information of localhost and the one which runs first of all whenever we run
this application.

29
Data Flow Diagrams:

CONTEXT LEVEL (LEVEL-0 DFD):

maintains Hodophile access/use


Admin Touristry Users

Here, in this DFD, the user and admin interact with the website where admin is responsible for
the maintainance of this website and the users can access any information which is displayed
in the website and by signing up to the website, users can do a lot more such as book a
destination, manage their profile, view single destination’s full information, etc.

30
LEVEL 1 DFD (User Side):

Sign Up User Table

Users Login

Password

Contact Destinations

Profile Booking

31
LEVEL-1 DFD (Admin side):

Admin Login

Users Change Password

Contact

Destinations Profile

Contact Users Table


Table Destination
Table

32
LEVEL-1.1 DFD (User Side):

Booking

Login Booking
Slot

Booking Table

33
LEVEL-1.2 DFD (Admin side):

Booking

Booking
slot
Login

User Table Booking


Table
Tbl

34
E-R Diagram: Entity–relationship model (ER model) in software engineering is an abstract
way to describe a database.

35
Database Design:

Determine the purpose of the database- This helps prepare for the remaining steps.
Find and organize the information required - Gather all of the types of information to record in
the database, such as subject name etc.

Divide the information into tables - Divide information items into major entities or
subjects. Each subject then becomes a table. Turn information about subjects into columns -
Decide what information needs to be stored in each table. Each item becomes a field, and is
displayed as a column in the table. For example, a subjects table might include fields such as
name, desc2, username, time etc. Specify primary keys - Choose each table’s primary key. The
primary key is a column, or a set of columns, that is used to uniquely identify each row. An
example might be subject name. Set up the table relationships - Look at each table and decide
how the data in one table is related to the data in other tables.

Database Tables:

Database name is “user_management” in XAMPP software which is installed on the system.

36
In this database, there are all the tables are stored which are required for the management of
the website. After that, entries are made through frontend of the website and are entered directly
through the create operations. Proper CRUD operations are applied on the tables wherever they
are required. This Database is managed in the Backend through Sequelize Js library through
which we can call the models and connect them to the tables successfully which are created in
the XAMPP.

There are seven tables in this project’s database.

Structure of each tabular schema is shown as follows:

Table: Bookings =>

37
Table: Blogs =>

Table: Destinations =>

38
Table: Messages =>

Table: OTPs =>

39
Table: Users =>

Table: FAQs=>

40
The Testing/Required entries that were made during the development of this
project:

Table: Users =>

41
Table: OTPs =>

Table: Messages =>

42
Table: Blogs=>

43
Table: Destinations =>

44
Table: Bookings =>

45
Table: FAQs =>

46
IMPLEMENTATION OF THE PROJECT

Working of the Project:

The website ‘Hodophile Touristry’ contains multiple pages where it contains home page, about
us page, destinations, blogs, contact us and a login form which further redirects to a sign up
page if user is not registered prior. In the navigation bar, a list is made to navigate to these
pages. If a user logs in, a profile page option is shown, clicking on which a user can navigate
to his/her profile page in order to update or manage the profile.

Further features are available in each page separately whenever you navigate to the individual
pages.

In the header section, navigation bar is there and in the footer, all the policies are mentioned
like privacy, cancellation and refund policy. Through the instagram, twitter icons you will be
linked to their web applications. Admin’s contact is provided in order to inquire about anything.
A user can login/signup through the login option in the website.

A sign up and sign in pages are separately available both of which provide the reference to each
other through different text options.

A filter options icon is also available in the home page where users can get the destinations by
their names or the price limit for the packages.

The home page of the website is displayed in the screenshot below:

47
48
About Us page: A brief introduction about website is available here.

49
Destinations page: => Destinations page:

50
In the destinations page, a user/anyone can view the list of the destination packages available
on the website as shown in the screenshot above.

A feedback form is placed just below the tours list in which anyone can add the feedback
regarding the website which will be sent to the admin through any means.

A filter search option is available here too if a user wants to see only required packages
searched by the tourist destination page and the price limit.

To further view the information about a particular package, a person has to sign up for the
website. If he has an account already, he can just view the information.

Only if a person is registered user, he can view the single destination page.

Just by clicking on ‘see more’ option a person can view further details about the particular
package. In this page, a user can book the destination package if it is up to his requirements
and wants.

Some of the single destination pages:

51
52
53
Only a user can view full information about a destination package.

In each single destination page, information is provided about the following aspects:

- Cities to visit
- Destination Name
- Start date and End date
- Overview
- Includes and Excludes
- Corresponding information
- Main photograph
- Some photographs added and displayed through slider icons
- And a button for booking the destination with price mentioned.
- The itinerary which explains about the itinerary after completion of all the steps such as
booking, payment and reaching on the date of package.

54
55
Blogs page: for a user who has a registered account on the website.

Blogs Page: for


anyone who does not
have an account (he/she
can view the updated
blogs and cannot upload
the personal blog.

56
57
Contact Us page: Through this page, anyone can enquire the admin online regarding any
issue/doubt.

58
Login Page: for already registered users of the website

Here is the gateway to login into your own account which is created on the website. In this
page, there are various options, such as to navigate back to the website, to create account on
the website/signing up as the user.

Note: The email of the person will be treated as his username.

Also there are options ‘remember me’ (remembering credentials to use next time) and ‘forgot
password’ (resetting password through OTP sent to the email of user). After proper
authentication, validations applied and authorization for the users logging in, a person can log
in to the website.

Sign up page: for registering as a user of the website.

59
Here, a person who wants to make an account on the website can sign up through this form.
The person can enter the required details in order to become a user of the website. Each input
field has been applied proper validations on. If a user is already a member i.e. already registered
he can navigate to the website by clicking the option given or otherwise has to face the
validation showing that the email already exists. After signing up, the user can login to the
website through entering email id and password which was set up during the registration.

60
Home Page with navigation bar for a non-user (or anyone opening the
website):

Home page having navigation bar for a user having account on the website:

61
As mentioned above, the profile page for a user having an account is also maintained where a
user can manage/update his profile according to his own choice. If he does not want to enter
additional details (in update profile feature), it is also allowed.

<= The Profile page is


displayed here

62
In the profile page, a user can manage profile or view the bookings made by him. In this
booking table, on the requirement a user can even cancel the booking through that table for a
particular package.

If a user cancels his booking, which he only can do till 48 hours prior to the start date of the
destination package, a flash message appears that the booking has been cancelled, also a mail
will be sent to the admin in order to notify him that the booking from this id has been cancelled.

If he tries to cancel a booking after 48 hours left for the starting of the destination package, the
user will be notified accordingly.

63
The terms and conditions of website:

Privacy Policy:

64
Refund policy:

Policies are an important tool for any organization to establish guidelines and procedures for
decision-making and actions. Policies help ensure consistency in decision-making, reduce risk,
and provide clear expectations for employees or members.

These three are the policies which are available for the user on a single click. These are
necessary for the legal purposes and the users having any doubts.

65
Also, there are some frequently asked
questions in the website which are
dynamically added in the website.

66
Some additional
information for the
website that is
entered in the footer
page under
Experience section
i.e. Adventure,
Nature, Camping,
and Party such as for
getting to know
which places are
suitable for having
the respective
experiences.

67
68
69
70
When a user tries to do booking the following process undergoes:

If the user selects to do a booking without payment, he can do so by just clicking


on save changes button after giving inputs in the form and all the details will be saved whenever
he enters the no. of persons and his name automatically shows in the input field of the form

71
with a notification given to user and admin both regarding the confirmation of booking + with
a flash message.

If he wants to do the booking by an online payment method, (if the user clicks
‘pay through online mode’), the user has to go through the following payment gateway, only
after that his booking will be confirmed.

72
73
74
After successful payment is done through razorpay payment gateway, a message will also be
shown on the redirected destination packages list page. The booking data will be saved and
further displayed on the ‘my bookings list’ where a user can also cancel the bookings.

75
Admin Panel:

When an admin logs in to the website, he is directed to the admin panel’s dashboard.

On the sidebar of the admin panel, many dropdowns and buttons are there which include
‘destinations’, ‘messages’, ‘all users’, ‘bookings’, ’faqs’.

Which are necessary for the admin panel to have in order to maintain the website.

In the ‘destinations’ dropdown, it contains two options which are: ‘Add a new destination’ and
‘all destinations’ through which you can add a new destination and view all the destinations
respectively.

The admin adds a new destination through a form created in the admin panel and the data saves
into the destinations table which further provide data to get shown on the frontend
“Destinations” webpage. Through this, admin does not require to have knowledge of using
database as he can perform all the functions of a structured database through admin panel only.

76
‘Add a new destination’ form is shown below:

77
In the ‘all destinations’ option, you can view a table of all the destinations and CRUD
operations are applied which are create (in the form), read, update, delete the destinations from
the symbols of dustbin-for deleting, eye for viewing a destination, pencil for editing the
destination.

If the admin deletes a destination, a flash message appears as follows:

78
Further, in the ‘messages’ option, you can view all th messages which are sent to the
admin i.e. the message which was sent to the admin through contact us page (online enquiry).

It includes all the messages received from the people.

In addition to, you can view all the users of your website.

The bookings which were made can be viewed from the ‘bookings’ option.

79
The admin can further cancel the bookings and the user whose booking has been cancelled will
be notified through email.

80
Admin can add frequently asked question on the admin panel and show them dynamically on
the website, through the option “add a new FAQ”, data will be sent to the database by create
operation and that data can be accessed further also.

81
In the “all FAQs” option, all the faqs are displayed as a table and further they can be deleted
and edited also. After editing, there appears a message and the same after deleting.

82
The admin also can view website to know how it is working by clicking on the profile name
and further navigating to the website.

By signing out, admin logs out of the admin panel and the website both.

83
If a user forgets his/her password, following process takes place:

84
After successful password reset, user is set to login into the website and a flash message
also appears as follows:

85
Validations and verifications when signing up and logging in:

This error occurs when an email is not registered for the website (or he enters
wrong password).

86
 This is HTML’s built in validation

 These are custom client side validations added in the website.

87
 This message appears when a user enters wrong password.

88
CONCLUSIONS

The following objectives are achieved by developing this project :

1. Enhance User Experience: Improving the website's usability, navigation, and overall
user experience is crucial. This objective focused on making it easy and enjoyable for
visitors to explore the website, find information about tourist destinations, and engage with
relevant content.

2. Promote Tourist Destinations: The project aimed to showcase various tourist


destinations in India and promote them to potential travelers. To achieve that, sample data
was collected from various famous websites for tourism promotion. This involved
providing comprehensive and appealing information about attractions, activities,
accommodations, and local culture.

3. Support Online Bookings & Filtered search options: If applicable, the project
aimed to enable users to make online bookings for tours, activities, or other travel-related
services. This objective involved integrating secure and user-friendly booking systems or
partnering with relevant service providers. The users could search their favourite tourist
spots just by entering the names or if they have a budget preference they could enter the
price limit and the filtered destination packges will appear.

4. Foster Community Engagement: Creating a sense of community among travelers


and enthusiasts is another objective. This was achieved through features user-generated
content, travel blogs, where users can share their experiences, ask questions and give
feedbacks.

5. Offer Travel Guides and Itineraries: Provide comprehensive travel guides and
suggested itineraries for different regions in India. The objective was to offer valuable
resources and recommendations that assist travelers in planning their trips effectively and
discovering hidden gems.

89
6. Proper Testing of each step: During the development of project,whenever each step
was completed, the process was tested and further development was continued. This has
been achieved through the following of general code of conduct.

7. Secure accounts: The objective of security was fulfilled successfully as every step of
security of user’s information was followed with proper sense of security provided to the
website visitors. The access of database is not given to just anyone as of security purposes.

8. Structured code: The technique followed to perform the code is structured with the
folders containing files and the each and every folder has different functionalities. The
MVC structured project is achieved as explained below:

90
Future scope:

The future scope of this website can be expansive, with numerous opportunities to further
enhance and grow the platform.

Here are some potential areas of future development for my project:

Integration of Emerging Technologies: This is one of the objective of my project which is


currently could not be achieved but in future,after learning about embracing emerging
technologies to enhance the user experience, it can be accomplished. For example, consider
incorporating virtual reality (VR) or augmented reality (AR) features that allow users to
experience destinations virtually or provide interactive 360-degree tours of popular attractions.

Personalization and Recommendation Engine: Developing a recommendation engine that


offers personalized travel recommendations based on user preferences, past behavior, and
travel history. Implementing features that allow users to create customized itineraries and
receive tailored suggestions for activities, accommodations, and experiences.

Language Localization: Considering providing language localization options to cater to


international visitors. Offering content, navigation, and support in multiple languages to make
the website more accessible and user-friendly for a global audience.

And most importantly,

Sustainable and Responsible Tourism: Promoting sustainable and responsible tourism


practices by featuring eco-friendly accommodations, highlighting community-based tourism
initiatives, and raising awareness about environmental conservation.

91
ABOUT THE COMPANY

About Smart It Ventures:

Smart IT Ventures is a leading mobile app development company. We specialise in apps for
iOS and Android, as well as web development. We work with a diverse range of individuals,
start-ups, small to medium businesses and organisations.

Our agencies talented and professional designers always aim to gather an initial, in- depth
understanding of your individual business objectives and marketing/ communication needs.
We then work to consistently deliver truly superior, bespoke design solutions that effectively
and tangibly help you achieve those goals.

We help enterprises transform ideas into innovative and intelligent solutions, governing
Internet of Things, Digital Commerce, Business Intelligence Analytics and Cloud
Programming. Bring your challenges to us, we will give you the smartest solutions.

From conceptualising and engineering to advanced manufacturing, we help customers build


and scale products fit for the global marketplace.

We pride ourselves in offering gracious, honest and reliable services. Let me also use this
opportunity to discuss our Company, Smart IT Ventures. We are one of the largest independent
custom development shops in India and have been in business for over 10 years. We hold
numerous international certifications including ISO 9001:2008. We have been audited by
Moody’s International (UK), one of the largest independent auditors in the world. We hold
numerous certifications from companies like Microsoft, Google, Apple, Expedia, Cisco etc.

Smart IT Ventures is a complete software solution which provides full range of services like
high end software development, website design and development, search engine optimization
(seo), eCommerce solutions, content management system, graphic designing, android apps,
iPhone apps and other IT solutions. We aim at having long term and fruitful associations with
our clients based on trust, genuine interest and understanding in client’s business needs. We
provide complete IT business solutions to organization who would like to have a web presence.
We believe in making this world digitally sound.

92
WEBSITE LINK : https://www.smartitventures.com/

Clients of Smart IT Ventures:

93
Services provided by Smart IT Ventures are shown in the images above and below.

94
BIBLIOGRAPHY

Websites:

1. Holiday Packages at MakeMyTrip [Online] 2020. Available:


https://www.makemytrip.com/holidays/india/

2. Node.js at StackOverflow.Available:https://stackoverflow.com/questions/tagged/node.js

3. Qatar Tourism[Online] 2023. Available: https://www.visitqatar.qa/

4. India Tourism | Indian travel destinations [Online] 2023. Available:


https://www.tourmyindia.com/

Books:

5. Singh, Rana P. B. "Tourism in India: Challenges and Opportunities", 2nd ed., Oxford
University Press, 2019.

6. David Weaver and Laura Lawton, "Tourism Management", Edition-3, Wiley, 2006.

7. Hahn, Evan. "Express in Action: Writing, building, and testing Node.js applications."
Manning Publications, 2016.

8. Biehler, Robin. "Mastering Sequelize: Learn advanced features of Sequelize, a promise-


based ORM for Node.js." Packet Publishing, 2019.

Journal Articles:

9. "Examining the Role of Destination Brand Personality in Tourist Behaviour: A Study of


India as a Tourist Destination." Kumar, Vinay, and S. K. Tyagi, Journal of Destination
Marketing & Management, vol. 20, 2021, pp. 100538. DOI: 10.1016/j.jdmm.2020.100538.

10. "Tourism and Hospitality Education in India: A Review." Sharma, Parikshat, and Atul
Dhingra, Journal of Hospitality, Leisure, Sport & Tourism Education, vol. 25, 2019, pp. 100-
110. DOI: 10.1016/j.jhlste.2018.09.002.

11. "Role of Digital Marketing in Promoting Indian Tourism." Choudhary, Ankit, and Raman
Patel, International Journal of Tourism Research, vol. 20, no. 3, 2021, pp. 234-249. DOI:
10.1002/jtr.2478.

95

You might also like