This project aims to create a comprehensive online platform for a restaurant, enabling customers to browse, order, and track their food deliveries. The platform also provides an administrative panel for managing the restaurant's operations, including menu items, orders, and user interactions. The website has two main interfaces: the User Panel and the Admin Panel, each with distinct functionalities to ensure seamless interaction between users and administrators.
The project is built using PHP with PDO for secure and flexible database interactions. Additionally, it includes an advanced query system, allowing admins to retrieve specific data dynamically, and PDF generation using Dompdf for exporting query results.
- Frontend:
- HTML: For structuring the web pages
- CSS: For styling the web pages
- JavaScript: For dynamic interactions and user experience enhancements
- Backend:
- PHP: For server-side scripting and database interactions
- SQL (MySQL): For storing and managing data
- Server:
- XAMPP: For local development and testing
This project is divided into user panel and admin panel.
The User Panel is designed for restaurant customers, offering the following functionalities:
-
User Authentication
- Secure sign-up and login functionality for multiple users.
- Passwords are securely stored using hashing.
-
Food Search and Categorization
- Users can search for dishes by name or category.
- Each dish is displayed with an image and price.
-
Online Ordering
- Users can select multiple food items for ordering.
- Ordered items are displayed in the "Add to Cart" section and the total bill is also showed.
- Users can modify the contents of the cart (Adding or removing items, Changing quantity)
- Finally the foods can be placed for checkout and payment can be completed.
-
Order Management
- A dedicated Order Page shows current orders and order history.
- Shows order informations (Items, Cost, Order and Response time, Payment Methods, Order status etc).
-
User Profile Management
- Users can update their profile information, including their contact details, addresses and preferences and password.
-
Communication with Admin
- Users can send text messages to the admin as feedback through a contact page.
- Messages are private and only visible to the admin and user.
The Admin Panel is designed for the restaurant's management, providing the following features:
-
Admin Profile
- Separate login for admin accounts.
- Admin profiles are editable.
-
Security:
- There is a secured separate login system for Admin interactions.
- At first Admin has to collect the login credentials from the programmer.
- After collecting credentials, he can change it to maintain security.
- Then the admin can include multiple admins to share management responsibilities.
-
Food Item Management
- Admin can add, delete, and edit food items displayed on the website.
-
Order Approval
- Admin can view and approve or decline user orders.
-
User Communication
- Admin can view messages or feedback sent by users.
-
Transaction Monitoring
- A detailed overview of all transactions in the restaurant are displayed.
-
Admin Management
- Admin can add additional admin accounts to share management responsibilities.
- Admin can observe total earning of the restaurant.
- Admin can remove any information of transactions.
-
User Management:
- Admin can view the registered users.
- Admin can remove any registered users.
-
Query:
- Admin can make a query based on any criteria including:
- User ID
- Username
- Phone Number
- Pyement Method
- Payment Statue
- Price
- Order date
- Admin can insert any information and observe the result.
- Admin can make a query based on any criteria including:
-
PDF:
- Observed data from query page can be converted into a PDF which can be downloaded for printing.
- Payment amounts are summed.
The system is primarily divided into two main components:
| Page | Description |
|---|---|
| Login Page | User login system. |
| Register Page | Register page for new users. |
| Home Page | Displays featured dishes, offers, and recent orders. |
| Menu Page | Lists available dishes with images, prices, and categories. |
| Cart Page | Allows users to add, remove, and modify items in their cart. |
| Checkout Page | Processes orders and collects payment information. |
| Order Page | Displays past orders and their status. |
| Profile Page | Allows users to update their personal information and preferences. |
| Contact Page | Provides a form for users to send messages to the admin. |
| About Page | Contains information about the restaurant. |
| Quick View Page | Allows user to observe any item. |
| Category Page | To categorize food items. |
| Check Out Page | Page containing ordered items and costing. |
| Search Page | To search food. |
| Update Page | In order to update user information, address, passwords. |
| Page | Description |
|---|---|
| Login Page | Admin login page. |
| Register Page | Admin register page which is not accessable by the users. |
| Dashboard | Provides an overview of key metrics, such as total orders, revenue, and active users and admins. |
| Admin Account Page | Hold information of admin. |
| Message Page | To receive messages or feedback from users. |
| Placed Order Page | Handle orders. |
| Product page | Display and manage products. |
| Update Product Page | Update products. |
| Update Profile Page | Update admin profile. |
| Query Page | To perform query and download PDF |
- images : Images for website frontend.
- project images : Images of products.
- uploaded_img : Uploaded product images.
-
User Interaction
- A user signs up or logs in.
- Searches and selects dishes to place in the cart.
- Confirms an order and monitors the order status via the Order Page.
- Communicates with the admin for support if needed.
-
Admin Management
- Admin logs in and manages dishes.
- Reviews and approves pending orders.
- View user message or feedback.
- Monitors transactions and adds new admin accounts when required.
- Download and Install XAMPP Server: Follow the official XAMPP website instructions for your operating system. Download and install XAMPP
- Clone the Project: Clone the project repository from GitHub using Git.
https://github.com/Tanvir-Mahamood/Restaurant-and-Food-Delivery-Website-main.git
- Configure Database: Create a database within XAMPP and import the provided SQL script.
- Project Directory: Move the folder to the appropriate directory within your XAMPP server's document root.
- Database Configuration: Edit the connection details in the connection.php to point to your created database.
- Start XAMPP: Launch XAMPP and ensure Apache and MySQL are running.
- Access the Forum: Open your web browser and navigate to
http://localhost/[your_project_directory]
http://localhost/64bit-Kitchen
- Integrate payment gateways.
- Add real-time order notifications.
- Optimize for mobile devices.
- Implement analytics for admins to view order trends.
- Add multilingual support for a wider audience.
This project is open source and available under the MIT License.







