Skip to content

Raga1045/Movie-Ticket-Booking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 

Repository files navigation

Movie Ticket Booking Website

Project Description

A full-stack movie ticket booking application that allows users to browse movies, view detailed information, and book seats for selected showtimes. The platform features secure user authentication (including Google login), interactive seat selection, real-time seat availability checks, and concurrency handling to prevent double-booking using MongoDB transactions. Users can search and filter movies by title or location, view ratings and reviews, and filter showtimes by date.


Screenshots

Homepage Homepage 2 Sign up page Login Movie Review page Show selection page Seat selection page Payment page

Features Implemented

Frontend

  • User registration and login
    • Signup and login forms
    • Validation and error display
    • Login with Google (OAuth integration)
  • Browse and filter movies
    • Search by movie title
    • Filter by location
  • Movie details page
    • Ratings, reviews, description, etc.
  • Showtimes list
    • Grouped by city and theatre
    • Date filter for showtimes
  • Seat selection page
    • Interactive seat map (available, booked, selected)
    • Real-time seat availability updates to avoid conflicts

Backend

  • User Authentication
    • API for user registration
    • API for user login (JWT token)
    • Google OAuth login API
    • Secure password hashing & storage
    • Middleware for route protection
  • Movies data
    • API to get all available movies
    • API to search movies by title/location
    • API to get movie details & reviews by ID
  • Showtimes
    • API to get showtimes for a selected movie
    • API to filter showtimes by date
  • Seat booking system
    • API to get available seats
    • API to book seats
    • Concurrency handling to prevent double-booking using MongoDB transactions

Technologies/Libraries/Packages Used

Frontend

  • React.js → Core frontend framework for building UI components
  • React Router DOM → Client-side routing between pages
  • Axios → For making HTTP requests to backend APIs
  • CSS → Custom styling
  • Vite → Development server & build tool

Backend

  • Node.js → JavaScript runtime for backend
  • Express.js → Web framework for REST APIs
  • Mongoose → MongoDB object modeling tool

Database

  • MongoDB → NoSQL database to store movies, showtimes, and bookings

Development Tools

  • npm → Package manager for dependencies
  • Git & GitHub → Version control and code hosting
  • Postman → API testing tool

Local Setup

  1. Clone the repository
 git clone https://github.com/Raga1045/Movie-Ticket-Booking.git
 cd Movie-Ticket-Booking
  1. Setup Environment Variables

Create a .env file in the src folder with the following:

env

MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
PORT=5000

Replace your_mongodb_connection_string with your actual MongoDB connection URI and your_jwt_secret with any secure string.

  1. Install Dependencies The project has frontend and backend parts, so install dependencies for both.

Backend

cd ../backend
npm install
cd ../src
node server.js

Frontend

cd ../FE
npm install
npm run dev

Team Members

  • Rishika
  • Raga Hasini
  • Mahathi

Demo Video Link

About

Web development project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors