Restaurant Automation: Difference between revisions

From CS486wiki
Jump to navigationJump to search
Content deleted Content added
No edit summary   (change visibility)
 
(45 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Introduction==
[[File:Example.jpg]]
Restaurant Automation is a software product which have different screens in kitchen and in front of cashiers , reports and inventory modules which are embedded and customers use Ipad for ordering their orders. Before this system, waiters were taking orders and manager of restaurant was calculating sales revenue, restaurant expenses manually. So that making mistake about taking order or calculating sales revenue and restaurant expenses was so easy and also it means much workload for all employees.
ahaha
===Purpose of This Project===
[[File:screen1.jpg]]
Purpose of this project; developing a system which orders can be taken correctly from an IPad, minimizing loss of time and workload, making restaurants more attractive. Reports of sales, product-in and inventory can be taken correctly, calculating sales revenue fast and the most important part is controlling inventory of restaurant efficiently.

==Major Problems of Restaurant Automation Systems and Benefits of Our Project to Restaurants==
* Waiters' main mission is serving so if they are taking orders and transmitting the order to kitchen or somewhere else, this is extra workload.
* Bills can be confused. Items which are not eaten from customers can be added to bill or another customer's check.
* Reports cannot be controlled correctly.
* Orders can be confused. Items in the order can be served wrong customers.
* Employers hire number of unnecessary people because of extra workload.
* Employers don't know how much they exactly earn money.
* If restaurants have too much floor, transmitting to order is too difficult.
* Performance measuring is very difficult.
* Inventory tracking is too hard.
* IPad using is a different way and it's more attractive.
* It will be more technologic so that customers will have good impression about the restaurant.

As a result; all restaurants or buffets which work in food sector, they all need this system for their own sake.

==Technical Documentation==
* Kitchen Module : C# Desktop Application, MS SQL Server Express Edition
* Cashier Module : C# Desktop Application, MS SQL Server Express Edition
* Admin Module : C# Desktop Application, MS SQL Server Express Edition
* Customer Module : Monotouch Technology for Ipad Development , MS SQL Server Express Edition

===Software Technologies===
In database of our project , we used MS SQL Server Express Edition because it is a free version. If the restaurant expands , database can be migrated to MS SQL Server Professional Edition. It will be easy with migration solutions which are between MS SQL Server Express Edition and MS SQL Server Professional Edition.
In IPad application, we used Monotouch technology. Because we were familiar with C# and .NET libraries. MonoTouch developed by Novell is an API that allows developers to create C# and .NET based applications that run on Apple's iPhone and Apple's iPod Touch devices while taking advantage of the iPhone APIs and reusing both code and libraries that have been built for .NET, as well as existing skills.[1]

===Hardware===
The list of required hardware for this project.
* 1 PC for cashier
* 1 PC for kitchen and big lcd screen
* Ipads for customers
* 1 laptop or netbook for administrator ( manager or owner of the restaurant)


==Modules of Restaurant Automation==
===Kitchen Module===
When customer is done with ordering, the order is seen on the screen which is located in kitchen. When the order is ready, order on the screen is checked by somebody in kitchen.


[[File:kitchen.jpg]]

===Cashier Module===
When customer is done with ordering, components in the order and their prices is seen on the screen which is located in front of the cashier with table number. When customer wants to check from Ipad, his check request warns the cashier with a ring tone. When cashier clicks table button, contents of order and total price is seen on the screen. After closing table process, table is free again.

[[File:TABLES.jpg]]


[[File:orderdetailforcashier.jpg]]

===Admin Module===
Reports , Inventory and Ingredients of food is handled in this module. This is the most important part of the project. In reports, admin can see everything. We expanded report part as possible as we can. In inventory part, there will be product in , products etc. When admin wants to add food to restaurant menu, he will add all of it's ingredients with their quantity. We allow users to get reports in Word, PDF and Excel also print option.

====Login Screen====
Login process, user login to the system with his own role, admin or user.

====Main Screen====
This screen allows to user edit, add, delete items, product in processes, users, tables, personnel of the restaurant and seeing reports of the restaurant if user role is admin.

[[File:Admin.jpg]]

====Items====
This screen allows to user adding, deleting and editing items and items details , which are in restaurant menu and will be shown in Ipad, which customers use.
Item Detail screen is related to Item Page. If user clicks new item or edit item buttons , this screen will be popped up. It allows to user adding, editing item detail information.

[[File:items2.jpg]] [[File:itemdetails.jpg]]

====Product In====
Restaurant Automation is an inventory integrated system so Product In is one of the most important processes in our system. This screen allows to user adding, editing and deleting product information which is bought from restaurant date by date.

====Users====
This screen allows to user adding, editing and deleting user which use Restaurant Automation system. Passwords are stored in database in MD5 encryption based.

====Tables====
This screen allows to user adding, editing and deleting table information which are located in restaurant. These tables are shown in Ipad part of the program, when customer sits table.

====Personnel====
This screen allows to user adding, editing and deleting personnel who work in restaurant and their information.

====Reports====
=====Sales Report=====
This report shows items which are ordered in date range which is specified by user. It shows items, their quantities and total prices. So user sees total money which was earned.

[[File:salesreport2.jpg]]

=====Daily Sales Report=====
This report is a live report. It shows to user sales in the restaurant in that day. It's logic is same with Sales Report. It shows items, their quantities and total prices. So user sees total money which is earned in that day.

=====Inventory Report=====
This report is also a live report. It shows to user, items which are in restaurant inventory. When customers order something, ingredients of ordered items subtract from items which are in inventory.

=====Product In Report=====
This report shows user to product in processes which are in restaurant.


===Customer Module===
It is designed as a regular restaurant menu. It has food categories, items, item ingredients, price , picture , average service time etc. Customers add their orders to their cart and after food selection they confirm their order and their orders are in cashier and kitchen modules immediately.
Customers can also give extra orders in their tables. When they are done, they send table close request to cashier.

====Web Service====
We worked on Web Service which is used for communication between our server and Ipad. In web service we are using JSON for creating message and we are parsing the message in both server and client part.
In server part we are getting Category, Item, TableList information from database and we create a Json string then we send it to client. Client parses it and shows necessary information in IPad. When user creates an order or wishes to close the table, we send these information to server part as a Json string again. Then we parse this information then we insert them to the database by SQL Server stored procedure.

====Customer Pages====

=====Tables Page=====
Table Information is selected from server and if table is available it seems green, if it is unavailable it seems red. If table is unavailable it can't be clickable.

=====Categories Page=====
This screen shows categories to customers, which are in restaurant.

=====Items Page=====
This screen shows to user items which are related to their categories.

=====Item Details Page=====
This screen shows details of items to customer and it allows user to add order to his cart.

=====Cart Information Page=====
This screen shows to cart information to customers.

=====Photos of Customer Pages=====
[[File:screen1.png]] [[File:screen2.png]] [[File:screen3.png]] [[File:screen4.png]]


[[File:screen5.png]] [[File:screen6.png]] [[File:screen7.png]] [[File:screen8.png]]


===Data Flow Diagram of Restaurant Automation===

[[File:dfd.jpg]]


==Database of Restaurant Automation==

Our database structure is listed below:

[[File:dbstructure.jpg]]


==Conclusion==
With this project:
* Extra workload can be prevented.
* Bill confusing can be prevented.
* Reports can be controlled correctly.
* Order confusing can be prevented.
* Unnecessary number of employee hiring can be prevented.
* Employers know how much they exactly earn money easily.
* Package service tracking can be tracked easily.
* Inventory tracking is easier.


==References==
* [http://xamarin.com/monotouch Monotouch]

==Team Members==

Restaurant Automation project is developed by Ahmet Tezcan TEKIN and Burak KAHRAMAN as a senior project.

[[File:Seniorproject.jpg]]

Latest revision as of 15:32, 8 May 2013

Introduction

Restaurant Automation is a software product which have different screens in kitchen and in front of cashiers , reports and inventory modules which are embedded and customers use Ipad for ordering their orders. Before this system, waiters were taking orders and manager of restaurant was calculating sales revenue, restaurant expenses manually. So that making mistake about taking order or calculating sales revenue and restaurant expenses was so easy and also it means much workload for all employees.

Purpose of This Project

Purpose of this project; developing a system which orders can be taken correctly from an IPad, minimizing loss of time and workload, making restaurants more attractive. Reports of sales, product-in and inventory can be taken correctly, calculating sales revenue fast and the most important part is controlling inventory of restaurant efficiently.

Major Problems of Restaurant Automation Systems and Benefits of Our Project to Restaurants

  • Waiters' main mission is serving so if they are taking orders and transmitting the order to kitchen or somewhere else, this is extra workload.
  • Bills can be confused. Items which are not eaten from customers can be added to bill or another customer's check.
  • Reports cannot be controlled correctly.
  • Orders can be confused. Items in the order can be served wrong customers.
  • Employers hire number of unnecessary people because of extra workload.
  • Employers don't know how much they exactly earn money.
  • If restaurants have too much floor, transmitting to order is too difficult.
  • Performance measuring is very difficult.
  • Inventory tracking is too hard.
  • IPad using is a different way and it's more attractive.
  • It will be more technologic so that customers will have good impression about the restaurant.

As a result; all restaurants or buffets which work in food sector, they all need this system for their own sake.

Technical Documentation

  • Kitchen Module  : C# Desktop Application, MS SQL Server Express Edition
  • Cashier Module  : C# Desktop Application, MS SQL Server Express Edition
  • Admin Module  : C# Desktop Application, MS SQL Server Express Edition
  • Customer Module : Monotouch Technology for Ipad Development , MS SQL Server Express Edition

Software Technologies

In database of our project , we used MS SQL Server Express Edition because it is a free version. If the restaurant expands , database can be migrated to MS SQL Server Professional Edition. It will be easy with migration solutions which are between MS SQL Server Express Edition and MS SQL Server Professional Edition. In IPad application, we used Monotouch technology. Because we were familiar with C# and .NET libraries. MonoTouch developed by Novell is an API that allows developers to create C# and .NET based applications that run on Apple's iPhone and Apple's iPod Touch devices while taking advantage of the iPhone APIs and reusing both code and libraries that have been built for .NET, as well as existing skills.[1]

Hardware

The list of required hardware for this project.

  • 1 PC for cashier
  • 1 PC for kitchen and big lcd screen
  • Ipads for customers
  • 1 laptop or netbook for administrator ( manager or owner of the restaurant)


Modules of Restaurant Automation

Kitchen Module

When customer is done with ordering, the order is seen on the screen which is located in kitchen. When the order is ready, order on the screen is checked by somebody in kitchen.


                      

Cashier Module

When customer is done with ordering, components in the order and their prices is seen on the screen which is located in front of the cashier with table number. When customer wants to check from Ipad, his check request warns the cashier with a ring tone. When cashier clicks table button, contents of order and total price is seen on the screen. After closing table process, table is free again.

                      


                                        

Admin Module

Reports , Inventory and Ingredients of food is handled in this module. This is the most important part of the project. In reports, admin can see everything. We expanded report part as possible as we can. In inventory part, there will be product in , products etc. When admin wants to add food to restaurant menu, he will add all of it's ingredients with their quantity. We allow users to get reports in Word, PDF and Excel also print option.

Login Screen

Login process, user login to the system with his own role, admin or user.

Main Screen

This screen allows to user edit, add, delete items, product in processes, users, tables, personnel of the restaurant and seeing reports of the restaurant if user role is admin.

                               

Items

This screen allows to user adding, deleting and editing items and items details , which are in restaurant menu and will be shown in Ipad, which customers use. Item Detail screen is related to Item Page. If user clicks new item or edit item buttons , this screen will be popped up. It allows to user adding, editing item detail information.

        

Product In

Restaurant Automation is an inventory integrated system so Product In is one of the most important processes in our system. This screen allows to user adding, editing and deleting product information which is bought from restaurant date by date.

Users

This screen allows to user adding, editing and deleting user which use Restaurant Automation system. Passwords are stored in database in MD5 encryption based.

Tables

This screen allows to user adding, editing and deleting table information which are located in restaurant. These tables are shown in Ipad part of the program, when customer sits table.

Personnel

This screen allows to user adding, editing and deleting personnel who work in restaurant and their information.

Reports

Sales Report

This report shows items which are ordered in date range which is specified by user. It shows items, their quantities and total prices. So user sees total money which was earned.

                       
Daily Sales Report

This report is a live report. It shows to user sales in the restaurant in that day. It's logic is same with Sales Report. It shows items, their quantities and total prices. So user sees total money which is earned in that day.

Inventory Report

This report is also a live report. It shows to user, items which are in restaurant inventory. When customers order something, ingredients of ordered items subtract from items which are in inventory.

Product In Report

This report shows user to product in processes which are in restaurant.


Customer Module

It is designed as a regular restaurant menu. It has food categories, items, item ingredients, price , picture , average service time etc. Customers add their orders to their cart and after food selection they confirm their order and their orders are in cashier and kitchen modules immediately. Customers can also give extra orders in their tables. When they are done, they send table close request to cashier.

Web Service

We worked on Web Service which is used for communication between our server and Ipad. In web service we are using JSON for creating message and we are parsing the message in both server and client part. In server part we are getting Category, Item, TableList information from database and we create a Json string then we send it to client. Client parses it and shows necessary information in IPad. When user creates an order or wishes to close the table, we send these information to server part as a Json string again. Then we parse this information then we insert them to the database by SQL Server stored procedure.

Customer Pages

Tables Page

Table Information is selected from server and if table is available it seems green, if it is unavailable it seems red. If table is unavailable it can't be clickable.

Categories Page

This screen shows categories to customers, which are in restaurant.

Items Page

This screen shows to user items which are related to their categories.

Item Details Page

This screen shows details of items to customer and it allows user to add order to his cart.

Cart Information Page

This screen shows to cart information to customers.

Photos of Customer Pages



Data Flow Diagram of Restaurant Automation

                                


Database of Restaurant Automation

Our database structure is listed below:


Conclusion

With this project:

  • Extra workload can be prevented.
  • Bill confusing can be prevented.
  • Reports can be controlled correctly.
  • Order confusing can be prevented.
  • Unnecessary number of employee hiring can be prevented.
  • Employers know how much they exactly earn money easily.
  • Package service tracking can be tracked easily.
  • Inventory tracking is easier.


References

Team Members

Restaurant Automation project is developed by Ahmet Tezcan TEKIN and Burak KAHRAMAN as a senior project.