1 / 27

OrderNow – Android based Restaurant M anagement System

OrderNow – Android based Restaurant M anagement System. By Omkar Hande. Contents. Application Design User Interfaces & Key features Customer’s UI Waiter’s UI Manager’s Web UI Database design Technologies Used Project metrics. Application Design. Application Design - Layers.

sanjiv
Télécharger la présentation

OrderNow – Android based Restaurant M anagement System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OrderNow– Android based Restaurant Management System By Omkar Hande

  2. Contents • Application Design • User Interfaces & Key features • Customer’s UI • Waiter’s UI • Manager’s Web UI • Database design • Technologies Used • Project metrics

  3. Application Design

  4. Application Design - Layers • There are 3 layers to this application • Application layer – Android UI & Manager’s Web layout This layer stores majority of the application logic. • 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 • 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

  5. Application Design – Schematic View Database Layer Application Layer SERVER USER 3. Connects to DB Server, send query to run 2. Sends HTTP Request to server DEVICE 1. Asks for Today’s Specials 5. Sends data in JSON format 4. Runs query, sends back resource handle 6. Loads the view with Today’s Specials Service Layer MySQL SERVER

  6. User Interface & Key features

  7. 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

  8. Customer Android UI – App Screenshots Item Popup - Description with picture pops-up on clicking a menu item Today’s Special Tab – Enlists today’s recommendations Menu Tab – Categorized group wise

  9. 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

  10. Customer Android UI – App Screenshots App is designed to work in landscape mode as well

  11. 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

  12. 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

  13. Waiter Android UI – App Screenshots Unbilled – Orders pending for billing. Approval Confirmation – Once waiter approves this, the bill is processed

  14. Manager’s Web UI (link)

  15. 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

  16. Database Design

  17. 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)

  18. 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.)

  19. Database Design – EER Diagram

  20. Technologies Used

  21. 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

  22. 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

  23. 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

  24. JQuery plugins • Chosen library – custom select and multi select boxes • JQuery Form library – makes form handling easier

  25. Project Metrics • Total Lines of code • JAVA Code – 6713lines • PHP Code – 21100 lines Calculated using git ls-files | xargswc –l On Git repository

  26. Possible Improvements • Caching data • Use Sync Adapters • Compatibality with lower versions of android (currently works for 4.0 and above)

  27. Thank You! Omkar Hande

More Related