Skip to content

arise-72/VLS-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Video Library System (VLS)

A distributed Video Library System. The system lets an Admin manage genres, movies, and customers, while a Customer browses movies and rents/returns them. All communication between clients and the server happens over Java RMI, with data persisted in a MySQL/MariaDB database.

Architecture

Module Role
server Hosts the RMI registry, implements VLSService, and talks to the database via DBHelper.
admin-client JavaFX GUI for registering/removing genres, movies, and customers.
customer-client JavaFX GUI for browsing movies, renting, and returning them.
shared Contains VLSService.java, the common RMI interface used by all modules.

Each client communicates with the server only through the VLSService interface — no client touches the database directly.

Tech Stack

  • Java 25 + Java RMI
  • JavaFX 25
  • MySQL / MariaDB (via XAMPP)
  • IntelliJ IDEA

Database Schema

Table Key Columns
genres id, genre, isactive
movies id, genre_id (FK → genres), Title, isactive
clients id, Fullname, isactive
rentals id, client_id (FK), movie_id (FK), Returned

Run setup_database.sql against your MySQL/MariaDB instance to create the schema before starting the server.

Setup

  1. Database: Start MySQL (e.g. via XAMPP), then run setup_database.sql.
  2. Server: Add the MySQL Connector/J jar as a library, then run VLSServer.main(). Confirm the console shows the server listening on port 1099.
  3. Clients: Add the JavaFX SDK as a library, set VM options:
    --module-path "<path-to-javafx-sdk>/lib" --add-modules javafx.controls,javafx.fxml
    
    Update SERVER_IP in AdminClient.java / CustomerClient.java to the server machine's IP (use localhost if running everything on one machine), then run.

Server must be running before either client is launched.

Team

Built by a team of 3: one Server, one Admin Client, one Customer Client

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages