This Restaurant Management System is a Python script designed to manage various aspects of a restaurant's operations, enhancing both customer and staff experiences. It utilizes a JSON-based menu structure for easy management and manipulation.
This project requires Python 3.12.1 or later. To set up the project:
-
Ensure Python 3.12.1 or a later version is installed on your system. You can download Python from python.org.
-
Clone or download the repository to your local machine.
git clone https://github.com/jaiswalchitransh/Restaurant-Management-System.git
-
Open the project in your preferred Python environment (e.g., IDE or terminal).
-
Run the script (
restaurant.py
) and observe the output.
Run the script:
python restaurant.py
Upon running the script, users are greeted with a welcoming interface providing options for menu display, item ordering, addition of new items, rating of items, and exiting the program. Detailed functionalities include:
- Show Menu: Displays a list of items with their respective prices and average ratings.
- Order Items: Allows users to select items by their IDs and quantity, calculates the total bill, and displays a summary of the order.
- Add Item: Enables restaurant staff to add new menu items, specifying name, price, and type (vegetarian or non-vegetarian).
- Add Ratings: Allows customers to provide ratings (1-5 stars) for menu items, which are stored and used for item popularity and quality assessment.
- Exit: Saves any changes made to the menu and exits the program.
- Menu Management: Utilizes JSON for efficient storage and management of menu items, including name, price, and type.
- Dynamic Interface: Provides a user-friendly interface for seamless interaction with menu items, ordering, and rating.
- Rating System: Incorporates a feedback mechanism where customers can rate menu items, helping in understanding customer preferences and improving dish popularity.
- Data Persistence: Updates and saves changes to the menu in a JSON file (
menu.json
) for persistent storage.
I, Chitransh Jaiswal developed this Project Individually. I was responsible for all aspects of the project, including design, development, testing, and documentation. Contributions to improve the efficiency, readability, or functionality of the code are welcome. To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature
). - Make your changes.
- Commit your changes (
git commit -am 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature
). - Create a new Pull Request.
Please ensure your contributions adhere to the coding standards and follow the existing style and structure.
Thank you for your interest in the Restaurant Management System!