BACK TO PROJECTS
CASE FILE #002STATUS: COMPLETED

RentalDVD

Role: Desktop Application DeveloperYear: 2025

RentalDVD is a desktop application I engineered using Java, Java Swing, and MySQL. It automates movie inventory tracking, member registration, multi-item loan checkouts, return date calculations, late fee penalties, and compiles formal PDF reports using JasperReports.

JavaJava SwingMySQLJasperReportsJDBCAnt

The Problem Context

Traditional VCD/DVD rental shops relied on manual paper logs for movie catalog tracking and member loans, leading to lost inventory, uncollected late fees, and slow report generation.

The Engineering Solution

I developed a native Java desktop application with automated ID generation, JCalendar date pickers, overdue loan verification, multi-item loan checkout tables, automatic late fee calculation, and JasperReports PDF generation.

SYSTEM ARCHITECTURE TOPOLOGYInteractive Topology
STEP 01
Desktop GUI
Java Swing (Nimbus L&F) & JCalendar
FRONTEND LAYER
STEP 02
Business & DAO Logic
Native Java Controllers & ConfigDB Helper
LOGIC LAYER
STEP 03
Relational DB
MySQL Data Store via JDBC
DATABASE LAYER
STEP 04
Report Engine
JasperReports & iText PDF Framework
EXPORT LAYER
SELECTED NODE:Desktop GUI
Click any node to inspect

Implementation Highlights

01.

Designed normalized MySQL database schema for members, films, and loan transactions.

02.

Developed ConfigDB.java helper handling JDBC connections and dynamic JTable data binding.

03.

Engineered multi-item rental transaction checkout with automated overdue loan checks and late fee calculations.

04.

Integrated JasperReports framework with iText for compiling PDF reports from JRXML templates.

05.

Implemented auto-numbering ID generators for Members, Films, and Loan records.

Measurable Results

  • Automated film loan checkouts, return date tracking, and overdue fine calculations.
  • Eliminated manual catalog search delays through instant JTable filtering.
  • Enabled one-click PDF report compilation for member databases and loan histories.

Key Lessons Learned

  • Decoupling database access logic into a central helper class greatly simplifies Swing GUI development.
  • Pre-formatted report compilation engines like JasperReports deliver cleaner PDF exports than custom canvas drawing.