Skip to content

Repository files navigation

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 Sport class extending the abstract Car class.
  • Designed and implemented the abstract Car class.
  • Developed the composition relationship involving the Car class.
  • 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

About

A Java-based Car Booking System demonstrating core object-oriented programming concepts, including inheritance, polymorphism, abstract classes, interfaces, JavaFX, file handling, and exception handling.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages