Restaurant Food Delivery System Free Database Design Tutorial
Introduction
It is a web-based application that allows restaurants to handle their food delivery orders from a single place, known as the Restaurant Food Delivery System. It enables restaurants to track delivery timings, control delivery routes, and keep track of customer feedback in one convenient location. It is created on top of the Laravel framework, which is used by the Restaurant Food Delivery System application. In addition to a single-page user interface, the program was designed utilizing the MVC paradigm and makes extensive use of the jQuery client-side library.
Benefits of Restaurant Food Delivery System
Nowadays, technology has had a significant impact on the way organizations work, and one of the industries that has been most impacted is the food industry. Businesses can now provide meal delivery services to their consumers as a result of the development of restaurant food distribution systems.
Using a restaurant meal delivery system has a number of advantages and advantages over other methods of delivering food. For example, one of the most obvious advantages is that clients have access to meals from a variety of different establishments. The consumer thus has the opportunity to sample a variety of foods that he or she would not otherwise be able to find in another restaurant. Another advantage of utilizing a restaurant meal delivery system is that it assists eateries in lowering their operating costs by reducing the amount of staff they require.
Database Tables
Let’s start by making the tables and columns. For a thorough tutorial, please watch the video.
tbl_registration – this table will store the registration information of restaurants in the system.
- registration_id – primary key of the table. It is set usually to auto_increment (the database will automatically give this column a value starting from 1).
- restaurant_name – the name of the restaurant
- complete_address – the complete address of the restaurant
- email_address – the email address of the restauran
- owner_name – the name of the restaurant’s owner
- tin_number – tin number of the restaurant
- company_logo – the company logo of the restaurant
- business_permit – the restaurant proof of business license or permit
- latitude – the latitude measurement of the restaurant’s loacation
- longitude – the longitude measurement of the restaurant’s location
- username – the desired username for the restaurant’s account combined with the password to login to the system.
- password – the preferred password for the restaurant’s account used to login to the system
- registration_status – pending, approved, disapproved
Create SQL Statement – the statement below is used to create the tbl_registration, copy the sql statement and paste it in the sql manager/tab of your phpmyadmin.
CREATE TABLE `tbl_registration` ( `registration_id` int(11) NOT NULL, `restaurant_name` varchar(50) NOT NULL, `complete_address` varchar(200) NOT NULL, `email_address` varchar(30) NOT NULL, `owner_name` varchar(50) NOT NULL, `tin_number` varchar(15) NOT NULL, `company_logo` longblob NOT NULL, `business_permit` longblob NOT NULL, `latitude` varchar(15) NOT NULL, `longitude` varchar(15) NOT NULL, `username` varbinary(30) NOT NULL, `password` text NOT NULL, `registration_status` int(1) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tbl_food_list – the list of foods offered by the restaurants is stored in this table.
- food_id – primary key of the table. It is set usually to auto_increment (the database will automatically give this column a value starting from 1).
- restaurant_id – this is a foreign key that points out to the restaurant
- food_name – the name of the food
- price_per_serving – the price of the food per serving
- upload_image – the image of the food
- description- additional information or description of the food
- status – available, not available
Create SQL Statement – the statement below is used to create the tbl_food_list, copy the sql statement and paste it in the sql manager/tab of your phpmyadmin.
CREATE TABLE `tbl_food_list` ( `food_id` int(11) NOT NULL, `restaurant_id` int(11) NOT NULL, `food_name` varchar(50) NOT NULL, `price_per_serving` float NOT NULL, `upload_image` longblob NOT NULL, `description` varchar(100) NOT NULL, `status` int(1) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tbl_delivery_driver – this table will store the information of the registered delivery driver in the system.
- driver_id – primary key of the table. It is set usually to auto_increment (the database will automatically give this column a value starting from 1).
- complete_name – the complete name of the driver
- address – the address of the delivery driver
- contact_number – the contact number of the driver preferrably mobile or cellphone number
- email_address – the email address of the delivery driver
- profile_picture – the profile photo of the driver
- drivers_license – proof of the driver’s driver license
- username – the desired username of the driver for his account
- password – the desired password of the driver for his account
- account_status – active, inactive
Create SQL Statement – the statement below is used to create the tbl_delivery_driver, copy the sql statement and paste it in the sql manager/tab of your phpmyadmin.
CREATE TABLE `tbl_delivery_driver` ( `driver_id` int(11) NOT NULL, `complete_name` varchar(50) NOT NULL, `address` varchar(200) NOT NULL, `contact_number` varchar(15) NOT NULL, `email_address` varchar(30) NOT NULL, `profile_picture` longblob NOT NULL, `drivers_license` longblob NOT NULL, `username` varchar(30) NOT NULL, `password` text NOT NULL, `account_status` int(1) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tbl_customer – this table will store the information of the customers registered in the system.
- customer_id – primary key of the table. It is set usually to auto_increment (the database will automatically give this column a value starting from 1).
- complete_name – the complete name of the customer
- address – the address of the customer
- contact_number – the contact number of the customer
- email_address – the email address of the customer
- profile_picture – the profile photo of the customer
- valid_documents – valid documents uploaded
- username – the desired username for the customer’s account
- password – the desired password for the customer’s account
- account_status – active, inactive
Create SQL Statement – the statement below is used to create the tbl_customer, copy the sql statement and paste it in the sql manager/tab of your phpmyadmin.
CREATE TABLE `tbl_customer` ( `customer_id` int(11) NOT NULL, `complete_name` varchar(50) NOT NULL, `address` varchar(200) NOT NULL, `contact_number` varchar(15) NOT NULL, `email_address` varchar(30) NOT NULL, `profile_picture` longblob NOT NULL, `valid_documents` longblob NOT NULL, `username` varchar(30) NOT NULL, `password` text NOT NULL, `account_status` int(1) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tbl_feedback – this table will store the feedbacks made by the customers for the restaurants.
- feedback_id – primary key of the table. It is set usually to auto_increment (the database will automatically give this column a value starting from 1).
- title – the tite of the feedback
- description – description of the feedback
- date – the date the feedback was made
- customer_id – this is a foreign key that points to the customer
- status – closed, open, solved
Create SQL Statement – the statement below is used to create the tbl_feedback, copy the sql statement and paste it in the sql manager/tab of your phpmyadmin.
CREATE TABLE `tbl_feedback` ( `feedback_id` int(11) NOT NULL, `title` varchar(20) NOT NULL, `description` varchar(50) NOT NULL, `date` date NOT NULL, `customer_id` int(11) NOT NULL, `status` int(1) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tbl_order – this table will store the information of the orders made in the system.
- order_id – primary key of the table. It is set usually to auto_increment (the database will automatically give this column a value starting from 1).
- order_code – unique code for the order
- customer_id – this is a foreign key that points out to the customer
- order_date_time – the date and time the order was made
- food_id – this is a foreign key that points out to the food
- restaurant_id – this is a foreign key that points out to the restaurant
- amount – the amount to be paid for the order
- delivery_charge – the amount for the delivery charge
- total_amount – the total amount for the order
- driver_id – this is a foreign key that points out to the delivery driver
- status – pending, cancelled, delivered
- processed_by – the user or admin who processed the transaction
Create SQL Statement – the statement below is used to create the tbl_order, copy the sql statement and paste it in the sql manager/tab of your phpmyadmin.
CREATE TABLE `tbl_order` ( `order_id` int(11) NOT NULL, `order_code` varchar(15) NOT NULL, `customer_id` int(11) NOT NULL, `order_date_time` datetime NOT NULL, `food_id` int(11) NOT NULL, `restaurant_id` int(11) NOT NULL, `amount` float NOT NULL, `delivery_charge` int(11) NOT NULL, `total_amount` float NOT NULL, `driver_id` int(11) NOT NULL, `status` int(1) NOT NULL, `processed_by` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tbl_settings – this table store the information of the system’s settings.
- setting_id – primary key of the table. It is set usually to auto_increment (the database will automatically give this column a value starting from 1).
- max_order_allowed – the maximum order allowed to be ordered
- commission_percent – the commission percentage
- drivers_rate – the amount of the driver’s rate
Create SQL Statement – the statement below is used to create the tbl_settings, copy the sql statement and paste it in the sql manager/tab of your phpmyadmin.
CREATE TABLE `tbl_settings` ( `setting_id` int(11) NOT NULL, `max_order_allowed` int(3) NOT NULL, `commision_percent` int(3) NOT NULL, `drivers_rate` float NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tbl_admin_users – this table will store the information of the admin users in the system.
- admin_id – primary key of the table. It is set usually to auto_increment (the database will automatically give this column a value starting from 1).
- complete_name – the complete name of the administrator
- email_address – the admin’s email address
- complete_address – the complete address of the admin
- username – the desired username of the admin
- password- the desired password of the admin
- status – active, inactive
Create SQL Statement – the statement below is used to create the tbl_admin_users, copy the sql statement and paste it in the sql manager/tab of your phpmyadmin.
CREATE TABLE `tbl_admin_users` ( `admin_id` int(11) NOT NULL, `complete_name` varchar(50) NOT NULL, `email_address` varchar(30) NOT NULL, `complete_address` varchar(200) NOT NULL, `username` varchar(30) NOT NULL, `password` text NOT NULL, `status` int(1) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Summary
That’s it; we hope that you have learned something on this post on how to create a database for the project on Restaurant Food Delivery System.
Please watch the video tutorial that will be posted on our YouTube Channel.
You may visit our Facebook page for more information, inquiries, and comments. Please subscribe also to our YouTube Channel to receive free capstone projects resources and computer programming tutorials.
Hire our team to do the project.
Related Topics and Articles:
Food Ordering App in Flutter Free Source Code
IPO Model Conceptual Framework of Restaurant Food Delivery System
Restaurant Food Delivery System Free Download Bootstrap Source code