You are on page 1of 1

Problem:

Consider a software application for managing an online food ordering store.


Each order contains the details of the customer, the products ordered, the time
when the order is ready and the order state. The order can be either delivered, in
that case a delivery address and the deliverer is needed or taken personally by the
customer. The price of the order is computed from the price of the products and the
delivery cost 3$ if the total cost is under 20$. The estimate finish time is computed
from the products cooking time. The type of products ordered can be meal1, meal2,
desert and drink. For each product we have a price, the name and a short
description. For products that require cooking we also have an estimate cooking
time. The user has to log in into the application using the username and password
and based on its role it can perform specific actions. The customer can create an
account, place and order and pick the order. The order manager can confirm the
order and set it as ready and the deliverer can claim the order and set it as
delivered.
Implementation request:
Write a Java console application that will map the above specifications and
simulate some flows (example: user logs in and places a delivered order, user
creates account, logs in and places a personally taken order etc.). At each step print
out the action made and the order details. There is no need to implement any user
interface (graphical or console menu), just hardcode the following flow:
Order manager: logs in.
Deliverer: log in.
User: creates account with username jdoe
jdoe: logs in.
jdoe: places personal taken order1 (items: fries, cola; price: 20$; finishTime:
1PM; state: new).
Order manager: confirms order1 (items: fries, cola; price: 20$; finishTime:
1PM; state: confirmed).
Order manager: sets ready order1 (items: fries, cola; price: 20$; finishTime:
now; state: ready).
jdoe: picks the order1 (items: fries, cola; price: 20$; finishTime: 12:46 PM;
state: picked).
jdoe: places order2 with delivery (items: fries, cola; price,burger: 25$;
finishTime: 1PM; state: new).
jdoe: places order3 with delivery (items: fries, cola; price,burger: 15$;
finishTime: 1PM; state: new).

You might also like