The Idea
So it all starts with a story. A couple years ago some friends showed me to a restaurant that apparently was „really cool!!!“. The concept of it is the following: You can either order via a paper printout (which also costs way more), or you could choose the all you can eat menu. It’s basically the same, but with a price of back then I think about 15€, it was really cheap! The idea is that all tables have QR codes, so you can scan them via your phone and it opens a webpage where you can select items and order them. It also has a history function where you can see what was previously ordered.
This of course is very interesting to a developer. I wanted to know how it worked! Also, with it being a quite slow system (each menu item has a 5 Mb image that is not cached, so on each page load it will download ~200 Mb), I wanted to see if I could improve it.
Where to start?
Of course the first thing was to go there with a laptop to check how ordering works. That of course means also ordering some items to understand the protocol, all in the name of science!
The protocol is actually quite easy, its just some GET and POST requests, nothing complicated.
As a technology I chose react-native as I was already a bit familiar with TypeScript and React.
What can the app do?
The main functionality is quite simple: Fetch a list of menu items, make it so you can add it to some kind of cart and then have a order button. All images are cached and loaded in parallel, meaning very fast loading times!
But of course, this being a custom app, it can do much more:
- A QR code scanner that can extract the correct URL / table number for easy ordering
- The ability to add favorite items
- A save functionality for the cart, so old orders can be replayed
- A refined order history with the ability to add the item again to the cart
- And maybe the biggest feature: A separate order list for each app!
Especially the in-app order list is very helpful when you are there with multiple people so you know who ordered what and if all your food already arrived!
Future Ideas
I was thinking about weighing each order item and then at the end displaying in the app how much sushi the user had consumed with that staying. Also, because the app keeps track of every time you visit (until you click on the „Done with eating“ button), there would also be data for rating which item the user likes best and maybe give them a sorted list!





Schreibe einen Kommentar