A comprehensive theater ticket management system demonstrating object-oriented programming principles and data structure implementation in Java.
This project implements a complete ticket management system for a theater (Teatro Moro), showcasing professional Java development skills acquired during technical programming studies. The system handles customer information, ticket reservations, seat management, and sales reporting.
Context: Final Programming Evaluation (EFT) - Technical Studies Coursework
- Customer Management: Register and manage customer information with validation
- Ticket Sales: Process ticket purchases with seat selection and pricing
- Seat Management: Track available and occupied seats in real-time
- Sales Reporting: Generate comprehensive sales reports and statistics
- Data Validation: Input validation for customer data and business rules
- Object-oriented design with multiple classes
- Use of Java Collections Framework (ArrayList)
- Data structure manipulation and management
- Input validation and error handling
- Console-based user interface
- Business logic implementation
- Language: Java (JDK 8+)
- Data Structures: ArrayList, Collections
- Paradigm: Object-Oriented Programming (OOP)
- Concepts Demonstrated:
- Encapsulation
- Classes and Objects
- Data Structures
- Input/Output Handling
- Business Logic Implementation
teatro-moro-eft/
βββ EFT_TeatroMoro_Fuad_Onate.java # Main application file
βββ README.md # Project documentation
EFT_TeatroMoro_Fuad_Onate.java (26KB):
- Customer class implementation
- Ticket management logic
- Seat allocation system
- Sales reporting functionality
- Main application menu and flow
- Java Development Kit (JDK) 8 or higher
- Java-compatible IDE (Eclipse, IntelliJ IDEA, NetBeans) or command-line compiler
- Clone the repository:
git clone https://github.com/fuadonates/java-theater-management-system.git
cd java-theater-management-system- Compile the Java file:
javac EFT_TeatroMoro_Fuad_Onate.java- Run the application:
java EFT_TeatroMoro_Fuad_OnateThe application provides an interactive console menu with the following options:
- Register Customer: Add new customer information
- Sell Ticket: Process ticket purchase and seat assignment
- View Available Seats: Display current seat availability
- Generate Sales Report: View sales statistics and revenue
- Exit: Close the application
1. Register a customer with name and contact information
2. Select ticket type (VIP, Regular, etc.)
3. Choose available seat from displayed options
4. Confirm purchase and receive ticket details
5. Generate reports to view sales summary
This project demonstrates proficiency in:
- Java Fundamentals: Variables, data types, control structures
- Object-Oriented Programming: Classes, objects, methods, encapsulation
- Data Structures: ArrayList manipulation, collections management
- Problem Solving: Breaking down complex business requirements into code
- User Interaction: Console-based input/output handling
- Business Logic: Implementing real-world business rules and validations
- Code Organization: Structured, maintainable code practices
- Custom classes for Customer, Ticket, Seat entities
- Encapsulation of data and behavior
- Method implementation for business operations
- ArrayList for dynamic collection handling
- CRUD operations on collections
- Data search and filtering
- Seat availability validation
- Ticket pricing logic
- Customer information requirements
- Sales calculations
// Key Java features used in this project:
- Classes and Objects
- ArrayList<T> collections
- Input validation (Scanner)
- Conditional logic (if/else, switch)
- Loops (for, while, do-while)
- String manipulation
- Method overloading
- Data encapsulation
- Exception handlingPotential improvements for this project:
- Database integration (MySQL/PostgreSQL) for data persistence
- Graphical User Interface (JavaFX/Swing)
- Seat map visualization
- Payment processing integration
- Ticket printing functionality
- Email notification system
- Advanced reporting with charts
- Multi-theater support
- Institution: DUOC Technical Institute
- Course: Programming (Technical Studies)
- Assessment: Final Programming Evaluation (EFT)
- Focus: Object-Oriented Programming with Java
- Year: 2024
This project is licensed under the MIT License - see the LICENSE file for details.
Fuad OΓ±ate
- GitHub: @fuadonates
- LinkedIn: linkedin.com/in/fuad-os
- DUOC UC Technical Institute for programming instruction
- Java programming community for documentation and resources
- Course instructors for guidance and feedback
This project represents foundational Java programming skills developed during technical studies, demonstrating the ability to design and implement complete applications using object-oriented principles.
Feel free to explore the code and reach out with questions or suggestions!