Backend / Console Application
Vehicle Information System
A modular vehicle management system for a car rental agency implementing OOP principles — interfaces, inheritance, encapsulation — with type-safe enums, professional error handling, and reusable validation.

01 · Overview
A console application for managing cars, motorcycles, and trucks in a rental agency — a demonstration of clean object-oriented design in Java.
02 · Problem
Vehicle records in rental agencies drift between spreadsheets and ad-hoc tools; the domain is a perfect candidate for a well-modeled object-oriented system.
03 · Solution
The system models vehicles with inheritance and interfaces (MotorVehicle, Car, Motorcycle, Truck), uses type-safe enums for fuel and transmission, and validates all input with reusable utilities.
04 · Architecture
Java with a layered object model: base abstractions, concrete vehicle types, and a console interface with reusable validation utilities.
05 · Key Features
- Enter and display cars, motorcycles, and trucks
- Inheritance, interfaces, and encapsulation
- Type-safe enums for fuel, transmission, and vehicle type
- Range checks and professional error handling
07 · Challenges
- Balancing a clean inheritance hierarchy with the different attributes of each vehicle type.
09 · Outcome
A working console system demonstrating Java, object-oriented design, and disciplined input handling.