CS111_Car Booking System
Overview:
This project was completed as part of the Programming Language2 (Java 2) course. It implements a Car Booking System that allows users to browse available cars, make reservations, cancel bookings, display reservation details, and manage vehicle information. The project demonstrates the practical application of object-oriented programming principles and advanced Java concepts through a modular system design.
Objectives:
- Apply advanced object-oriented programming concepts in Java.
- Implement inheritance, polymorphism, abstract classes, and interfaces.
- Manage car reservations through a structured application.
- Handle exceptions and file operations effectively.
- Demonstrate modular software design using multiple Java classes.
Technologies Used:
- Java
- JavaFX
- Object-Oriented Programming (OOP)
- Interfaces
- Inheritance
- Abstract Classes
- Polymorphism
- Composition
- ArrayList
- Arrays
- Exception Handling
- File Handling
Features:
- Display available cars
- Make car reservations
- Cancel reservations
- Display reservation details
- Rental price calculation
- Special feature management
- Read and write reservation data
- Basic graphical user interface (JavaFX)
- Exception handling for invalid user input
My Contributions:
- Developed the
Sportclass extending the abstractCarclass. - Designed and implemented the abstract
Carclass. - Developed the composition relationship involving the
Carclass. - Implemented the Array (with composition) name ( f ) of type SpecialFeature class Car
- Implemented exception handling within the main application.
- Prepared the complete technical documentation, including detailed explanations of classes, methods, implementation, and supporting screenshots.
- Organized, reviewed, and finalized the project documentation to ensure consistency, readability, and a professional presentation.
Skills Demonstrated:
- Java Programming
- Object-Oriented Programming (OOP)
- JavaFX
- Inheritance
- Polymorphism
- Abstract Classes
- Interfaces
- Composition
- Exception Handling
- File Handling
- Technical Documentation
- Team Collaboration
Repository Contents:
- Java source code
- Complete project report
- JavaFX implementation
- Technical documentation
- Code screenshots
- Output screenshots