Skip to content

About

TicketSpring – Online Cinema Ticket Booking System Web application built with Spring Boot. Includes user registration/login, admin dashboard and REST API with Swagger docs.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

20 Commits

Folders and files

Repository files navigation

🎬 TicketSpring – Online Cinema Ticket Booking System

TicketSpring is a Spring Boot web application for online booking of cinema tickets.
It allows users to browse movies, select sessions, choose seats, and confirm bookings – all online.
Administrators can manage movies, sessions, and users through a dedicated dashboard.

🚀 Features

👥 User Side

  • User registration & login (with role-based security).
  • Browse available movies & sessions.
  • Interactive seat selection with real-time availability.
  • Booking confirmation with persistence in the database.

🛠️ Admin Side

  • Admin dashboard to manage movies, sessions, and users.
  • Create, update, and delete entities (CRUD).
  • User management (roles & permissions).

🔧 Technical Highlights

  • Spring Boot application entry point (CinemaReservationsApplication).
  • MVC pattern: Controllers, Services, Repositories.
  • Security: Configured with Spring Security.
  • Database: Configurable (H2/MySQL/Postgres).
  • Templating: Thymeleaf templates.
  • API documentation with Swagger/OpenAPI.

⚙️ Getting Started

✅ Prerequisites

  • Java 17+
  • Maven 3.8+
  • A database (H2/MySQL/PostgreSQL).

🖥️ Running locally

# Clone the repository
git clone https://github.com/pgerasymchuk/TicketSpring.git
cd TicketSpring

# Build with Maven
mvn clean install

# Run the app
mvn spring-boot:run

By default, the app runs at:
👉 http://localhost:8080

🔑 Default Endpoints

  • http://localhost:8080/ → Homepage
  • http://localhost:8080/admin → Admin dashboard

📚 API Documentation

The REST API is documented with Swagger/OpenAPI.
You can find definitions in resources/api-docs/.

🗄️ Database Configuration

Edit src/main/resources/application.properties to match your DB:

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.hibernate.ddl-auto=update

For MySQL/Postgres, replace spring.datasource.url and credentials accordingly.

🔮 Possible Improvements

  • Add payment gateway integration.
  • Seat availability locking mechanism for concurrent booking.
  • Email notifications for successful bookings.
  • Containerization with Docker.
  • Frontend SPA (React/Angular) consuming the REST API.

⭐ If you like this project, don’t forget to star the repo!

About

TicketSpring – Online Cinema Ticket Booking System Web application built with Spring Boot. Includes user registration/login, admin dashboard and REST API with Swagger docs.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages