Design and implement online food delivery system, JAVA Programming

You are required to design & implement online food delivery system using Java RMI technology. This involves writing both the server and the client program(s). Client programs can use either a command line interface or a graphical user interface. The program should have the following features:

1. A new user should be able to register a new account to the online food delivery system. The user should be able to register by using his/her username and password. If the username exists in the system, the user will be notified to enter a different username.

2. After the user has registered to the online food delivery system, the user should be allowed to log in with username and password he/she registered earlier.

3. When log in, the user should be able deposit money (add money to his/her account), and the online food delivery system should update the cash balance of the user. At any point of time, the user should also be able to inquire current balance of his/her account from online food delivery system.

4. The user should be able to request a list of available food menu from the online food delivery system. The system should return a list of available food menu to the user as the following:

1. Order: Pizza

Quantity: 4

Price: RM12

Total: RM48

2. Order: Satay

Quantity: 2

Price: RM10

Total: RM20

5. Based on a list food menu given, the user should be able to purchase food by selecting from the list above. Upon confirmation, the user cash balance from his/her account should be deducted from the food price. It should not be possible to purchase the food if the cash is not sufficient from the user account. If the server crashes during purchasing transaction, what would happen? How would your RMI program handle this problem?

6. Finally, given two users in the system e.g., usernames A and B, User A should be able to transfer cash voucher from his/her account to other user's B account.

7. Implement secure communication between session with the user and the food online system (i) when user purchases food and (ii) when the user performs cash transfer (Hint: use either SSL, SSH or any other security protocols for security needs).

8. What happen if multiple users use the online food system at the same time? What if/she purchases the same food item from the online system at the same time? What issues you might face? How can we resolve the issues? Implement your program to resolve the potential issues. Indicate exactly in the report of the code segment that you have written to resolve the issues and please provide detailed explanations.

I have intentionally specified few design details. In this assignment, you are expected to make design choices yourself. Your focus should be on functionalities. Unless you have implemented all the required features, do not spend so much time on GUI interfaces and any other fancy features. I will focus on your use of RMI in grading this portion of the assignment.

Posted Date: 3/28/2013 3:09:29 AM | Location : United States







Related Discussions:- Design and implement online food delivery system, Assignment Help, Ask Question on Design and implement online food delivery system, Get Answer, Expert's Help, Design and implement online food delivery system Discussions

Write discussion on Design and implement online food delivery system
Your posts are moderated
Related Questions
How can I create a simple Caesar cipher using if-else statements?

Problem Definition A new Met Office web application will allow users of their web site to view rainfall statistics for months and years in the UK. The application allows the m

Question 1 What is Response Redirection? Explain in brief Question 2 What is JDBC? Explain Question 3 Write a short note on Expressions Question 4 What is an XML na

Benefits of Spring framework : Spring can effectively organize your middle tier objects as given in the diagram above, whether or not you select to use EJB. Applications create

write a program to find the area under the curvey y=f(x) between x=a and x=b.integrate y=f(x) between the limits of a and b. the area under a curve between two points can be found

What are adding methods? A subclass isn't restricted to changing the behavior of its superclass. It can also add fully latest techniques and fields that are not shared along wi

What is asynchronous messaging? Queue Ans) Asynchronous messaging includes a client that does not wait for a message from the server. An event is used to trigger a message from

The fancy new French restaurant La Food is very popular for its authentic cuisine and high prices. This restaurant does not take reservations. To help improve the efficiency of the

The project is optional. It is worth at least 7 bonus points beyond overall 100 points of this course. The grading will be on a pass/fail basis. Write a Java application (not ap

For this assignment you are provided with a class called LNode which can be used as a list node for a linked list of ints. You are also provided with an abstract class called LList