The Challenge
Building robust desktop software requires structured state management, clean component separation, and comprehensive validation. The objective of this project was to architect a production-grade multi-user ticketing platform in Java demonstrating textbook Object-Oriented principles.
Object-Oriented Design & RBAC
The software models the business domain using strict encapsulation and inheritance hierarchies:
- Encapsulation: Sensitive customer payment tokens and administrator credentials remain private, accessed exclusively through guarded getters and validated mutation methods.
- Polymorphism: Differing event categories (e.g. VIP Concerts, General Admission Sports, Conferences) extend a base
Eventclass, overriding pricing multipliers and seating capacity validation dynamically. - Role Separation: Distinct interface flows ensure Administrators can create events, adjust venue seating layouts, and inspect revenue ledgers, while standard Customers interact solely with discovery, seat reservation, and digital receipt generation.