Skip to content

About

A responsive tour and travel management website featuring destination packages, booking functionality, user authentication, dynamic filtering, and interactive UI components built using HTML, CSS, JavaScript, PHP, and MySQL.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✈️ Tour & Travel Management System

A UI-heavy travel booking web application built as an SD1 (Software Development 1) academic project at IIUC. Users can browse 12 international tour destinations, create an account, make bookings, and send enquiries — all through a richly designed interface featuring video backgrounds, animated flip cards, and smooth CSS transitions throughout.

🏆 Recognised as one of the best projects of the semester (2nd Year, SD1).


✨ Features

  • Video hero section — auto-rotating fullscreen video slider cycling through 5 destination clips
  • 12 tour destinations — Canada, Hawaii, Maldives, South Korea, Malaysia, Japan, Singapore, China, Spain, Italy, France, Dubai — each with a dedicated detail page
  • Flip-card packages — hover to reveal included services, price per head, and a "Book Now" link
  • Booking system — cost auto-calculates (destination price × guests); form requires login; inserts into DB with prepared statements
  • User authentication — register/login with bcrypt-hashed passwords and PHP session management
  • Contact form — saves enquiries to DB (login required); validates that submitted email matches the logged-in account
  • 21-image gallery — with hover overlay captions
  • Swiper.js review carousel — 6 animated customer testimonials
  • Dashboard — animated personalised welcome page post-login
  • Booking & contact success pages — full-page background image with glassmorphism confirmation card
  • Responsive design — mobile-friendly via CSS media queries
  • Consistent orange brand theme — built with CSS custom properties (--orange, --white, etc.)

🛠️ Tech Stack

Layer Technology
Frontend HTML5, CSS3, Vanilla JavaScript
Backend PHP 8+
Database MySQL (via XAMPP / phpMyAdmin)
Server Apache (XAMPP local environment)
Slider Swiper.js (CDN)
Icons Font Awesome 5 (CDN)
Fonts Google Fonts — Nunito

📁 Project Structure

TourTravel2/
├── index.php                  # Homepage — video hero, booking form, packages, gallery, reviews, contact, footer
├── login.html                 # Login form
├── login.php                  # Login handler — session auth, bcrypt verify
├── register.html              # Registration form
├── register.php               # Registration handler — bcrypt hash, DB insert
├── logout.php                 # Session destroy → redirect to homepage
├── dashboard.php              # Post-login animated welcome page
├── booking.php                # Booking form handler — DB insert
├── booking_success.php        # Booking confirmation page
├── contact.php                # Contact form handler — DB insert
├── contact_success.php        # Contact confirmation page
│
├── canada.html                # Destination detail pages (×12)
├── china.html
├── dubai.html
├── france.html
├── hawaii.html
├── italy.html
├── japan.html
├── malaysia.html
├── maldives.html
├── singapore.html
├── southkorea.html
├── spain.html
│
├── styles.css                 # Main stylesheet (homepage + forms)
├── styles2.css                # Destination detail pages stylesheet
├── script.js                  # Video slider autoplay logic
│
├── db_connection.example.php  # DB config template (safe to commit)
├── db_connection.php          # Your local credentials (gitignored — do NOT commit)
├── database.sql               # Full MySQL schema — run this first
│
└── images/                    # All media assets (jpg, jpeg, mp4)

⚙️ Local Setup (XAMPP)

Prerequisites

  • XAMPP installed (Apache + MySQL + PHP 8+)
  • Git

Steps

1. Clone the repository

git clone https://github.com/Sam-Aves/Tour-Travel-Management-System.git

2. Move to XAMPP's htdocs

# Windows
C:\xampp\htdocs\TourTravel2\

# Linux / macOS
/opt/lampp/htdocs/TourTravel2/

3. Set up the database

  • Start XAMPP → open phpMyAdmin
  • Create a database named tour_travel_db
  • Go to the Import tab → choose database.sql → click Go

4. Configure your DB connection

cp db_connection.example.php db_connection.php

Default XAMPP credentials are already in the example file (root / empty password) — no changes needed for a fresh XAMPP install.

5. Open in browser

http://localhost/TourTravel2/index.php

🗄️ Database Schema

Three tables, all created by database.sql:

users

Column Type Notes
user_id INT PK Auto-increment
first_name VARCHAR(100)
last_name VARCHAR(100)
email VARCHAR(255) Unique, stored lowercase
password VARCHAR(255) bcrypt hashed by PHP
created_at TIMESTAMP Auto

bookings

Column Type Notes
booking_id INT PK Auto-increment
user_id INT FK → users
place_name VARCHAR(255)
number_of_guests INT
arrival_date DATE
leaving_date DATE
total_cost DECIMAL(10,2)
booked_at TIMESTAMP Auto

contacts

Column Type Notes
contact_id INT PK Auto-increment
user_id INT FK → users
name VARCHAR(100)
email VARCHAR(255)
phone_number VARCHAR(20)
subject VARCHAR(255)
message TEXT
sent_at TIMESTAMP Auto

🔄 User Flow

Homepage → Browse packages → "Learn More" → Destination detail page
        → "Book Now" → (not logged in? → Login → Dashboard) → Booking form
        → Booking success ✓

Homepage → Contact section → (login required) → Submit enquiry → Contact success ✓

⚠️ Important Notes

  • db_connection.php is gitignored — never commit it. Use db_connection.example.php as the template.
  • images/vid-5.mp4 is excluded from the repo (~100 MB — exceeds GitHub's hard limit). Place it manually in the images/ folder after cloning for the video slider to work fully.
  • The contact form validates that the submitted email matches the logged-in user's registered email — this is intentional.
  • All DB queries use prepared statements to prevent SQL injection.

👥 Authors

Built by Mahi, Ruhi & Asliraf — SD1 Academic Project, 2nd Year
International Islamic University Chittagong (IIUC)

GitHub: @Sam-Aves

About

A responsive tour and travel management website featuring destination packages, booking functionality, user authentication, dynamic filtering, and interactive UI components built using HTML, CSS, JavaScript, PHP, and MySQL.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages