27
OrderNow – Android based Restaurant Management System By Omkar Hande

Order now – restaurant management system

Embed Size (px)

DESCRIPTION

Android based restaurant management system. Consists of customer & waiter interfaces. Customer can add items to card and order. Waiter approves all requests

Citation preview

Page 1: Order now – restaurant management system

OrderNow – Android based Restaurant Management System

By Omkar Hande

Page 2: Order now – restaurant management system

Contents

Application Design

User Interfaces & Key features

Customer’s UI

Waiter’s UI

Manager’s Web UI

Database design

Technologies Used

Project metrics

Page 3: Order now – restaurant management system

Application Design

Page 4: Order now – restaurant management system

Application Design - Layers

There are 3 layers to this application

1. Application layer – Android UI & Manager’s Web layout This layer stores majority of the application logic.

2. Service Layer or Data Access Layer – PHP Scripts that facilitate communication between Android and MySQL (or any other database). This layer stores some logic, for instance, if say a user tries to add an item to the cart when there is no open order against his name, this layer will go ahead and create one automatically

3. Database Layer – Where all the data is stored. This layer has little or no logic stored in it. Most of the operational steps are carried out by the service layer

Page 5: Order now – restaurant management system

Application Design – Schematic View

2. S

ends

HTT

P

Requ

est t

o se

rver

5. S

ends

dat

a in

JSON

form

at

3. Connects to DB

Server, send query

to run

4. Runs query, sends

back resource handle

1. Asks for Today’s

Specials

6. Loads the view

with Today’s

Specials

USER

DEVICE

MySQL SERVER

Ap

plicati

on

Layer

Serv

ice

Layer

Data

base

Layer

SERVER

Page 6: Order now – restaurant management system

User Interface & Key features

Page 7: Order now – restaurant management system

Customer Android UI – Key Features

Consists of swipe-able tabs

There are 5 tabs in customer’s interface: Today’s Specials – Consists of Today’s special menu items

Menu – Complete Menu

Cart – Items added to cart before placing order

Feedback – To submit feedback on the service/food

About Us – About the restaurant

Page 8: Order now – restaurant management system

Customer Android UI – App Screenshots

Today’s Special Tab – Enlists today’s recommendations

Menu Tab – Categorized group wise

Item Popup - Description with picture pops-up on clicking a menu item

Page 9: Order now – restaurant management system

Customer Android UI – App Screenshots

Cart – Stores all the items added to cart. Items can be deleted by swiping the item to left/right. A refresh button is also included

Feedback– Customers can send feedback regarding service

Page 10: Order now – restaurant management system

Customer Android UI – App Screenshots

App is designed to work in landscape mode as well

Page 11: Order now – restaurant management system

Waiter Android UI - Key Features

Consists of 3 swipe-able tabs Update Approvals – To approve addition/deletion requests of customes

Order Approvals – Orders waiting to be placed

Billing Approvals – Orders pending for billing

Page 12: Order now – restaurant management system

Waiter Android UI – App Screenshots

Update Requests – List of all the addition/deletion requests

New Orders – List of all orders pending to be placed

Order Approval – Enlist order items prior to approval

Page 13: Order now – restaurant management system

Waiter Android UI – App Screenshots

Unbilled – Orders pending for billing.

Approval Confirmation – Once waiter approves this, the bill is processed

Page 14: Order now – restaurant management system

Manager’s Web UI (link)

Page 15: Order now – restaurant management system

Manager’s Web UI

Manager UI does the following tasks: Set specials menu

Add new user (customer, waiter or admin)

Add new items

Send messages to GCM registered devices

Page 16: Order now – restaurant management system

Database Design

Page 17: Order now – restaurant management system

Database Design

There are 8 tables in total

Each table as its own Auto-Increment ID that is used as a primary key

There are no foreign key constraints as of now

No form of logic such as triggers or events are stored in database – All actions are performed by the data access layer (PHP Scripts)

Page 18: Order now – restaurant management system

Database Design - Tables

Items – stores details of all items such as its name, price, category

Users – stores details of all the users – customers, waiters and administrators

Order – stores name of the order along with a timestamp and id of the linked customer

Order_details – stores the items corresponding to each order

Requests – stores all the Add/Delete update requests

Pairs – stores which waiter is assigned to which table (customer)

Feedback – stores feedbacks corresponding to orders

Groups – stores the categories of items (starters, main course etc.)

Page 19: Order now – restaurant management system

Database Design – EER Diagram

Page 20: Order now – restaurant management system

Technologies Used

Page 21: Order now – restaurant management system

Android SDK

Android is an open source mobile operating system by Google. The controllers here are written in Java while the UI components are written in XML

Most popular mobile platform today with over 900 Million smartphone activations

Android comes with a highly detailed and exhaustive documentation and also has a large developer base

This app is compatible with latest version of Android (API Level 19) – KitKat 4.4.2

Requires minimum API Level 14 - Android Ice Cream Sandwich 4.0

Page 22: Order now – restaurant management system

Google Cloud Messaging (GCM)

Free messaging service from Google

Allows sending messages from server to any Android powered device

Cloud recognizes devices using a unique GCM Registration ID that is assigned by Google to the device as it establishes connection with the cloud

Once registration IDs are in place, we can send messages between devices. This app uses GCM to send notifications between customers and waiters

Page 23: Order now – restaurant management system

MySQL Server

Great for Web Applications (even Facebook uses MySQL)

Easy to learn & use

Very fast reads (faster than Oracle)

Less restrictive on syntax unlike Enterprise DBMS like Oracle

Recommended DBMS for PHP

Scalability can be a caveat

Page 24: Order now – restaurant management system

JQuery plugins

Chosen library – custom select and multi select boxes

JQuery Form library – makes form handling easier

Page 25: Order now – restaurant management system

Project Metrics

Total Lines of code JAVA Code – 6713 lines

PHP Code – 21100 lines

Calculated using

git ls-files | xargs wc –l

On Git repository

Page 26: Order now – restaurant management system

Possible Improvements

Caching data

Use Sync Adapters

Compatibality with lower versions of android (currently works for 4.0 and above)

Page 27: Order now – restaurant management system

Thank You!

Omkar Hande