mayankbansal93/lld-food-delivery-zomato-swiggy ? reverse-engineered prompt

Reverse engineered prompt

Build me a simple Java project for a food delivery app like Zomato or Swiggy, focused on the backend design and core flows.

I want restaurants to be able to register and manage their food menu, and users to create, update, delete, and view their profiles. Users should be able to search restaurants by name or city, browse menus, and filter food by meal type or cuisine. They should also be able to add and remove items from a cart, place or cancel orders, view all their orders, and check order status like success, out for delivery, or delivered.

Please include coupon support, a detailed bill with tax calculation, and payment handling for different methods like card and wallet. Also add support for delivery partners to see all deliveries assigned to them by their id.

Keep it clean and object oriented, with separate services for restaurants, users, menus, cart, orders, pricing, payment, and delivery. If you need to, look up current Java best practices or docs online while building it.