Skip to content

Latest commit

ย 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฌ ShowBuzz โ€“ Online Movie Ticket Booking System

Book Movies โ€ข Choose Seats โ€ข Instant Ticketing

ShowBuzz Banner

๐ŸŽŸ๏ธ A fast, user-friendly web platform for seamless movie ticket booking


๐Ÿ“Œ Table of Contents


๐Ÿ“– About the Project

ShowBuzz is a web-based movie ticket booking system that allows users to browse movies, select theaters and showtimes, choose seats interactively, and book tickets online.

The platform includes a role-based admin panel to manage movies, theaters, schedules, and bookings efficiently.

This project was developed as an academic full-stack web application inspired by real-world platforms like BookMyShow, focusing on frontend development, backend APIs, and database management.


๐ŸŽฏ Objectives

  • Build a realistic online movie ticket booking platform
  • Implement user and admin role-based access
  • Design an interactive seat selection system
  • Practice frontendโ€“backend integration
  • Understand database-driven web applications

โœจ Key Features

๐Ÿ‘ค User Features

  • Secure login and logout
  • Browse movies with details
  • View theaters and showtimes
  • Interactive seat selection
  • Ticket booking and confirmation
  • View booking history

๐Ÿ› ๏ธ Admin Features

  • Add / Edit / Delete movies
  • Manage theaters and showtimes
  • View and manage all bookings
  • Basic user management

๐Ÿงฉ System Architecture

High-level architecture: Users โ†’ Frontend โ†’ PHP Backend API โ†’ MySQL Database

Flow Overview

  • User โ†’ Frontend (HTML/CSS/JS)
  • Frontend โ†’ PHP Backend API
  • Backend โ†’ MySQL Database

๐Ÿงญ User Booking Flow

  1. User logs into the system
  2. Browses available movies
  3. Selects a movie and preferred showtime
  4. Chooses theater and seat(s)
  5. Confirms ticket quantity
  6. Booking details are stored in the database
  7. User receives booking confirmation

This flow mimics real-world movie ticket booking platforms


๐Ÿงญ User Booking Flow Diagram

Visual walkthrough of the end-to-end ticket booking process

This flowchart illustrates the complete user journey in ShowBuzz โ€” from opening the application and authentication to seat selection and final booking confirmation.

๐Ÿ” Flow Explanation

  1. User opens the application
  2. System checks authentication status
    • If not authenticated โ†’ redirect to login
  3. Authenticated user browses available movies
  4. User selects a movie, theater, and showtime
  5. Seats are chosen from the interactive layout
  6. Booking is confirmed
  7. System displays booking confirmation and ends the flow

๐ŸŽฅ Demo & Screenshots

A complete walkthrough of the ShowBuzz user and admin experience


๐Ÿ” Login & Authentication

Secure access for users and administrators

Users and admins log in through a clean, role-based authentication interface


๐Ÿ  Home Page โ€“ Movie Discovery

Browse trending and recommended movies at a glance

Displays popular movies with posters, ratings, and booking options


๐ŸŽฌ Movie Details Page

Explore movie information before booking

Detailed view including movie description, ratings, language, duration, and trailer


๐Ÿข Theater & Showtime Selection

Choose your preferred theater and showtime

Lists available theaters with multiple show timings for the selected movie


๐ŸŽŸ๏ธ Ticket Quantity Selection

Select how many seats you want to book

Simple interface to choose ticket count and seating category


๐Ÿ’บ Seat Selection Interface

Interactive real-time seat booking

Visual seat layout showing available, selected, and booked seats


โœ… Booking Confirmation

Review and confirm your ticket details

Final booking summary with movie, theater, seats, timing, and total cost


๐Ÿ› ๏ธ Admin Dashboard โ€“ Movie Management

Add, edit, and manage movies

Admin interface to manage movie listings and metadata


๐Ÿข Admin Dashboard โ€“ Theater Management

Control theater listings

Admins can add, edit, or remove theaters from the system


๐Ÿ“Š Admin Dashboard โ€“ Booking Overview

Monitor all user bookings

Complete booking history with user, movie, theater, seats, and payment details


(โฌ† Back to top)


๐Ÿ› ๏ธ Tech Stack

Frontend

  • HTML5
  • CSS3
  • Bootstrap 5.3.3
  • JavaScript (ES6)
  • LocalStorage

Backend

  • PHP 7.4+
  • MySQL
  • REST-style API architecture

Tools

  • XAMPP / WAMP
  • VS Code

๐Ÿ“‚ Project Structure

