- GUI (Restraunt)
- Keep track of sales (food & drinks)
- Customer place order
- Issue bill listing the ordered items
- Promotions runs with discounts, customer have to present discount code. (0-100%)
- Discount is applicable to the total purchase
- Both prices with discount and wihout have to be displayed
- Discount module needs to be modular and extensible in the sense that it can be applied to a single item OR a bundle of items.
- Singleton for Utils
- Builder for User
- Builder for Discount
- Factory for Drinks
- Factory for Food
- Abstract class for Items (to hold: Drinks and Foods)
- Builder for Sales
- Logic to read db and assign objects using builder (Foods, Drinks Item List) (Using Utils as Singleton)
- Logic to read discount and assign objects using builder
- Logic for calculating discounts
- Full flow of ordering
- Full flow of ordering with discounts = [] Checkout -> Write an array ob objects for items
- [] UI/UX Design and Implementation