Desktop Applications

Cinema Management System

Cinema Management System seat selection

Project Name

Cinema Management System

Type

Desktop application

Industry

Entertainment & Cinemas

Built with

Java, JavaFX, Firebase

Architecture

MVC

Cinema Management System is a desktop application that covers the daily work of a cinema, from the programme to the ticket. Customers browse the movies showing on a chosen date, pick a screening and choose their seats on an interactive seat map, while the staff manages movies, screenings, tickets and user accounts from the same application.

I built it as a personal project in Java with JavaFX, following the MVC pattern: 14 screens designed in FXML with a shared dark theme, controllers for the logic of each screen, and a service layer that stores everything in a Firebase Realtime Database. If there is no connection, the app falls back to local data and keeps working offline.

Cinema Management System movies and showtimesCinema Management System booking confirmation

What I did

Design and full development of the application: the JavaFX screens and stylesheet, the data models, the booking and pricing logic, user roles and authentication, and the Firebase Realtime Database integration with offline fallback.

Cinema Management System add movie and screenings form

Key features

  • Four user roles: admins, cashiers, registered users and guests, each with their own screens. Users can sign up, log in or continue as a guest by giving their contact details.
  • Movies & showtimes: posters, genre, duration and rating, with showtimes filtered by the selected date.
  • Seat selection: an interactive seat map per screening that shows available, selected and reserved seats, booking of several seats at once and an automatic total price.
  • Tickets: booking confirmation with movie, date, hall, seats and total, and a “My Tickets” view for registered users.
  • Cashier mode: sell tickets on behalf of customers, change or delete existing tickets, add new movies with their screenings (date, time, hall and price) and remove movies.
  • Administration: a dashboard to manage users, create accounts with a specific role, and manage the films.

Under the hood

The application follows the Model–View–Controller pattern. The models (movie, screening, seat, ticket, user) are plain Java classes, every screen has its own FXML view and controller, and a central service handles the business logic and talks to Firebase. Prices are calculated per seat, and the data model already supports different seat types with their own price multiplier. Input such as emails and phone numbers is validated before it is saved, and the whole project is built and run with Maven.

More projects

Velora
Velora

A concept online store for a modern fashion boutique, with a shop, product pages, cart and checkout.

Aelia
Aelia

A one-page website for a nail studio in Athens, with services, prices, team and online contact.

Munchly
Munchly

An online ordering website for a fast-food restaurant, with a full menu, product pages, cart and checkout.

Staff Manager
Staff Manager

A web app that automatically builds the weekly staff schedule of a shop or café, respecting every shift rule.