Coder Social home page Coder Social logo

egonsaks / cinema-ticket-booking-system Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 1.0 5.73 MB

A full stack web app enabling movie ticket browsing, searching, seat recommendations, booking, user registration for personalization and movie recommendation based on their past viewing history with real-time updates on seat availability based on movie sessions. Built with React, Java, Spring Boot, Maven, MySQL.

HTML 2.28% CSS 4.08% JavaScript 66.61% Java 27.03%
java maven mysql react spring-boot

cinema-ticket-booking-system's Introduction

Cinema Ticket Booking System

cinema

Cinema Ticket Booking System is a web application built with React and Java Spring Boot 3.2, allowing users to browse, search, and book movie tickets seamlessly.

Table of Contents

Features

  • User registration: For personalization and access to exclusive deals.
  • Movie Selection: Browse through a wide selection of available movies.
  • Movie Search: Easily find movies by name using the search feature.
  • Genre Filtering: Filter movies based on genres for a more tailored browsing experience.
  • Movie Sessions: Choose the best time for you to watch a movie.
  • Seat recommendation: Recommended for optimal sound quality and viewing experience.
  • Seat Selection: Choose your desired seats for the selected movie.
  • Booking Management: Efficiently book seats and store booking information in the database.
  • Dynamic Seat Updates: Real-time updates of seat availability based on new bookings and movie sessions.
  • Movie recommendations: Movie recommendations for registered users based on their past viewing history and preferences.

Technologies

  • Spring Boot 3.2
  • Maven

Getting Started

To get started with this project, you will need to have the following installed on your local machine:

  • JDK 21+
  • Maven 3+
  • MySQL 8+

Steps to Setup the Spring Boot Backend app

  1. Clone the application
git clone https://github.com/EgonSaks/cinema-ticket-booking-system.git
cd backend
  1. Installing and Starting MySQL

There are different ways to install MySQL. The following covers the easiest methods for installing and starting MySQL on different platforms.

  1. Create MySQL database

Open a terminal (command prompt in Microsoft Windows) and open a MySQL client as a user who can create new users.

For example, on a Mac, use the following command;

mysql -u root -p
mysql> CREATE DATABASE cinema;
mysql> CREATE USER 'springuser'@'%' IDENTIFIED BY 'ThePassword';
mysql> GRANT ALL PRIVILEGES ON cinema.* TO 'springuser'@'%';
mysql> FLUSH PRIVILEGES;

More info how to do it here

  1. Change MySQL username and password as per your MySQL installation

    • open src/main/resources/application.properties file.

    • change spring.datasource.username and spring.datasource.password properties as per your mysql installation

  2. Run the app

    You can run the spring boot app by typing the following command

    mvn spring-boot:run

    The backend application will be available at http://localhost:8080.

Steps to Setup the React Frontend app

  1. Get API Key and API Read Access Token for accessing movies data

  2. Add API KEY and API Read Access Token to .env

    • open frontend/.env
    • add REACT_APP_API_KEY=YOUR_API_KEY and REACT_APP_ACCESS_TOKEN=YOUR_ACCESS_TOKEN properties as per your data from themovies.org
  3. Run the app

cd frontend
npm install
npm start

The frontend application will be available at http://localhost:3000.

cinema-ticket-booking-system's People

Contributors

egonsaks avatar

Watchers

 avatar

Forkers

fantommir

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.