{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"10dcae39-545c-4c71-9474-5906bc25904e","name":"Food Quick","description":"**Welcome to** _**Aasim's Food Quick**_ **API documentation.**\n\n## Overview\n\nThis API documentation provides details on how to use the Zomato-like Restaurant API to create, retrieve, update, and delete restaurants, manage restaurant menus, add user reviews and ratings, and more. The API is designed to facilitate restaurant discovery and management.\n\n## **API Base URL**\n\n> `https://assignment11foodquick.aasimd.repl.co` \n  \n\n## Getting Started\n\nBefore using the API, make sure you have the necessary credentials and understand the available endpoints. Refer to the following sections for detailed information on each endpoint.\n\n## Functionalities\n\n### **Restaurant Management**\n\n- **Create / Add Restaurant**\n    - Endpoint: `POST /restaurants`\n        \n    - Description: Create a new restaurant.\n        \n- **Retrieve Restaurant by Name**\n    - Endpoint: `GET /restaurants/:name`\n        \n    - Description: Retrieve restaurant details by name.\n        \n- **Retrieve All Restaurants**\n    - Endpoint: `GET /restaurants`\n        \n    - Description: Retrieve a list of all restaurants.\n        \n- **Retrieve Restaurants by Cuisine**\n    - Endpoint: `GET /restaurants/cuisine/:cuisineType`\n        \n    - Description: Retrieve restaurants by cuisine type.\n        \n- **Update Restaurant Information**\n    - Endpoint: `POST /restaurants/:restaurantId`\n        \n    - Description: Update restaurant information (e.g., rating, address) by ID.\n        \n- **Delete Restaurant**\n    - Endpoint: `DELETE /restaurants/:restaurantId`\n        \n    - Description: Delete a restaurant by ID.\n        \n- **Search for Restaurants by Location**\n    - Endpoint: `GET /restaurants/search?location=:location`\n        \n    - Description: Search for restaurants by location (city or address).\n        \n- **Filtering Restaurants by Rating**\n    - Endpoint: `GET /restaurants/rating/:minimumRating`\n        \n    - Description: Filter restaurants based on ratings minimum and equal to minimumRating\n        \n\n### **Menu Management**\n\n- **Add a Dish to a Restaurant's Menu**\n    - Endpoint: `POST /restaurants/:restaurantId/menu`\n        \n    - Description: Add a new dish to a restaurant's menu.\n        \n- **Remove a Dish from a Restaurant's Menu**\n    - Endpoint: `DELETE /restaurants/:restaurantId/menu/:dishName`\n        \n    - Description: Remove a dish from a restaurant's menu.\n        \n\n### **User Reviews**\n\n- **Add Reviews and Ratings for a Restaurant**\n    - Endpoint: `POST /restaurants/:restaurantId/reviews`\n        \n    - Description: Allow users to add reviews and ratings for a restaurant.\n        \n- **Retrieve User Reviews for a Specific Restaurant**\n    - Endpoint: `GET /restaurants/:restaurantId/reviews`\n        \n    - Description: Retrieve user reviews for a specific restaurant.\n        \n\n### Restaurant Model\n\nThe Restaurant Model is the core structure that represents dining establishments within the system. It serves as the foundation for managing and organizing information about various restaurants, making it possible for users to discover and interact with them. Here's an overview of the key components and fields of the Restaurant Model:\n\n- **name:** The name of the restaurant, which provides a unique identifier for each establishment.\n    \n- **cuisine:** This field specifies the type of cuisine that the restaurant specializes in, allowing users to filter and search for restaurants based on their culinary preferences.\n    \n- **address:** The physical address of the restaurant, helping users find the restaurant's location easily.\n    \n- **city:** The city in which the restaurant is located, enabling users to narrow down their search by city.\n    \n- **rating:** The rating is a numerical value that represents the overall quality or popularity of the restaurant. It is typically on a scale from 0 to 5, with 0 being the lowest and 5 being the highest rating. Users can rely on this rating to make informed dining decisions.\n    \n- **menu:** The menu field is an array that contains a list of menu items offered by the restaurant. Each menu item is an object with the following attributes:\n    \n    - **name:** The name of the menu item.\n        \n    - **price:** The price of the menu item.\n        \n    - **description:** A brief description or summary of the menu item.\n        \n    - **isVeg:** A boolean value indicating whether the menu item is vegetarian (true) or non-vegetarian (false).\n        \n- **averageRating:** This field represents the average rating of the restaurant. This is an average of all the users ratings.\n    \n- **reviews:** The Reviews field has an array of objects of reviews for the restaurants by the users, the objects have following attributes:\n    \n    - **user:** An Object of user Information with following attributes:\n        - **username:** The username of the user.\n            \n        - **profilePicUrl:** The url of user's profile picture.\n            \n    - **comment:** The review comment from the user.\n        \n    - **rating:** The rating from the user.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"24459577","collectionId":"10dcae39-545c-4c71-9474-5906bc25904e","publishedId":"2s9YCARAgp","public":true,"publicUrl":"https://documenter-api.postman.tech/view/24459577/2s9YCARAgp","privateUrl":"https://go.postman.co/documentation/24459577-10dcae39-545c-4c71-9474-5906bc25904e","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.11.6","publishDate":"2023-09-20T20:03:28.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/2s9YCARAgp"}