dinesh-more / BookMyShow

Movie Ticket Booking System to provide the customers facility to book tickets for a movie and to gather information about the movies and theaters. Customer needs to register to book tickets to the movie. After selecting the show, the user is presented a seating layout so that he can select seats of his choice. after that we insert that user record to database and update his profile and show a ticket to user. (Payment gateway not added due to simplicity)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BookMyShow Clone

Overview

This project is a clone of BookMyShow, a popular online platform for booking movie tickets and events. It provides similar functionalities including user management, movie and venue management, booking management, payment integration, and more.

Features

  • User Management: Users can register, login, and manage their profiles.
  • Movie Management: Admins can add, edit, and delete movies, while users can view movie details.
  • Venue Management: Admins can manage venues where movies are screened.
  • Booking Management: Users can search for movies and venues, select seats, and make bookings.
  • Payment Gateway Integration: Integration with payment gateways for secure transactions.
  • Email Notifications: Confirmation emails for bookings and other notifications.
  • Reviews and Ratings: Users can rate and review movies.
  • Search and Filter: Users can search for movies and venues based on various criteria.
  • Analytics and Reporting: Admins can generate reports on ticket sales, popular movies, etc.
  • Localization and Internationalization: Support for multiple languages and currencies.

Technology Stack

  • Backend:
    • Spring Boot
    • Spring Security
    • Spring Data JPA
    • Spring Cloud
    • MySQL/PostgreSQL
    • Redis/Memcached
    • RabbitMQ/Kafka
  • Frontend:
    • Angular/React/Vue.js
    • HTML/CSS/JavaScript
  • Containerization:
    • Docker/Kubernetes

Getting Started

  1. Clone the repository: git clone <repository-url>
  2. Set up the database:
    • Create a MySQL/PostgreSQL database and configure the connection in application.properties.
    • Run database migrations using Flyway or Liquibase.
  3. Set up Redis/Memcached for caching.
  4. Set up RabbitMQ/Kafka for message brokering.
  5. Build and run the Spring Boot application.
  6. Build and deploy the frontend application.
  7. Access the application in your browser.

Contributing

Contributions are welcome! Please follow the contributing guidelines before submitting pull requests.

License

This project is licensed under the MIT License.

About

Movie Ticket Booking System to provide the customers facility to book tickets for a movie and to gather information about the movies and theaters. Customer needs to register to book tickets to the movie. After selecting the show, the user is presented a seating layout so that he can select seats of his choice. after that we insert that user record to database and update his profile and show a ticket to user. (Payment gateway not added due to simplicity)


Languages

Language:HTML 69.1%Language:Java 23.6%Language:TypeScript 7.0%Language:CSS 0.3%