You were approached by your friend Joe who owns a restaurant called Madconalds in the low-density suburbs of Johannesburg. He realized that with the current pandemic, customers are now scared of coming to the restaurants to order the food as they are scared of spreading the disease to others. As a result, he is thinking of implementing an online restaurant ordering system. The idea is that the customers will order online, then someone from the restaurant will prepare the order. After preparation, the delivery person then sends it to the customer, who will pay upon delivery. Thus, Joe asked you to prepare the following system interfaces using JFrame:
An interface with the form for adding the menu items to the system. For this part of the system, you are required to save the added menu item to an external txt file. The form should be for capturing the name of the menu item and its price.
An interface for the customer to make an order with the restaurant. On this interface, you need to display the list of the items that are in the restaurant for the customer to choose from. There should be a list of the chosen items along with the total price that the customer should pay. This list should be saved along with the customer’s name and address. These ordering details need to be stored in a separate txt file with a name such as “orders.txt”
The third interface is for the restaurant staff to view the ordered items and start preparing the dish for the customers. You need to display the ordered items, the customer’s name and address, and the total amount.
You are required to:
1. Design three JFrame interfaces (using Netbeans or any other IDE that supports
JFRAMEs) for the customers’ ordering form. One should be for adding the menu items, saving the items to a txt file. The second interface should be for the customers to do the ordering. On this interface, you need to retrieve the items from the txt file and make the customers choose from the list. The order to the restaurant should include the items to order, the total price for the items, the customer name, and address and should be saved onto a separate txt file. The last interface should be used by the restaurant personnel to prepare the items ordered. On this interface, you are supposed to retrieve the data in the orders txt file and display it.
2. Write a professional document illustrating how the system works. This should work as a manual to use for users that want to use your system. You need to use screenshots and diagrams where appropriate.
Your submission should include:
1. A zipped JAVA project with the interfaces of the required system.
2. A document illustrating how the system works
Note: Use the Rubric to guide your development of the application.
No Criteria Requirements
1 Interfaces (27 marks) Shows all the required interfaces for the system (up to 22 marks) 22
The interface elements are laid out in a neat and consistent fashion. There is a sort of theme or colour code or style consistency on all the interfaces (up to 5 marks)
Appropriate form fields have validity checks on the input data e.g. input for item price for interface one should be numerical, or the forms do not submit if the required fields are empty etc (up to 15 marks) 15
The naming convention is followed i.e., field names are in correspondence with their function (up to 5 marks)
5 Data Saving (13 marks) The booking details can be saved to the file system without any problems. (up to 5 marks) 5
The other interfaces can correctly retrieve appropriate information from the file system without any problems (up to 8 marks) 8
6 Documentation (10 marks) Clear and well-articulated document on the system interfaces with diagrams where appropriate (up to 10 marks) 10