Movie_tickets_booking/
โ”œโ”€โ”€ backend/
โ”‚   โ””โ”€โ”€ api.php                  # Backend API & DB operations
โ”œโ”€โ”€ admin.html                   # Admin dashboard
โ”œโ”€โ”€ login.html                   # User authentication
โ”œโ”€โ”€ home.html                    # Movie listing
โ”œโ”€โ”€ movie_details.html           # Movie details & showtimes
โ”œโ”€โ”€ theater_selection.html       # Theater & showtime selection
โ”œโ”€โ”€ seat_selection.html          # Seat booking UI
โ”œโ”€โ”€ ticket_selection.html        # Ticket quantity selection
โ”œโ”€โ”€ confirmation.html            # Booking confirmation
โ”œโ”€โ”€ script.js                    # Main JavaScript logic
โ”œโ”€โ”€ styles.css                   # Custom styles
โ”œโ”€โ”€ assets/
โ”‚   โ”œโ”€โ”€ banner/
โ”‚   โ”œโ”€โ”€ architecture/
โ”‚   โ””โ”€โ”€ screenshots/
โ””โ”€โ”€ README.md                    # Original README (kept unchanged)

๐Ÿ—„๏ธ Database Design Overview

The system uses a relational MySQL database with the following core tables:

  • users โ€“ stores user credentials and roles
  • movies โ€“ movie details such as title, genre, duration
  • theaters โ€“ available theaters and locations
  • showtimes โ€“ movie schedules
  • seats โ€“ seat availability tracking
  • bookings โ€“ user booking records

The schema is designed to maintain data integrity and support efficient booking operations.


โš™๏ธ Setup & Installation

Prerequisites

  • XAMPP / WAMP / MAMP
  • PHP 7.4+
  • MySQL
  • Modern web browser

Installation Steps

  1. Clone the repository

    git clone <repository-url>
    cd Movie_tickets_booking
  2. Create the database

    • Open phpMyAdmin (http://localhost/phpmyadmin)
    • Create a database named bookmyshow
    • Import the provided SQL file (if included with the project)
  3. Configure backend database connection

    • Open backend/api.php and update the DB credentials:
    $conn = new mysqli("localhost", "username", "password", "bookmyshow");
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
  4. Run the project locally

    • Place the project folder inside htdocs (XAMPP) or www (WAMP)
    • Start Apache and MySQL from your stack manager
    • Open in browser:
    http://localhost/Movie_tickets_booking/login.html

๐Ÿš€ Usage Guide

  • Login as user or admin
  • Browse available movies
  • Select theater, showtime, and seats
  • Confirm booking
  • View booking confirmation

๐Ÿ”‘ Default Admin Credentials

Username: admin
Password: admin

๐Ÿงช Sample Test Scenario

Scenario: Booking 2 tickets for an evening show

  • Movie: Inception
  • Theater: PVR Cinemas
  • Showtime: 7:30 PM
  • Seats Selected: B5, B6
  • User: Registered user
  • Result: Booking successfully stored and confirmation displayed

This scenario was used to validate end-to-end functionality.


๐Ÿ”Œ API Endpoints

Method Endpoint Description
POST backend/api.php?action=login User authentication
GET backend/api.php?action=movies Fetch movies
POST backend/api.php?action=book Book tickets
GET backend/api.php?action=bookings View bookings (admin)
POST backend/api.php?action=add_movie Add movie (admin)

Note: Adjust the base path if your server root is different.


๐Ÿ” Security Considerations

  • Role-based access control for admin features
  • Client-side validations for form inputs
  • Backend validation before database operations
  • Admin actions restricted via API checks
  • Database credentials stored only on server-side

Note: Password hashing and advanced security can be added in future iterations.


๐Ÿšง Challenges & Learnings

  • Implementing interactive seat selection
  • Frontendโ€“backend communication using APIs
  • Handling role-based access (admin vs user)
  • Database design for bookings and seats

๐Ÿ”ฎ Future Enhancements

  • Online payment gateway integration
  • Email/SMS ticket confirmation
  • Password hashing and enhanced security
  • Search and filter by genre or language
  • Booking cancellation and refund system
  • Mobile application version

๐Ÿค Contributing

  • Fork the repository
  • Create a feature branch
  • Commit your changes
  • Open a Pull Request

๐Ÿ“œ License

This project is licensed under the MIT License.


๐Ÿ‘ฉโ€๐Ÿ’ป Author

Gudiwada Sruthi
B.Tech โ€“ Computer Science & Engineering
SRM University, AP

(โฌ† Back to top)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages