A Java-based vehicle management and simulation system, designed for a car dealership platform. The application supports creating and managing various types of vehicles (ground, air, and water), and allows customers to take them on virtual test drives.
- Create and manage vehicles of different types using the Abstract Factory Design Pattern
- Simulate test drives for selected vehicles
- Use of multithreading for handling background operations and animations
- Rich GUI interface (Swing-based) for managing vehicle data and visualizing actions
- Support for cloning, decorator pattern, factory and observer pattern etc.
- Persistence of vehicles and user actions during the session
- Java 8+
- OOP Principles (Encapsulation, Inheritance, Polymorphism)
- Design Patterns:
- Abstract Factory
- Decorator
- Observer
- Singleton
- Java Swing (GUI)
- Multithreading
/src
βββ Factories β Vehicle creation logic by environment (e.g., Ground, Air, Water)
βββ Graphics β GUI components such as panels, dialogs, and menus
βββ Vehicles β Base classes and implementations for different vehicle types
βββ Interfaces β Interface definitions for extensibility and flexibility
βββ Main β Application entry point and startup logic