Smart Restaurant. A Management Application for Restaurants and Hotels

Scientific Essay, 2017

62 Pages, Grade: 10.8

Abish Gurung (Author)






1.3.1. Primary Objectives
1.3.2. Secondary Objectives


3.1.1 Language
3.1.2 Framework
3.1.3 Software
3.1.4 Version Control and Project Management
3.2.1 Role base access control
3.2.2 Business to consumer model

4.1 Use Case and Operation Contracts
4.2 Activity Diagram
4.3 Domain Model
4.4 Entity-Relation (ER) Diagram
4.5 System Sequence Diagrams
4.6 Interaction Diagram (Sequence Diagrams)

Chapter 5 TESTING
5.1 Scope
5.2 Test Objectives
5.3 Testing Goals
5.4 What were tested
5.5 Entrance Criteria
5.6 Exit Criteria
5.7 Test Execution
5.8 Test Result







Figure 4- 1: Use case diagram for the user and system interaction.

Figure 4- 2: Use case diagram for Super Admin.

Figure 4- 4: Use case diagram for Registered User

Figure 4- 5: Activity Diagram for User Registration.

Figure 4- 6: Activity Diagram for Ordering.

Figure 4- 7: Activity Diagram for Manage

Figure 4- 8: Activity Diagram for Super Admin User Roles Management.

Figure 4- 9: Domain Model.

Figure 4- 10: ER Diagram.

Figure 4- 11: SSD for Super Admin.

Figure 4- 12: SSD for Manager.

Figure 4- 13: SSD User(Customer).

Figure 4- 14: Sequence Diagram for User Registration.

Figure 4- 15: Sequence Diagram for User Login.

Figure 4- 16: Sequence Diagram for Shopping.

Figure 4- 17: Sequence Diagram of Manager to add Product.

Figure 4- 18: Sequence Diagram of Manager to Update Product.

Figure 4- 19: Sequence Diagram of Manager to Delete Product.

Figure 4- 20: Sequence Diagram of Super Admin to view or delete user.

Figure 4- 21: Sequence Diagram of Super Admin to assign/Revoke Roles.

illustration not visible in this excerpt


TABLE6-1 Test Results...


illustration not visible in this excerpt



Popularity of restaurants has increased in recent years. The general practice in a restaurant involves the customer making his order and waiting for the ordered meal. However, the complaints received from customers regarding services offered in restaurants has increased too. This feeling of dissatisfaction is caused by many reasons, namely, delay in delivering customer’s order. Advancement in communication technologies can be used to resolve these issues. Accordingly, this removing the limitations in the food ordering process, with the help of an integrated and networked system. This application involves the use of mobile phones for undertaking the food ordering process in restaurants.

Nowadays web services technology is widely used to integrate heterogeneous systems and develop new applications. Here an application of integration of hotel management systems by web services technology is presented. Smart Restaurant integrates lots of systems of hotel industry such as Ordering System Kitchen Order Ticket (KOT), Billing System and various services booking. This integration solution can add or expand hotel software system in any size of hotel chains environment.

This system increases quality and speed of service. This system also increases attraction of place for large range of customers. Implementing this system gives a cost-efficient opportunity to give your customers a personalized service experience where they are in control choosing what they want – from dining to ordering to payment and feedback.


Traditionally the method in which customers specify their desired menu to the waiter who takes the order on a paper. Personally, he then takes the order to the kitchen department and then he supply the food item to the customer. So, it was a time-consuming process. It leads to wastage of paper and also it requires reprinting of all menu cards. Also, in many cases for small change to be making in menu card it is not convenient to print all menu cards again and again. Simply saying that the menu card once printed can’t be changed. After some days, the menu card lost its worthy look and attractiveness.

Many of the hotel are managed their workflow and services by paper work and manually which take time and high budget for management. busy day of people schedule and value of time become important day by day so Smart Restaurant handle the system as booking and ordering by digitally which become save manpower and time of staff of hotel. Generating KOT by application is easy to save paper, staff and time. The hotel are services and facilized in a traditional way, from waiters to kitchen also on account. More recently, these system is one of the major problem for hotel to manage their manpower and guests.


