Digital Menu Cards for Restaurants and Ordering System Using QR Code Scanning

by MP CHANNELS 17 days ago in list

Full Project Demo with Screenshots and Working Video

Digital Menu Cards for Restaurants and Ordering System Using QR Code Scanning
Home Page of Website

Introduction

The ”Digital Menu Cards for Restaurants and Ordering System Using QR Code Scanning” is an entirely new system to handle the ordering systems inside a hotel or restaurants. This project offers an efficient ordering system for the hotels and restaurants. This Online Restaurants Menu Card System helps you to Streamline your operations to meet customers expectations. A flexible restaurant management system which helps you to be more systematic and quick in your services to customers. Its fast and time management system for customers and as well as the hotel managements.

The entire project is developed using Django and deployed in Heroku. The storage space required while deploying the project is acquired using Amazon Web services. The proposed system has following modules incorporated in it. They are User Module, Food Item Management Module, Category Module, Confirm Order Module, Payment Module, Comment Module and Rating Module.

This Digital Menu Card System has been developed to override the problems prevailing in the manual ordering systems. This software eliminates and reduces the hardship faced in the menu card systems. Moreover this is developed particularly for smooth and efficient functioning of the administration.

This application possibly reduces the error of serving wrong orders to the customers. No formal knowledge is required to use this software. It is user-friendly. The main objective of this application is an efficient management of details of Food item, cart, category, order, customer. It manages all the information securely and the project is totally built on the administrator’s end .

Proposed System

The proposed system helps in elimination or the reduction of the manual works and the reduction of money spent on the man power. The proposed system helps the administration to operate and manage their resources smoothly and efficiently.

In these system we have a QR Code in the menu card in each table of the restaurant. For more details about the food stuff you just scan the QR Code. After the QR Code scanning the customer gets into our website home page displaying the menu items and their respective price.

In the above home page one can see the entire detail about the food stuff selected.

Disadvantages of Existing System

  • Time consuming process.
  • Need of paper for printing menu cards.
  • Need more manpower.
  • More amount of manual work to be accomplished.
  • Chances of serving wrong dishes to customers.
  • Lacks customer satisfaction.
  • Daily Updates are not possible through printed menu cards.

Advantages of Proposed System

  • Decreases the load of the person involved in the existing manual system.
  • Accuracy in work.
  • Work becomes very speedy.
  • Easy to update information.
  • It contains better storage capacity.
  • It tracks all the information of category, orders etc.
  • Manages and integrates all the information of the customers.
  • Editing, adding and deleting of food items is easy and cost free.

Project Tools

Django - Web Framework

Back end Python 3.8 - Back end Programming language

PostgreSQL - databases

Front end - HTML 5, CSS 3, Bootstrap, JavaScript

QR code Generation - JavaScript , JQuery

Deployment Activity - Heroku app server

Amazon Web Services - S3 Bucket Storage Allocation

System Module Design and Implementation

User Module

The main aim of the module is to provide all the functionalities related to the users. It tracks all the information and details about the users. We have provided all the signup, read, ordering functionalities to this module. This is a role based module where admin can perform each and every operation on user data but users can only view his/her data. Thus access level restrictions has been implemented on the project. The admin can view the last login time of the users also.

Cart and Checkout Page

Food Item Management Module

The main aim of developing this module is to manage all the details of food items being served in the restaurant. So all the records of the food items can be update by the admin and the customers can view the food item lists. Also the module manages the order detail i.e the food items ordered and the details of the table number, where that food item has to be served. The customers can view the making video of the food item they want to order and they can also rate the food item.

Add to Cart Page

Category Management Module

This module manages the categories being served in the restaurant. It provides the customers an view to know the food categories available. This is categories the food items into drinks, lunch, dinner, breakfast etc. This helps the customers to easily access to their favorite food item. The food items are categorized as per the admin needs. Admin can alter the category as they require.

Confirm Order Module

The main aim of this module is provide all the functionality related to confirm order. So all confirm order will be managed by admin and customer will be able to see confirm order. It tracks all the information and details of the confirm order. Admin can Only edit and update the record of the confirm order.

My Order Page

Comment Module

The main aim of developing this module is to get the feedback of the food items from customers. The number of comment of each food item is displayed to the customers. All the comments are visible to the customers.

We have developed this comments using Django comments. Django includes a comments framework. This framework can be used to attach comments to any model, so you can use it for comments on food items or anything else.

Rating Module

