This is a Java application that manages a collection of properties for rent. It provides CRUD (Create, Read, Update, Delete) operations for managing properties such as apartments, houses, and condos.
The House Rental Management System has the following features:
- Add a new property to the system
- Update an existing property
- Remove a property from the system
- Get All Properties
- Get all properties subclass i.e. get all apartments, houses, condos by property type which is an enum
- Get single property by property code
- Get occupied or unoccupied properties by passing in a boolean.
- Get property by location
A report is generated based on property type which provides the following information:
- Total number of properties (Regardless, of the property type specified, a total number of properties is provided)
- Total number of propertyType, for instance, apartmentss in the rental repository.
- Total number of bedrooms in apartments
- Total number of bathrooms in apartments
- Total number of occupied apartments.
- Total number of unoccupied apartments.
- Total monthly rental income accrued from apartments.
The class diagram can be found in the Utility package.