1.3.1. Primary Objectives

The main objective of this project is to make the ordering system of restaurant digital and effective. People would not have to wait for ordering the food and any kind of booking services which will be eliminating delay in services.


- To provide a feature rich for Digital KOT service
- To provide efficient management of users divided in 3 general categories as Guest User, Waiters/kitchen and Account.
- To build a feature rich for Automatic billing.
- To provide efficient Kitchen Display of KOT

1.3.2. Secondary Objectives

- To enable guest to search and view the menus of hotel and their restaurant.
- To provide a platform itself being a select and order the menus and book services.


This Project aims to provide services and hospitality by digitally in the hotel area. There are already a couple of hotel management site and application for ordering and booking services in Hotel. But Smart Restaurant would be a first in its kind and a unique application to mainly focus on the guest and staff of hotel. For a developing country like ours where the literacy rate is below the average, this project might help the hotel owner, manager and supervision to get/server their better service to their Customers onto a platform that really is built for one and only them.

There is a great necessity of such apps that would collaborate to reduce the management risk and promote the hotel. This project aims to provide a platform where people can view, search and order at a very effective and easy manner without any hard processes and tedious payment gateways. So, it must be a great concern to build such a product like this project.


There are many billing and accounting software available in market being used in the hotel and restaurant sector, and most commonly we find the software called “Swastik Restaurant ERP”, ALICE, ChowNow.

Swastik Restaurant ERP, is a desktop based Restaurant Management Software which is designed to provide restaurants all the features and tools which is required for smooth order, Billing, Operation, Accounting and Management. It is highly customized and User-Friendly Software that is used for any restaurant type including fine dining restaurants, fast food chains, cafes, bars, etc.

ALICE features both department-specific apps (Staff, Guest, and Concierge) as well as an overarching suite you can use for better operating efficiency across your property. With ALICE Staff, users can expect features such as internal messaging to keep in touch with staff members as well as the ability to manage and assign tickets. ALICE Concierge is helpful for those at the front desk, enabling employees to integrate your property management system to access important guest information and allowing you to track all requests within one system, including incidents, reservations, transportation services, wake-up calls, and more.

What’s most exciting about this app is its Guest component, where guests can voice their needs and desires, giving them real-time status updates and notifications on the progress of a particular service. Guest tracking metrics are also available on all requests and reservations. ALICE is available for both iOS and Android operating systems.

ChowNow is online food ordering system that includes Facebook ordering, smart phone and web based ordering. This application is mainly developed to assist the customer where any customer can order food online and can take advantage of food delivery and take out features. ChowNow apps provides the credit card payment options and payment is transferred to bank accounts.



The system is developed using the following tools:

3.1.1 Language

- JavaScript

JavaScript is a high-level, dynamic, untyped, and interpreted programming language which is used alongside HTML and CSS. JavaScript is easy to learn easy to edit and prototyping language easy to debug object oriented scripting language which allows you to create highly responsive interfaces that improve the user experience and provide dynamic functionality, without having to wait for the server to react and show another page. (wikipedia,, 2016)

- Python

Python is a dynamically typed programming language designed by Guido Van Rossum. Much like the programming language Ruby, Python was designed to be easily read by programmers. Because of its large following and many libraries, Python can be implemented and used to do anything from webpages to scientific research. Python features a dynamic type system and automatic memory management and supports multiple programming paradigms, including object-oriented, imperative, functional programming, and procedural styles. It has a large and comprehensive standard library.

Python interpreters are available for many operating systems, allowing Python code to run on a wide variety of systems. Python, the reference implementation of Python, is open source software and has a community-based development model, as do nearly all of its variant implementations. Python is managed by the non-profit Python Software Foundation.

3.1.2 Framework

- Django

Django is a free and open source web application framework, written in Python. A web framework is a set of components that helps you to develop websites faster and easier. When you're building a website, you always need a similar set of components: a way to handle user authentication (signing up, signing in, signing out), a management panel for your website, forms, a way to upload files, etc.

