== ER Diagram [[Image(ticket:1:Diagram.jpg​)]] == Data Requirements === Entities === **1. User** - Entity for all users in the system\\ * user_id – primary key, numeric, required * first_name – text type, required * last_name - text type, required * phone- text type, required * email- text type, required * password - text type, required **2. Customer**\\ * (No extra attributes, inherits from User) **3. Delivery Man**\\ * (No extra attributes, inherits from User) **4. Restaurant Owner**\\ * (No extra attributes, inherits from User) **5. Order**\\ * order_id – primary key, numeric, required * order_date – date, required * status - text type, required * comment- text type, required **6. Order Items**\\ * order_id - foreign key, required * item_id - foreign key, required * quantity - numeric type, required * total_price- numeric type, required **7. Item**\\ * item_id - primary key, numeric, required * name- text type, required * description - text type, required * price - numeric type, required * image_url - text type, optional **8. Menu**\\ * menu_id- primary key, numeric, required * name- text type, required * created_at - date, required * updated_at- date, required **9. Restaurant**\\ * restaurant_id - primary key, numeric, required * name - text type, required * email - text type, required * phone_number - text type, required * website_url - text type, required * opening_time - time, required * closing_time - time, required **10. Restaurant Owners**\\ * restaurantowner_id - foreign key, required * restaurant_id - foreign key, required **11. Delivery Assignment**\\ * deliveryfirm_id - foreign key, required * deliveryman_id - foreign key, required * start_date - date, required * end_date - date, required **12. Delivery Firm**\\ * firm_id - primary key, numeric, required * name - text type, required **13. Earnings**\\ * earning_id - primary key, numeric, required * date - date, required * source - text type, required * amount- numeric type, required **14. Costs**\\ * cost_id- primary key, numeric, required * date - date, required * type - text type, required * amount- numeric type, required **15. Item Ingredient**\\ * item_id - foreign key, required * ingredient_id - foreign key, required * quantity - numeric type, required **16. Ingredient**\\ * ingredient_id - primary key, numeric, required * name - text type, required