Rohit Report
Rohit Report
Chandkheda, Ahmedabad
Affiliated
A Project report On
Tourism Management
System
Under Subject Of
Internship
B.E, Semester – VIII
(Information Technology Branch)
Submitted By
Team Id: 426410
Academic
Year 2023-
2024
1
GYANMANJARI INSTITUTE OF
TECHNOLOGY BHAVNAGAR
CERTIFICATE
This is to certify that the basic process and framework has been satisfactorily
carried out by Mr. Rohit Solanki under my guidance in the fulfillment of the
course internship during the academic year 2023-24.
Date of submission:
Student’s sign:
Acknowledgement
3
The internship opportunity I had with App Matters Technologies for the duration of 3 months was a
great
chance for learning and professional development. Therefore, I consider myself fortuitous as I
was given a chance to be part of them. I am very grateful for having an opportunity to meet so
many amazing people and professionals who led me through this internship.
My sincere thanks to Mr. Gaurang Pandya for giving me the chance to work in Company
for my professional growth. I would like to thank and show my deepest gratitude to Prof.
Dhaval R. Chandarana (Internal Guide) for his careful and valuable guidance which I
treasured both theoretically and practically. I also heartily thanks to my other friends
pursuing internship in other companies who greatly helped me in my work when I get
confused.
Finally, at last but not least, we would like to acknowledge and thanks in large measures to
all our fellow friend & guides for their support.
Thank you.
4
Abstract
Moreover, the TMS integrates with transportation providers to ensure reliable bus
services, allowing travelers to secure seats on various routes conveniently. With access to
schedules and flexible booking options, users can plan their journeys efficiently and stay
informed about travel arrangements.
By centralizing tour bookings within a user-friendly platform, the TMS enhances the
overall travel planning process. Its comprehensive features and intuitive interface
optimize convenience and accessibility, ensuring memorable and stress-free journeys for
travelers worldwide.
List of Table
5
Table Page
Description
Number Number
Table 4.1.1 User Database 18
Table 4.1.2 Tour Database 18
Table 4.1.3 Tour Book Database 19
Table 6.4.1 User login 40
Table 6.4.2 Register new Users 40
Table 6.4.3 Traveler Search Tour 40
Table 6.4.4 Booking Request From Traveler 41
Table 6.4.5 Add New Tour 41
Table 6.4.6 Remove Tour 41
Table 6.4.7 Forgot Password 42
Table 6.4.8 Reset Password 42
List of Figures
Figure Page
Description
Number Number
6
Figure 1.1 App Matter Technologies 3
Figure 1.2 Snapshot Booking.com Interface 7
Figure 2.3.1 Agile Software Model 10
Figure 3.1 Entity-Relationship Diagram 14
Figure 3.2 Use Case Diagram of System 15
Figure 3.3 Activity Diagram of System 16
Figure 4.1.1 User Database 18
Figure 4.1.2 Tour Database 18
Figure 4.1.3 Tour Book Database 19
Figure 5.1 Coding Standard 22
Figure 5.5.1 Login Page(Traveler/Admin) 25
Figure 5.5.2 User Register Page(Traveler/Admin) 26
Figure 5.5.3 Home Page (Traveler) 27
Figure 5.5.4 Search Box(Traveler) 27
Figure 5.5.5 Admin Panel For Tour Owner(Admin) 28
Figure 5.5.6 Add Tour Page For Admin(Admin) 28
Figure 5.5.7 All Tour List Page(Admin) 29
Figure 6.1 Testing Objective 31
Figure 6.2 Resource Planning 33
Figure 6.3 Testing Automation 34
Figure 6.4 Testing Strategy 35
7
No. Symbol Description
Activity diagram:
8
Contents
Chapter 1 Introduction
9
1.2 Project Detail 4
1.3 Purpose 3
1.4 Scope 3
1.5 Objective 3
Chapter 3 Analysis
Chapter 4 Design
Chapter 5 Implementation
5.1 Implementation Environment 21
5.2 Security Feature 21
5.3 Coding Standard 22
5.4 Results 24
5.4 Website Screenshots 25
10
Chapter 6 Testing
6.1 Testing Plan 31
6.2 Testing Strategy 35
6.3 Testing Methods 37
6.4 Test Cases 40
Chapter 7 Conclusion & Future Work
7.1 Conclusion 44
7.2 Future Work 44
References 46
11
CHAPTER-1
INTRODUCTION
12
Organization Profile:
13
Project Detail
1.2.1 Project Profile
The Tourism Management System is a sophisticated web-based platform
designed to revolutionize the tourism industry by providing seamless
management of travel-related activities and services. The objective of this
project is to develop a comprehensive system that caters to the diverse needs
of tourists and travel operators, streamlining the planning, booking, and
management processes for travel experiences.
Simplifying the booking process for tours, accommodations, transportation,
and activities to enhance the overall travel experience.
It facilitates seamless booking of flights, hotels, tours, and other travel services, enabling
tourists to make reservations conveniently and securely.
For travel operators and agencies, TMS streamlines operations by automating processes
such as booking management, itinerary planning, and customer communication.
1.4 Scope:
The scope of a Tourism Management System (TMS) encompasses various functionalities and
features aimed at improving the efficiency and effectiveness of managing travel-related activities
and services.
1.5 Objective: -
Efficient Booking Process: Streamline the process of booking various travel services
including accommodations, transportation, tours, and activities to make it convenient and
14
hassle-free for tourists.
Optimized Resource Utilization: Optimize the utilization of resources such as hotel rooms,
transportation services, and tour guides to maximize revenue and minimize waste.
Data-Driven Decision Making: Collect and analyze data on travel trends, customer
preferences, and market demand to make informed decisions and optimize business strategies.
Yet, success stories abound, showcasing how these systems have transformed
businesses and destinations. Through streamlined processes and enhanced customer
engagement, organizations have gained a competitive edge. By leveraging data
analytics and emerging technologies, they're better positioned to thrive in a dynamic
marketplace.
The platform's reliance on data analytics and machine learning further enhances its performance. By
analyzing user behavior and market trends, Booking.com continually refines its algorithms, staying
abreast of changing preferences and emerging travel patterns. This data-driven approach not only boosts
recommendation accuracy but also underscores the platform's adaptability in a dynamic market.
Booking.com doesn't stop at recommendations; it provides users with comprehensive property listings.
With detailed descriptions, photos, and reviews, travelers can make informed decisions. Moreover,
flexible booking options, including free cancellation and instant confirmation, offer added convenience
and peace of mind to users.
At its core, Booking.com's success hinges on its user-centric design and secure payment system. The
platform's intuitive interface ensures a seamless booking experience, while robust security measures
safeguard user data and transactions. Such features have cemented Booking.com's reputation as a go-to
choice for travelers worldwide, fostering trust and loyalty among its user base.
Looking ahead, Booking.com remains committed to innovation, continuously striving to enhance its
platform. As technology evolves, the website stands ready to embrace new advancements, ensuring it
remains at the forefront of the online travel industry. With its unwavering focus on leveraging
technology to deliver value to users, Booking.com is poised to sustain its position as a leader in the
global travel market.
16
Figure 1.2: Snapshot of Booking.com Interface
17
CHAPTER-2
18
2.1 System Requirement Specification:
Software Requirements: -
Operating System: Any Browser
Front-End: HTML5, CSS3, BOOTSTRAP 5
Back-End: PHP LARAVEL
IDE: Visual Studio Code
Version Control: Git and GitHub
Hardware Requirements: -
Economic Feasibility:
Conduct a cost-benefit analysis to determine the economic viability of
developing and implementing the Tourism Management System. Estimate the
initial development costs, ongoing maintenance expenses, and potential return
on investment (ROI) in terms of increased revenue, cost savings, and
improved operational efficiency.
Operational Feasibility:
Analyze how well the Tourism Management System aligns with the
operational processes and objectives of tourism businesses and destinations.
Assess factors such as user-friendliness, integration capabilities with existing
systems, scalability, and impact on workflow efficiency.
Market Feasibility:
Evaluate the market demand for the Tourism Management System among
tourism businesses, destination management organizations, and travelers.
Conduct market research to understand the needs, preferences, and pain
points of potential users.
19
Identify competitors offering similar solutions and assess their market
positioning, strengths, and weaknesses. Determine if there is a niche or gap in
the market that the Tourism Management System can effectively address,
such as personalized travel experiences, mobile accessibility, or integrated
booking and itinerary management.
Agile projects are divided into small increments or iterations, typically lasting one to
four weeks. Each iteration results in a potentially shippable product increment, allowing
for frequent releases and feedback from stakeholders.
20
Agile teams are cross-functional and self-organizing, consisting of developers, testers,
designers, and other necessary roles. Collaboration among team members and with
stakeholders is encouraged throughout the development process.
Agile projects embrace change by allowing for flexible planning and adaptation to
evolving requirements. Rather than attempting to predict all requirements upfront, Agile
teams prioritize the highest-value features and adjust their plans as new information
emerges.
22
CHAPTER-3
Analysis
23
3.1 E-R Diagram:
24
3.2 Use Case Diagram:
It is the graphical depiction of the admin and Tourist possible interaction with the system.
26
CHAPTER-4
Design
27
4.1 Data Dictionary:
1. User Database:
This table is designed to store user data such as their name, email, and password hash. The
_id field serves as the unique identifier for each user in the collection.
And also it is change According to user like airline, hotel owner and tour owner.
2. Tour Database:
This table is designed to store tour data such as their Tour id, Organizaton, Tour Name,
Destination_From, Destination_To, Prize, Days, Nights, Meals, Hotel, Transfer, and Date. The Tour
id field serves as the unique identifier for each tour in the Database.
29
CHAPTER-5
Implementation
30
5.1 Implementation Environment:
As I have used an agile development which include sprint and development of project
and I am using the PHP Laravel Technology so based on this I have define some
points of implementation environment.
Front-end:
Technologies:
HTML, CSS, and JavaScript for building the user interface and user
interactions.
Bootstrap as the CSS Framework for creating responsive design for all the
devices
Back-end:
Technologies:
PHP is used as the server-side scripting language. Laravel serves as the PHP
framework for building web applications and APIs.
Database:
MySQL will be used as the primary database for storing and managing Tour,
Hotel and airline data.
Additional Considerations:
Security measures will be implemented to ensure user authentication,
authorization, and data protection.
The chosen technologies and platforms are scalable to accommodate a
growing user base and data volume.
Laravel's authorization features are based on policies and gates. You can create policies to define
the authorization logic for each model. For example, you can create a `TourPolicy` to define who
can view, create, update, or delete tours.
**CSRF Protection**: Laravel provides built-in CSRF protection to secure your forms. You can
use `@csrf` directive in your forms to include a CSRF token.
31
Authentication Middleware: Laravel middleware allows you to filter HTTP requests entering your
application. You can use middleware to authenticate users before they access certain routes.
Laravel's `auth` middleware ensures that only authenticated users can access specific routes or
controllers.
JWT (JSON Web Tokens): If you want to implement token-based authentication, you can use
packages like Laravel Passport or Laravel Sanctum to issue JWT tokens for API authentication.
Validation: Laravel provides powerful validation rules to validate user input. You can use validation
rules to ensure that user input meets certain criteria before processing it.
Front-end :
Component Structure:
Organize the project's PHP files and directories in a clear hierarchy,
emphasizing parent-child relationships where applicable. For instance, group
related controllers, models, and views within appropriate directories.
File Structure:
Organize the project's PHP files into clearly defined directories,
reflecting MVC (Model-View-Controller) architecture. For instance, place
models, controllers, and routes in their respective directories within the
Laravel project structure.
Error Handling:
Implement consistent error handling mechanisms throughout the
application to gracefully manage potential errors during API requests. Utilize
Laravel's exception handling features, such as the Handler class, to catch and
process exceptions.
5.4 Results:
The project takes shape during the implementation phase. This phase involves the
construction of the actual project result. Programmers are occupied with encoding,
designers are involved in developing graphic material, contractors are building, the
actual reorganization takes place. It is during this phase that the project becomes
visible to outsiders, to whom it may appear that the project has just begun. The
implementation phase is the doing phase, and it is important to maintain the
momentum.
At the end of the implementation phase, the result is evaluated according to the list of
requirements that was created in the definition phase. It is also evaluated according to
the designs. For example, tests may be conducted to determine whether the web
application does indeed support Explorer 5 and Firefox 1.0 and higher. It may be
determined whether the trim on the building has been made according to the
agreement, or whether the materials that were used were indeed those that had been
specified in the definition phase.
This phase is complete when all of the requirements have been met and when the
result corresponds to the design.
34
5.5 Website Screenshots
35
Figure 5.5.2 User Register Page
36
Figure 5.5.3 Home Page for Tourist
37
Figure 5.5.5 Admin panel for Tour Owner
38
Figure 5.5.7 All Tour List Page
39
CHAPTER-6
Testing
40
6.1 Testing Plan:
A test plan is a document that sets out the scope, approach, and schedule of intended
testing activities. The test plan may also list the resources the software tester needs to
function effectively.
The test plan usually includes the following information:
The overall objective of the testing effort.
A detailed outline of how testing will be conducted (the test approach).
The features, applications, or components to be tested.
Detailed scheduling and resource allocation plans for testers and developers
throughout all stages of testing.
41
How to write a Test Plan?
You already know that making a Test Plan is the most important task of Test Management
Process
Following are the 14 essential things to include in your software test plan as part of the QA
process.
Resource Planning-
In your software testing document, include a resource plan that lists the number of
people required for the testing process. This should detail what each person's role is
and any training they'll require to fulfil it effectively.
Test Deliverables-
Your testing document should include a list of all the deliverables required for testing.
These should be linked to the steps in your schedule so everyone knows exactly when
they need to be ready for action.
Test Automation -
If your software is particularly complex and requires a vast number of test cases, you
may want to consider software test automation.
Automating the process means testers can accomplish more in less time, which boosts
productivity and significantly reduces the overall cost of testing. You might even be
able to utilize a mobile bot to speed up testing activities.
44
Figure 6.4: Testing Strategy
Before testing starts, it’s necessary to identify and specify the requirements of the product
in a quantifiable manner.
Different characteristics quality of the software is there such as maintainability
that means the ability to update and modify, the probability that means to find and
estimate any risk, and usability that means how it can easily be used by the customers
or end-users. All these characteristic qualities should be specified in a particular order
to obtain clear test results without any error.
45
Robust software is developed that is designed to test itself.
The software should be capable of detecting or identifying different classes of
errors. Moreover, software design should allow automated and regression testing
which tests the software to find out if there is any adverse or side effect on the
features of software due to any change in code or program.
Conduct formal technical reviews to evaluate the nature, quality or ability of the
test strategy and test cases.
The formal technical review helps in detecting any unfilled gap in the testing
approach. Hence, it is necessary to evaluate the ability and quality of the test strategy
and test cases by technical reviewers to improve the quality of software.
For the testing process, developing a approach for the continuous development.
As a part of a statistical process control approach, a test strategy that is already
measured should be used for software testing to measure and control the quality
during the development of software.
6.3 Testing Methods:
Software Testing Methodologies are the various strategies or approaches used to test
an application to ensure it behaves and looks as expected. These encompass
everything from front to back-end testing, including unit and system testing.
Functional vs. Non-functional Testing:
The goal of utilizing numerous testing methodologies in your development
process is to make sure your software can successfully operate in multiple
environments and across different platforms.
These can typically be broken down between functional and non-functional
testing.
Functional testing involves testing the application against the business
requirements.
It incorporates all test types designed to guarantee each part of a piece of
software behaves as expected by using uses cases provided by the design team
or business analyst.
These testing methods are usually conducted in order and include:
Unit testing
Integration testing
System testing
Acceptance testing
Unit Testing-
Unit testing is the first level of testing and is often performed by the
developers themselves. It is the process of ensuring individual components of
a piece of software at the code level are functional and work as they were
designed to. Developers in a test-driven environment will typically write and
run the tests prior to the software or feature being passed over to the test team.
Unit testing can be conducted manually, but automating the process will speed
up delivery cycles and expand test coverage. Unit testing will also make
debugging easier because finding issues earlier means they take less time to
fix than if they were discovered later in the testing process. Test Left is a tool
that allows advanced testers and developers to shift left with the fastest test
automation tool embedded in any IDE.
Integration Testing-
After each unit is thoroughly tested, it is integrated with other units to
create modules or components that are designed to perform specific tasks or
activities. These are then tested as group through integration testing to ensure
whole segments of an application behave as expected (i.e, the interactions
between units are seamless). These tests are often framed by user scenarios,
such as logging into an application or opening files. Integrated tests can be
conducted by either developers or independent testers and are usually
comprised of a combination of automated functional and manual tests.
System Testing-
System testing is a black box testing method used to evaluate the
completed and integrated system, as a whole, to ensure it meets specified
requirements. The functionality of the software is tested from end-to-end and
is typically conducted by a separate testing team than the development team
before the product is pushed into production.
Acceptance Testing-
Acceptance testing is the last phase of functional testing and is used to
assess whether or not the final piece of software is ready for delivery. It
involves ensuring that the product is in compliance with all of the original
business criteria and that it meets the end user’s needs. This requires the
product be tested both internally and externally, meaning you’ll need to get it
into the hands of your end users for beta tesing along with those of your QA
team. Beta testing is key to getting real feedback from potential customers and
can address any final usability concerns.
Performance Testing-
Performance testing is a non-functional testing technique used to
determine how an application will behave under various conditions. The goal
is to test its responsiveness and stability in real user situations. Performance
testing can be broken down into four types:
47
Load testing is the process of putting increasing amounts of
simulated demand on your software, application, or website to
verify whether or not it can handle what it’s designed to handle.
Stress testing takes this a step further and is used to gauge how
your software will respond at or beyond its peak load. The goal of
stress testing is to overload the application on purpose until it
breaks by applying both realistic and unrealistic load scenarios.
With stress testing, you’ll be able to find the failure point of your
piece of software.
Endurance testing, also known as soak testing, is used to analyze
the behavior of an application under a specific amount of simulated
load over longer amounts of time. The goal is to understand how
your system will behave under sustained use, making it a longer
process than load or stress testing (which are designed to end after a
few hours). A critical piece of endurance testing is that it helps
uncover memory leaks.
Spike testing is a type of load test used to determine how your
software will respond to substantially larger bursts of concurrent
user or system activity over varying amounts of time. Ideally, this
will help you understand what will happen when the load is
suddenly and drastically increased.
Security Testing-
With the rise of cloud-based testing platforms and cyber-attacks, there
is a growing concern and need for the security of data being used and stored in
software. Security testing is a non-functional software testing technique used
to determine if the information and data in a system is protected. The goal is to
purposefully find loopholes and security risks in the system that could result in
unauthorized access to or the loss of information by probing the application
for weaknesses. There are multiple types of this testing method, each of which
aimed at verifying six basic principles of security:
Integrity
Confidentiality
Authentication
Authorization
Availability
Non-repudiation
Usability Testing-
Usability testing is a testing method that measures an application’s
ease- of-use from the end-user perspective and is often performed during the
system or acceptance testing stages. The goal is to determine whether or not
the visible design and aesthetics of an application meet the intended workflow
for various processes, such as logging into an application. Usability testing is a
great way for teams to review separate functions, or the system as a whole, is
intuitive to use.
Compatibility Testing-
Compatibility testing is used to gauge how an application or piece of
software will work in different environments. It is used to check that your
product is compatible with multiple operating systems, platforms, browsers, or
48
resolution configurations. The goal is to ensure that your software’s
functionality is consistently supported across any environment you expect
your end users to be using.
T202 Check User Login i. Open Website User should not login As Pass
with invalid Data ii. Enter valid user mail and password. and redirected to expected,
iii. Click on login. dashboard.
52
CHAPTER-7
7.1 Conclusion
Key Achievements:
Enhanced Workflow Efficiency: The implementation of automated booking,
scheduling, and management processes has significantly increased the
53
efficiency of tour management operations. Tasks that were previously manual
and time-consuming are now streamlined, saving time and resources for tour
organizers.
Improved Tour Management: The centralized platform provides tour
organizers with tools for efficient tour creation, itinerary management, and
communication with customers. This has led to better organization and
coordination of tours, resulting in improved customer satisfaction.
Streamlined Booking Process: The booking process has been simplified,
allowing customers to easily browse available tours, select their preferences,
and make bookings. This has resulted in a smoother booking experience for
customers and increased conversion rates.
Enhanced Security: The system incorporates robust security measures such as
encrypted data transmission, secure user authentication, and access control
mechanisms. These measures ensure the security and integrity of sensitive
customer information and payment details.
Scalability and Maintainability: The chosen technologies and architectural
approach support scalability and maintainability. The modular design and use
of frameworks such as Laravel facilitate easy maintenance and future
enhancements to the system as the business grows.
7.2 Future Work
Integration with Travel Platforms: Integrate with popular travel platforms to expand the range of
available services and attract a wider customer base. This integration would enable users to access a
variety of travel options such as hotel booking, flight booking, bus booking, and vehicle rental from
a single platform.
Social Media Integration: Explore the integration of social media platforms such as Facebook and
Instagram to enhance customer engagement and marketing efforts. This integration could include
features for sharing travel experiences, user-generated content, and promotions.
Dynamic Pricing: Utilize AI to dynamically adjust prices based on demand, availability, and other
factors. This would enable the system to optimize pricing strategies and maximize revenue.
Mobile Applications: Develop mobile applications for both customers and travel agents to facilitate
on-the-go booking and management of travel plans. This would enhance accessibility and
convenience for users.
Onboarding Management: Extend the platform to include features for managing the onboarding
process of travel partners such as hotels, airlines, and rental agencies. This could include document
collection, contract management, and communication tools.
Reporting and Analytics: Implement reporting and analytics tools to provide insights into booking
trends, customer demographics, and revenue performance. This data can be used to make data-driven
decisions, optimize marketing strategies, and improve customer satisfaction.
54
References
https://studentprojectguide.com/project-report/software-testing/test-cases-for- employee-
payroll/
www.geeksfoígeeks.oíg
55
https://lucid.app/documents#/documents?folder_id=recent
https://docs.google.com/spreadsheets/
www.javatpoint.com
https://www.w3schools.com/mysql
https://www.scaler.com/topics/cpp/cpp-coding-standards/
https://www.creative-tim.com/product/argon-dashboard-react
https://www.youtube.com/watch?v=VKXnSwNm_lE
https://cloudinary.com/
https://dbdiagram.io/
https://laravel.com/docs/5.1/quickstart
https://laravel.com/
56