This project goal is to develop a rental media system This underneath UML diagram may help you to understand the system requirements
Specifications
What You Must Implement
You must define a class named MediaRental that implements the MediaRentalInt interface functionality (index A). You must define classes that support the functionality specified by the interface. The following specifications are associated with the project:
- Define a class named MediaRental. Feel free to add any instance variables you understand are needed or any private methods. Do not add any public methods (beyond the ones specified in the MediaRentalInt interface).
- The media rental system keeps track of customers and media (movies ,music albums and games). A customer
has a name, address as string , a plan and two lists. One list represent the media the customer is interested in receiving and the second one represents the media already received (rented) by the customer. There are two plans a customer can have: UNLIMITED and LIMITED. UNLIMITED allows a customer to receive as many media as they want; LIMITED restricts the media to a default value of 2 (this value can be change via a media rental class method).
A movie has a title, a number of copies available and a rating (e.g., “HR”). An album has a title, number of copies available, an artist and the songs that are part of the album. A game has title,number of copies,and the weight (in grams) is also stored.
- You must define and use at least four classes (not including MediaRental) as part of your design. At least two of those classes must be in a superclass/subclass relationship (Inheritance Requirement). The other two can be defined as you wish. Feel free to define as many classes as you want. These classes must support the functionality of the system otherwise you will not receive any credit.
- One of your classes must define an equals method that has as parameter an Object parameter.
- The database for your system needs to be represented using two ArrayList objects. One ArrayList will represent the customers present in the database; the second will represent the media (movies, albums , and games).
- Regarding the searchMedia method: the songs parameter represents a substring (fragment) or the full list of songs associated with the album. If the full list is provided you can assume commas will be part of the string. Hint: you may want to consider using the indexOf method of the String class.
- Your program should store the results in a file between executions of the program, so that when the program is run again it will start up with the same inventory contents as when it last terminated.
- Feel free to use Collections.sort to sort your data.
- Write test driver.
- Handle expectations where it’s needed.
11.Not all the details associated with the project can be fully specified in this description. The sooner you start
working on the project the sooner you will be able to address any doubts you may have.
phase II
This project goal is to develop a GUI for rental media system
Your Project should include Layouts {GridPane StackPane VBox HBox BorderPane } Controls
{button labels text filed text area combobox check box radio button } events images
Updates
Customer class should have new attributes id as string mobile number as string id is unique Media Class should have code as string
Your Main Interface of this project should contains the following menu
The property of this page size is Maximized primaryStage.setMaximized(true);
Button should contains a picture as an icon Hint use www icons com and search for customer icons etc
Customer
Media Rent
Rental Media System
Any Image reflect the content (rent games, movies, and Album)
When click at one of them it should transfer the user to new window that have more information about it
Customer Window page should have
Add new Customer
Delete Customer
Update Information about Customer Search a Customer by id
Return to main page
When click on any option of above menu [1-5] then a new is opened for user that allow him to submit the needed information about customer
Add new Customer Every texfiled should should be inactive till the user submitted the previous required filed
Add new Customer
Delete Customer
Update Information about Customer Search a Customer by id
Return to main page
Add them here with with buttons only no need icons or images
|
Customer ID: |
901211212 |
|
Customer Name: |
Customer Address:
Customer Mobile:
Add Back
Delete a Customer Find the customer information by enter the id and press delete button to remove this customer
|
Customer ID: |
901211212 |
Customer Name:
Customer Address:
Customer Mobile:
Find Add Back
For others update and search you have to do the same as the above sample GUI
Media Window page should have
Add new Media
Delete Media
Update Information about Media Search a Media by code
Print All Media information Return to main page
When click on any option of above menu [1-5] then a new is opened for user that allow him to submit the needed information about media
For All steps [1-6] do same as the above When rental manager add a media he can select a media type from combo box game movie or album Search should display all information about searched media or an error message For step
Print All Media information at Text Area
Rental Window page should have Store information about customer and their rented media
Rent form
|
Customer ID: |
901211212 |
Display Needed Information about customer….
Media Code:
AB005
Display Needed Information about Media….
|
Rented Date: |
Read current date of system |
Add To cart Process Cart Back
Print the requested interested media in the cart by give the id of customer Print the rented media in the cart by give the id of customer
Return Rented media by give the id of customer and then return the media Return to main page
For All steps [2-5] do same as Do the appropriate print them in Text Area
Feel free to design an interface from your side view but be careful and apply it as it required



