Welcome to House of Doughnuts Restaurant Management System, a project built using Python's Tkinter GUI package. This system enables seamless menu viewing, order placement, bill generation, and membership registration for customers. Additionally, it empowers managers with password-protected functionalities to manage the restaurant's offerings efficiently.
- User Interface: The application leverages Tkinter for an intuitive and visually appealing interface for both customers and managers.
- Menu Exploration: Customers can conveniently explore the enticing menu of House of Doughnuts, reviewing prices before making their selections.
- Effortless Order Placement and Bill Generation: Customers can build their orders by adding desired items and specifying quantities. The system can calculate comprehensive bills, providing customers with accurate cost breakdowns.
- Membership Perks: Customers have the option to register as members, granting them access to special offers.
- Managerial Privileges: Managers possess password-protected access to critical functionalities:
- New Item Creation: Managers can effortlessly introduce new items, which immediately appear on the menu for customer perusal.
- Item Details Modification: Managers can update item names and rates to reflect any alterations accurately.
- Item Deletion: Managers hold the authority to eliminate items that are no longer available.
- Database Integration: The system utilizes mySQL-connector-python for seamless interaction with the database. The following tables are utilized:
- ItemsMaster: Stores menu item information, including item number, name, and rate.
- Bill: Manages bill details, including bill number, date, customer name, description, and total.
- MemberDetails: Maintains member information, including first name, last name, mobile number (primary key), and address.
- Open a terminal or command prompt.
- Navigate to the src directory.
- Run the code by executing the following command:
python3 MainMenu.py
The project is organized into the following files, each contributing to specific functionalities of the application:
- MainMenu.py: This module contains the main menu class, responsible for initializing the application and presenting the user with the main options to either display the menu, place an order, register as a member, or access manager functions.
- ShowMenu.py: This module is responsible for displaying the menu to customers. It provides information about menu items, including their names and rates.
- OrderFood.py: The order food modules handles the order placement process. Customers can select items, specify quantities, and proceed to checkout.
- Manager.py: The manager modules provides password-protected access to managerial functionalities. Managers can add new menu items, modify existing items, and remove items from the menu.
- Register.py: The registration modules allows customers to become members by providing their details.
The code relies on the following dependencies:
- Tkinter
- mysql-connector-python
- Pandas
- Pillow