This module is to allow the users to rate each food item. The rating of a food item is taken as average ratings of all the customers. Admin cannot alter the ratings, the rating is displayed as the average rating of all the users rate. Average ratings are showcased for each food item and the rating status is displayed on Add to Cart Page of the website.

Payment Module

The main purpose for developing this module is to manage the customer’s payment via online or cash on delivery. Admin will manage all cash on delivery record. As per the customer convenience, customer can pay their bills. Admin manages all the payment records of all the customers.

Payment Choice Page

QR Code Scanning Module

In our proposed system we provide a QR Code on every table which will be regenerated after every 30 seconds. Scanning the QR Code the customers will be taken to our proposed website from where they can access our menu card to place their desired order.There is no need to download any application form the play store and also no need to search for our website over the internet.

Refresh QR Code

Deploying of the project

The implemented system is deployed on heroku free server. Heroku is a cloud platform as a service (PaaS) supporting several programming languages like python, php, ruby, etc. Amazon’s Simple Storage Service (S3 Backets) is the file system for the cloud.

Project Demo Video

Implementation

In this proposed system, a QR Code is regenerated for every 30 seconds. Customers can scan the QR Code in order to access the website we have developed. The customers can pick their desired Food items from the categorized food item list. And add it into their carts. They can place the orders and pay their bills after confirming their orders. The payment can be done through the Stripe payment or can pay on desk after the satisfactory meal. This can be done according to the customers convenience.

Implementation of the Web Pages

The proposed system is majorly developed using the Django web Framework. The basic layout of the website has been developed using HTML, CSS and bootstrap. Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScript. HTML can embed programs written in a scripting language such as JavaScript, which affects the behavior and content of web pages. Django REST framework is a powerful and flexible toolkit for building Web APIs.

Implementation of Payment Module

The main purpose for developing this module is to manage the customer’s payment via online or cash on delivery. Admin will manage all cash on delivery record. As per the customer convenience, customer can pay their bills. Admin manages all the payment records of all the customers. We have developed the payment module using Stripe API. There are many payment services like PayPal , Paytm, Google Pay, etc available in the market to integrate payment gateway in an application.

In many countries, Stripe is the widely used for the transactions with credit and debit cards. By using a payment gateway services / API, we can enable users to do financial transactions with our application.

Stripe Test Mode Payment

We can use the Stripe API in test mode, which does not affect your live data or interact with the banking networks. The API key we use to authenticate the request determines whether the request is live mode or test mode.

The Stripe API differs for every account as it releases new versions and tailor functionality.

Implementation of Social Authentication

Adding Django Social Authentication to our website login page. Python Social Authentication is a library that provides an easy-to-setup social authentication / registration mechanism several web frameworks like Django. We use Django’s build in authentication system. It handles user accounts, groups, permissions and cookie-based user sessions.

In these project users can either sign up using a valid email id or using Facebook or Google account. So these will help to provide a fast sign up and quick delivery of service to customers.

Implementation of Django Filters

In our project website there are many number of food items are listed. For the convenience of customers, we add a small field search in Django called Django Filters. Django-filter provides a simple way to filter down a query set based on parameters a user provides. We can search using the price and name field of the food items and add the food item into cart with no time.

Implementation of QR Code Scanning

In our proposed system, QR code Scanning is the first step to access our web page. By simply scanning the provided Qr code. After that, the customers can accesses our web page easily. There is no need to download any application form the play store and also no need to search for our website over the internet. To maintain the uniqueness of the code the QR Code is regenerated every 30 seconds.

A QR Code is a machine-readable code consisting of an array of black and white squares, typically used for storing URLs or other information for reading by the camera on a smartphone. Basically, a QR code works in the same way as a Bar Code at the supermarket. It is a machine-scanned image that can be read using a Smartphone camera. This feature is implemented using JavaScript and Jquery. The QR code of the proposed system and the add-on are developed using JavaScript.

Creating Databases

In the proposed system the databases has been created using PostgreSQL. PostgreSQL is a free and open-source relational database management system. This largely eliminates the need for read locks, and ensures the database maintains ACID principles. PostgreSQL offers three levels of transaction isolation: Read Committed, Repeatable Read and Serializable. Because PostgreSQL is immune to dirty reads, requesting a Read Uncommitted transaction isolation level provides read committed instead. These DBMS has free to embed in Heroku and it is also good at elastic searching. All the database tables are managed in the admin panel are shown in below figure.

