Low Level Design of Food delivery app - UberEats
Requirements
- Restaurant can register themselves.
- User can create, update, delete, get their profiles.
- User can search for the restaurant using restaurant name, city name.
- Restaurant can add, update foodmenu.
- User can see the foodmenu. User can get the food items based on Meal type or Cuisine type.
- User can add/remove items to/from the cart. User can get all the items of the cart.
- User can place or cancel the order. User can get all the orders ordered by him/her.
- User can apply the coupons. User can get the detailed bill containing tax details.
- User can made a payment using different modes of payment - credit card, wallet, etc.
- User can get the order status anytime. Success, Out for Delivery, Delivered, etc.
To Test the application, Run UberEatsApplicationTests