Restaurant app


This solution was developed as a restaurant process optimization for Arabic world. The whole system was called to optimize the process of customer-restaurant cooperation and make it less expensive.

As a result, we have admin panel, which controls which menu items and other items are displa yed on an iPad menu; iPad menu which sends data to order processing panel; admin panel which controls overall app data; waiter iPad interface which manages tables (assigns a certain iPad to a certain table).

All components interact through same database and web sockets server for active client-to-server communication.


Customer iPad app

  • Displays menu categories, items within each category, prices.
  • Provides RATE ME features and collects user data on their satisfaction with an app and a restaurant.
  • Provides payment option, so that users can pay right through the app, without having to wait for a bill.
  • Collects order data, stores table ID data and sends this information to Order processing interface through RESTFUL API.

User Story

Customer enters a restaurant and is shown to the table. They are handed over a menu and can now swipe through all the options (created by admin on admin panel) and see only actual information. Customer picks menu items and they can see how much those items cost, (at the top right where a cart is displayed on iPad app). User can use CALL WAITER button if they still need human assistance. Once they are ready to order they tap a button and now wait for dishes to arrive. At the end of their meal they pay through app and leave a venue.

Waiter iPad app

  • Is password protected, waiter can enter this interface through CUSTOMER INTERFACE using their unique password.
  • Table ID is assigned to an iPAD and can be edited by waiter only.
  • Displays order content, whether the bill is paid or not.

User Story

Customer enters a venue. Waiter picks up iPad with waiter interface and enters table ID. Waiter hands over an iPad to customers. Waiter receives notification about and order made. Waiter brings out an order and can see the bill was not paid yet. Waiter gets notification when bill is paid. Waiter hets notification(sound) when new item is ordered or a waiter is needed at the table.

Web admin panel

  • Ability to create/edit/delete menu categories.
  • Ability to create/edit/delete users and their permissins.
  • Ability to create/edit/delete menu items (prices, images etc).
  • Ability to create/edit/delete ads and send them out.
  • Display overall users number and general usage statistics.


The first problem we were solving. Service should be fast and communication between an iPad and server should happen in instance. It was often for the venue that some item goes out of menu. We had to make sure as soon as a menu item becomes unavailable no customers will see it.


Thus, we implemented web-sockets server for active communication between server and client side. Instead of normal pull-to-refresh type of service

Access permissions

People are curious and they would want to go browsing through the device, maybe trying to access internet


Making sure customers do not quit the app and go searching through the device. We made the app locked, without an ability to hide or close itOnly a person with at least waiter access could switch off the app, after providing security passcode.


Some venues have several points in their network. Some points are dish or food specific. Some Points are best sellers in different type of food.


Thus, it was decided to develop decentralized type of database, where each venue point can have their own management system and their own menu, without affecting the rest of a chain.Statistics, however, have been compiled into one report, as they needed a success report within the chain.

Item created on backend displays on iPad menu

Let's get the nuMenu product!