Admin Home Page

Deployment of the Website

The proposed system is deployed on Heroku. Heroku is a cloud platform as a service supporting several programming languages. One of the first cloud platforms, Heroku has been in development since June 2007, when it supported only the Ruby programming language, but now supports Java, Node , Scala, Clojure, Python, PHP, and Go.

When the user sign up with Heroku, you automatically get a pool of free dyno hours to use for the apps locations. When the application runs, it consumes dyno hours.

The required storage space while deploying the entire project was acquired by using the Amazon Web Services (AWS). Amazon Simple Storage Service (S3) is a highly durable and available store that is ideal for storing application content such as media files, static assets, and user uploads. S3 allows you to offload the storage of static files from your app. All files in S3 are stored in buckets.All files sent to S3 belong to a bucket, and a buckets name must be unique across all of S3. Access to the S3 API is governed by an Access Key ID and a Secret Access Key. The access key identifies your S3 user account, and the secret key is a password-like credential that should be stored securely.

RESULTS

In earlier days, food industry has lagged behind alternative industries in adopting new technology. But speedy advances in technology and heightened expectations of customers and have forced the food industry to bring new innovative methods.

Nowadays, the adoption of wireless technology and emergence of mobile devices has a big role within the food industry. The business and services in restaurants are often improved with the mixture of wireless and mobile technologies. The competition in restaurants with regard to business has redoubled with the advancements in food ordering techniques.

In this paper, a digital menu card for restaurants and ordering system using QR code scanning is proposed which is able to streamline the operations to meet customers expectations. The implementation of proposed application uses HTML/CSS and Bootstrap as the front end and at the back end Python, Django Framework along with PostgreSQL database is used.

Future Scope

The traditional menu cards in the restaurants are paper based. Waiters use paper to write the order of customers. The records are stored on paper. As with anything paper based, it is so easy for things to get damaged by Coffee stains etc, or paper being lost due to fire or accidents or just generally lost. There is wastage of time, money, and paper.

As traditional menu cards are paper based, any changes that need to be made in the menu card will lead to wastage. As it will require reprinting of all the menu cards. Also, for small changes it is not possible to print all the menu cards again and again. There is no power to dynamically make any changes in the menu card.

To access a particular record from the stack of papers is not efficient. From the customers point of view, this system is time consuming. As, one has to wait until the waiter comes to take the order, one has to call waiter number of times till he notices it, there can be misinterpretation while the waiter is writing your order on paper, and it might be possible that you are served with a wrong dish.

There has been improvements in the management of restaurants. Each waiter is assigned a group of tables, after taking orders for a table the waiters enter the orders (a list of dishes and drinks ordered by the customer) into the system at the PC. The waiter usually knows of all dishes that are unavailable before taking an order. The system must confirm the availability of dishes. Should an item not be available the system must allow to change or even delete a customers order.

Drinks and desert orders may be taken separately. Kitchen staff sees the dish orders on their screen, prepare them in an appropriate sequence and confirm preparation to the system when complete. When a waiter sees the completion indications on his terminal he collects the items and takes them to the table. At the end of the meal the waiter will have the system print a bill, and he will enter the details of payment for it.

The system keeps track of the numbers of customers served by each waiter and the amount of money taken by each waiter. Making dynamic changes in the menu card, to get rid away from the heap of paper based records, to assure the customer that hell be served with what he has ordered, to get the customer feedback on record.

Conclusion

In this proposed system we have a QR Code in the menu card in each table of the restaurant. For more details about the food stuff one can just scan the QR Code for the details. After the QR Code scanning the customer gets into our website page displaying the menu items and their respective price. In this page one can see the entire detail about the food stuff selected. The existing system of Hotel Management is manual. All the daily routines are carried out manually and the records are maintained in the record books or the registers. The introduction of our project will eliminate a good amount of manual work.

In this proposed restaurant menu card system, displays the food stuffs available there and their respective prices. Along with the displaying of food prices, the customer can also view the making of the foodstuffs. Not only the prices are displayed, but also the making of each food item is made available to the customers. In addition to these features we have an ordering system. Using this ordering system the customer can order their preferences without waiting for the waiters. This concept is satisfactory for both the hotel administration and the customers.

Thank you

list
MP CHANNELS
MP CHANNELS
Read next: Wearables vs The Virus | João Bocas | Engati Engage
MP CHANNELS

Success stays with those who battle it and conquer it.

See all posts by MP CHANNELS