Luckily for you, other people long ago noticed that web developers face similar problems when building a new site, so they teamed up and created frameworks (Django being one of them) that give you ready-made components to use. Frameworks exist to save you from having to reinvent the wheel and to help alleviate some of the overhead when you’re building a new site.

- Vue.js

Vue.js (commonly referred to as Vue; pronounced is an open Source progressive JavaScript framework for building user interfaces. Integration into projects that use other JavaScript libraries is made easy with Vue because it is designed to be incrementally adoptable. Vue can also function as a web application framework capable of powering advanced single-page-application.

3.1.3 Software

- WebStorm

WebStorm is lightweight yet powerful Integrated Development Environment perfectly equipped for complex client-side development and server-side development with Node.js.

WebStorm features advanced support for JavaScript, HTML, CSS and their modern successors, as well as for frameworks such as AngularJS or React, debugging, and integration with the VCS and various web development tools:

Intelligent Editor with coding assistance for JavaScript, Node.js, ECMAScript 6, TypeScript, CoffeeScript, and Dart as well as HTML, CSS, Less, Sass and Stylus. Coding assistance includes syntax highlighting, documentation lookup, and refactoring’s.

- On-the-fly code analysis, error highlighting, and quick fixes.
- Powerful navigation across the project and advanced refactoring’s.
- Support for modern frameworks: AngularJS, React, Meteor, Express and more.
- Built-in debugger for the client-side code and Node.js.
- Integration with the build tools (Grunt, Gulp), code quality tools (JSHint, JSLint, ESLint, JSCS), test runners (Karma, Mocha) and VCS (Git, GitHub, Mercurial, SVN).
- VCS Integrations: out-of-the-box support for Subversion, Perforce, Git, and CVS with change lists and merge.
- Adobe Photoshop

Adobe Photoshop is a raster graphics editor for Windows and OS X. It can edit and compose raster images in multiple layers and supports masks, alpha compositing and several color models including RGB, CMYK, Lab color space, spot color and duotone.

3.1.4 Version Control and Project Management

- Git and GitHub

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. It is a distributed revision control system with an emphasis on speed, data integrity, and support for distributed, non-linear workflows.

GitHub is a Web-based Git version control repository hosting service. It is mostly used for Computer Code It offers all of the distributed version control and source code management (SCM) functionality of Git as well as adding its own features. It provides access control and several collaboration features such as bug tracking, feature request, task management and wikis for every project. GitHub offers both plans for private and free repositories on the same account which are commonly used to host open-sources software projects. As of April 2017, GitHub reports having almost 20 million users and 57 million repositories, making it the largest host of source code in the world.


3.2.1 Role base access control

Role-based access control (RBAC) is an approach to restricting system access to authorized users. It is used by the majority of enterprises and can implement mandatory access control (MAC) or discretionary access control (DAC). RBAC is sometimes referred to as role-based security.

Role-based-access-control (RBAC) is a policy neutral access control mechanism defined around roles and privileges. The components of RBAC such as role-permissions, user-role and role-role relationships make it simple to perform user assignments. RBAC can be used to facilitate administration of security in large organizations with hundreds of users and thousands of permissions. Although RBAC is different from MAC and DAC access control frameworks, it can enforce these policies without any complication. Its popularity is evident from the fact that many products and businesses are using it directly or indirectly.

Within an organization, roles are created for various job functions. The permissions to perform certain operations are assigned to specific roles. System users are assigned particular roles, and through those role assignments acquire the computer permissions to perform particular computer-system functions. Since users are not assigned permissions directly, but only acquire them through their role (or roles), management of individual user rights becomes a matter of simply assigning appropriate roles to the user's account; this simplifies common operations, such as adding a user, or changing a user's department. (Wikipedia, 2016)

Three primary rules are defined for RBAC:

Role assignment: A subject can exercise a permission only if the subject has selected or been assigned a role.

Role authorization: A subject's active role must be authorized for the subject. With rule 1 above, this rule ensures that users can take on only roles for which they are authorized.

Permission authorization: A subject can exercise a permission only if the permission is authorized for the subject's active role. With rules 1 and 2, this rule ensures that users can exercise only permissions for which they are authorized.

Additional constraints may be applied as well, and roles can be combined in a hierarchy where higher-level roles subsume permissions owned by sub-roles.

3.2.2 Business to consumer model

B2C, or business-to-consumer, is the type of commerce transaction in which businesses sell products or services to consumers. Traditionally, this could refer to individuals shopping for clothes for themselves at the mall, diners eating in a restaurant, or subscribing to pay-per-view TV at home. More recently, the term B2C refers to the online selling of products, or e-tailing, in which manufacturers or retailers sell their products to consumers over the Internet.

The mid-1990s to the 2000s saw the rise of e-commerce through sites like Amazon, Zappos and Victoria's Secret. Now, it's rare to see a consumer-based business not sell their products online. Consumers enjoy the convenience of online shopping in their own homes, while businesses thrive on the low overhead. With a virtual storefront, a business doesn't need a storefront or a large inventory stocked at all times. This is ideal for small businesses, like a jewelry company or a bakery.

There are challenges for businesses in B2C, however. As websites continue to become flashier and more user-friendly, it's up to the business to keep their site intuitive and easy to navigate. The site must also be optimized to get consumer traffic — search engine marketing (SEM) is a necessity. Most consumers use search engines like Google, Bing and Yahoo! to find the products that they are looking to purchase. Customers generally choose websites on the first few pages of results after they've searched a specific keyword or phrase. If a site does not have a site with good SEM, they could get buried in the mix, lose site traffic, and thus lose potential customers.

Another challenge is the payment processing. SSL encryption lets people know that the site isn't compromised, but many people are hesitant to submit their credit cards to companies. Even if the site is safe, the place where the credit card numbers are stored is not. In 2004, the Payment Card Industry Security Standards Council (PCI) formed to create compliance standards for any company processing credit cards. Services like PayPal can perform the payment processing for online vendors, and has proven to be popular with online shoppers and businesses.


4.1 Use Case and Operation Contracts

The overall system consists of a Super Admin, any number of Managers and the general customers. The customer interacts with the system in two ways; either as a web customer or a registered customer. The web customer can view and browse the system and can register to get the other access to the system. The registered customer has a couple more access and permissions than the general web customer/user. The registered customer can view items, make purchase and check out to confirm their purchase. The system authenticates the registered users and provide them with access and permissions. The overall process can be depicted in the use case diagram below.

Abbildung in dieser Leseprobe nicht enthalten Figure 4- 1 : Use case diagram for the user and system interaction.

The System Operation Contracts for above use case are depicted below:

illustration not visible in this excerpt

Abbildung in dieser Leseprobe nicht enthalten

illustration not visible in this excerpt

- Super Admin

Super Admin owes the overall control and responsibility to the system. The super admin has the prime right and access to the system. A super admin can add or remove features to the project or even has the complete right to discontinue or destroy the project. A super admin can add new manager or remove existing manager. He/she can permit necessary rights and authorities control to the manager. Super admin can even add, remove, verify or modify products, categories and users. The overall super Admin panel can be represented in the use case shown below.

Figure 4- 2: Use case diagram for Super Admin.

The System Operation contracts for Super Admin Use case are shown below:

illustration not visible in this excerpt


Excerpt out of 62 pages


Smart Restaurant. A Management Application for Restaurants and Hotels
Institute of Engineering
Catalog Number
ISBN (eBook)
ISBN (Book)
File size
904 KB
Quote paper
Abish Gurung (Author)Bamdev Bhandari (Author)Bishnu Sharma (Author)Hari K. C. (Author), 2017, Smart Restaurant. A Management Application for Restaurants and Hotels, Munich, GRIN Verlag,


  • No comments yet.
Look inside the ebook
Title: Smart Restaurant. A Management Application for Restaurants and Hotels

Upload papers

Your term paper / thesis:

- Publication as eBook and book
- High royalties for the sales
- Completely free - with ISBN
- It only takes five minutes
- Every paper finds readers

Publish now - it's free