Cosc1295 advanced programming - develop your skills of


Overview

You are required to use Java SE 8.0 and JavaFX to develop a Graphical User Interface (GUI) for the FlexiRent rental property management program created in Assignment 1.

This assignment is designed to help you:

Develop your skills of using various Java collection classes and exception handling

Enhance your ability to build a Graphical User Interface using JavaFX

Practise implementation of various GUI event handlers

Read from and write to a database using Java JDBC technology

Incorporate text file handling in your program to import and export data

General Implementation Requirements

All information displayed to the user and all user interactions should be done via the GUI. There must be no Console input and output.

You are free to create your own GUI layouts as long as your layouts are clear and meet the requirements shown in the following sections. Marks might be deducted for very poor GUI design.

Any user inputs via the GUI should be validated.

You must not use 3rd-party GUI components which are not built by you.

Marks will be allocated to proper documentation and coding layout and style. Your coding style should be consistent with standard coding conventions shown in the General Implementation Requirements section of Assignment 1.

Task Specifications

NOTE: Carefully read the following requirements. In addition, regularly follow the Canvas assignment discussion board for assignment related clarifications and discussion.

Packages and Organisation of Code

You must use the following packages to separate your code into sets of related classes and interfaces:

view: contains all your GUI classes controller: contains all your controller classes model: contains all your classes to store and process data (RentalProperty, Apartment, PremiumSuite...) and all database and file handling classes

You can use sub-packages inside the packages shown above.

Data Generation

You are required to generate data for 15 property, including 10 Apartments (with random number of rooms and locations of your choices) and 5 Premium Suites. Each property needs to have 2 or 3 completed rental records with random customer ids.

For this assignment, each property will have a corresponding image and a long description which is from 80 to 100 characters.

Each property image should have a moderate size (from 100KB to 250KB). Click here for an example of such an image. You must keep all images in a folder named images which is a direct sub-folder of your assignment project. If a property has no corresponding image, a default image with the phrase "No Image Available" should be used.Graphical User Interface (GUI)
All user interaction with the Flexirent system will be done via the GUI. Users should be able to click buttons, select menu items, choose options from combo boxes to perform all functionalities described in Assignment 1 such as add, rent and return a property as well as perform and complete property maintenance.

Main Program Window

This is the first window users will see when running your program.

This window should contain a menu bar or menu pane from which users can execute the main functionalities of your program, such as import, export data, quit the program and other main functionalities described below. When users click a button or select a menu item, new windows can be opened to allow users to perform corresponding functionalities.

The centre area of this window will contain a scrollable list of rental properties managed by your program. Each list item should be implemented by using various JavaFX User Interface Controls such as ImageView, Label, Buttons..., rather than just a text area showing the output of getDetails() method. Click here for a suggestion of how the list should look like.

In this list, each list item provides an overview of a rental property with an image of that property, property type, status... and a button that users can click on to go to the detail view of that property to perform more functionalities related to that property (described below) Search and filtering capabilities: your main window should also contain various combo boxes, allowing users to filter the property list by type (Apartment, Premium Suite) or by number of bedrooms (1, 2, or 3 bedrooms) or by status (Available, Rented, Maintenance) or by suburb.

Property Detail Window

When the user selects a property in the property list of the Main Program Window, your program should display this Property Details Window to allow users to see all details of the property which has been selected, including the property image and long description.

This window must have a scrollable list to display complete rental records of that property.

This window must have buttons which allow users to perform various activities related to this property such as rent, return, maintenance and complete maintenance.

This window must still keep the main menu bar or menu pane as mentioned in the Main Program Window description shown above, allowing users to perform common activities such import, export data, quit the program and other main functionalities that you see reasonable.

Users should be provided with a way to return to the Main Program Window from this Detail Window

Other GUI Requirements

You are encouraged to explore and use various other JavaFX User Interface (UI) controls to implement your graphical interfaces for functionalities such as add property, return property, maintenance and complete maintenance. My suggestions for such UI controls are the Dialog class and its subclasses such as TextInputDialog, ChoiceDialog and Alert classes in the javafx.scene.control package.

All user inputs via the GUI must be validated

All error messages and messages from Exception objects should be displayed in the GUI using JavaFX Alert classes in the javafx.scene.control package. Do not output any error message to the Console.

Important functionalities such as Save to Database, Import, Export, Quit should always be available in your program.

Attachment:- Data.rar

Solution Preview :

Prepared by a verified Expert
JAVA Programming: Cosc1295 advanced programming - develop your skills of
Reference No:- TGS02902019

Now Priced at $65 (50% Discount)

Recommended (97%)

Rated (4.9/5)