CliRental is a CLI-based application designed to facilitate operations of car rental companies. It manages and keeps track of customers, cars, and rental transactions all in one place. Targeted specifically at car rental managers, it provides them with a user-friendly and effective tool to execute these tasks efficiently, especially when handling large volumes of data.
Click here to view my code contributions for this project!! :) —
Car
related operations.add-car
: Adds a car to the car database, specifying details like
the car model, license plate number and the rental price.remove-car
: Removes a car from the car database.list-cars
: Lists out all cars in the database.list-rented
: Lists out all currently rented out cars.list-available
: Lists out all currently available cars.Background:
The standard vehicle registration number in Singapore follows the
following format: SXX####X
, where X represents any letter excluding
I and O (to avoid confusion with numbers 1 and 0 respectively), and
#### represents any number from 1 to 9999 without leading zeroes. However, there are
also exceptions where some license plate numbers start with E and only contain 2 letter
prefixes, etc.
Actual Implementation:
In an attempt to make things simple and flexible yet still adhering closely to the actual format, our application allowed X to be ANY letter, including I and O. We also disregarded the other exceptions (e.g. license plate number starting with E). Other than that, all other requirements of the standard license plate number format were adhered to.
Summary of implementation:
Format: SXX####X
, where X represents ANY letter and #### represents
any number from 1 to 9999, without leading zeroes.
This check prevents the user from entering any random undesirable or invalid strings as the license plate number.
Available
.Available
-> Rented
)Rented
-> Available
)Rented
-> Available
)Available
-> Rented
)mark-rented
and mark-available
for instance, hence improving efficiency and effectiveness (E & E)
of the application.add-car
list-cars
list-rented
list-available
list-tx
Updating rental status of car
help
exit
removeCar
UML Sequence diagram.addCar
UML Sequence diagram.addTx
UML Sequence diagram.