Movie Ticket Booking project using Spring boot, RestAPI, JPA, MySQL and Postman

Online Movie ticket booking Project backend using Spring boot, Rest Controller, JPA, MYSQL database, and Postman. Let’s understand the project overview and detail about the tools and technologies.

Tools and Technologies used in this spring boot and RestAPI project

  • It uses Spring boot and Rest Controller to create RestAPIS.
  • JPA to create database transactions.
  • MYSQL as a database to store information.
  • Postman to make API calls.
  • Tomcat as deployment server.

Movie ticket booking API Modules

Following are the modules, features, and functionality of the online movie ticket booking project.

Theater

Admin can Add, Edit, Update, Delete, and delete the theater records. that contains the theater entities: Theater name, Theater, City, Theater type, Address, and Image URL.

Movie

There are 4 rest APIs that will Add, Edit, Update, Delete, and the Movie records. that contains the theater entities: movie name, code, Screen number, Movie language, Director name, Casting, price, and Image URL.

Movie booking Order Details

Create order and View order details APIs will be used for Movie ticket booking. Below is a sample of getting a detailed API.

[
    {
        "orderId": 0,
        "amount": 500.0,
        "paidAmount": 500.0,
        "payStatus": true,
        "userOrderBillingEntity": {
            "id": 1,
            "firstName": "fgfd fgfg",
            "lastName": "fgfdg",
            "phone": "8569895896",
            "email": "asd@gmail.com",
            "address": "fgfsg fgdgdg dfgsd"
        },
        "theaterEntity": {
            "id": 1,
            "theaterName": "inox",
            "type": "Multiplex",
            "address": "fdgfg fgfgdf fgdfg",
            "image": "test image",
            "city": "indore"
        },
        "movieEntity": {
            "id": 1,
            "movieName": "Puspa",
            "code": "MovieCode",
            "screenNumber": "1",
            "language": "hggindi",
            "directorName": "fgfdg fdgfdg",
            "startCast": "dfsd dfdsfs, ggsds, fsdfsd, dgdsgs",
            "price": "400",
            "imageURL": "test/image"
        },
        "createdDate": null
    },
    {
        "orderId": 0,
        "amount": 500.0,
        "paidAmount": 500.0,
        "payStatus": true,
        "userOrderBillingEntity": {
            "id": 2,
            "firstName": "fgfd fgfg",
            "lastName": "fgfdg",
            "phone": "8569895896",
            "email": "asd@gmail.com",
            "address": "fgfsg fgdgdg dfgsd"
        },
        "theaterEntity": {
            "id": 2,
            "theaterName": "inoxxxxxxx",
            "type": "Multiplex",
            "address": "fdgfg fgfgdf fgdfg",
            "image": "test image",
            "city": "indore"
        },
        "movieEntity": {
            "id": 2,
            "movieName": "kgf",
            "code": "MovieCode",
            "screenNumber": "1",
            "language": "hindi",
            "directorName": "fgfdg fdgfdg",
            "startCast": "dfsd dfdsfs, ggsds, fsdfsd, dgdsgs",
            "price": "400",
            "imageURL": "test/image"
        },
        "createdDate": "2022-08-27T06:29:51.453+00:00"
    },
    {
        "orderId": 0,
        "amount": 500.0,
        "paidAmount": 500.0,
        "payStatus": true,
        "userOrderBillingEntity": {
            "id": 3,
            "firstName": "Bhupendra patel",
            "lastName": "patel",
            "phone": "8569895896",
            "email": "asd@gmail.com",
            "address": "fgfsg fgdgdg dfgsd"
        },
        "theaterEntity": {
            "id": 1,
            "theaterName": "inox",
            "type": "Multiplex",
            "address": "fdgfg fgfgdf fgdfg",
            "image": "test image",
            "city": "indore"
        },
        "movieEntity": {
            "id": 1,
            "movieName": "Puspa",
            "code": "MovieCode",
            "screenNumber": "1",
            "language": "hggindi",
            "directorName": "fgfdg fdgfdg",
            "startCast": "dfsd dfdsfs, ggsds, fsdfsd, dgdsgs",
            "price": "400",
            "imageURL": "test/image"
        },
        "createdDate": "2022-08-27T14:39:25.195+00:00"
    }
]

RestAPI in Movie Ticket booking

Following are the APIs that will be used to communicate with the MYSQL database. Below are the sample URL of the APIs.

for Theater operations:

  • http://localhost:8080/saveTheater
  • http://localhost:8080/theaterList
  • http://localhost:8080/theaterUpdate
  • http://localhost:8080/theaterDelete?id=5

for Movie Operations

  • http://localhost:8080/saveMovie
  • http://localhost:8080/getMovie
  • http://localhost:8080/updateMovie
  • http://localhost:8080/deleteMovie?id=5

Ticket booking or Order Details

  • http://localhost:8080/create-order
  • http://localhost:8080/userorders

Contact to get the Source Code

Skype Id: jcodebun
Email: jcodebun@gmail.com
WhatsApp: +91 8827363777