Design and implement online food delivery system, JAVA Programming

Assignment Help:

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.


Related Discussions:- Design and implement online food delivery system

Describe in brief about the polymorphism, Describe Polymorphism? Polymo...

Describe Polymorphism? Polymorphism can be referred as one name many forms. It's the ability of methods to behave differently, depending upon object who is calling it. Key feat

What is the order of function invocation in an applet? , The Applet's life ...

The Applet's life cycle functions are as follows: public void init() : Initialization function called only once by the browser. public void start() : Method called after

data integrity - security component, Data integrity helps to make sure if ...

Data integrity helps to make sure if something is communicate and not tampered with in the mean while when transmission take place. Checksums: Simply inserts the bytes withi

Need a new e- payment gateway, Need a new E- payment gateway Project Des...

Need a new E- payment gateway Project Description: I need a new payment gateway of my own. Anyone who has previous experience in preparing a new payment gateway. I mean new p

Define all the members of identified classes using java, A Mexican restaura...

A Mexican restaurant in London is struggling with preparing the meal ordered by it;s customer in time and has started loosing it;s business. The owner is looking at the possibility

What is jms client, An application or procedure that produces and/or receiv...

An application or procedure that produces and/or receives messages.

What is aop alliance, AOP Alliance is an open-source project whose goal is ...

AOP Alliance is an open-source project whose goal is to promote adoption of AOP and interoperability between different AOP implementations by describing a common set of interfaces

Bluej, how to write a program to assign value of variable age and print if ...

how to write a program to assign value of variable age and print if person is major.

What is the set interface, What is the Set interface? A Set interface i...

What is the Set interface? A Set interface is collection of element that can't be duplicated. Set interface comprise methods inherited from collection. It provides method

What is overriding, What is Overriding? When a class explains a method ...

What is Overriding? When a class explains a method using the similar name, return type, and arguments as a method in its superclass, the method in the class overrides the metho

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd