What it does

Our project consists of an IoT device and a web app which fulfil the role of a traditional waiter. The web app allows customers to book an available table using real-time data from the restaurant. Furthermore, customers can also place their order when they book to reduce the amount of time they spend waiting for their food.

The IoT device at the table will notify the customer when their food is ready as well as serve as a table identifier. Additionally, the IoT device can also be used to mark a table as available or reserved through the use of an LED.

An admin web page also exists that can also show current orders that the chefs need to complete. These orders can be marked as ready when complete which will notify the IoT device at the correct table. This will allow customers to get their food as soon as it is ready.

How we built it

vue.js with Bulma for the frontend, google cloud for the backend, firebase for the database and raspberry pi for the IoT device.

Challenges we ran into

Firebase was difficult to use as none of us had much if any experience with it or NoSQL. It was difficult coming from a relational background and learning the equivalent database design and queries. vue.js was also new to most members.

Accomplishments that we're proud of

Learning vue.js and firebase in a few hours Creating a prototype in 24 hours Collaborating as a team

What we learned

Having a better grasp of the technologies we will use makes it a lot faster to develop. How to use Firebase and vue.js. How to deploy IoT project on google cloud and use MQTT for communication.

What's next for ReadyTable

Additional features that we would have liked to add but didn't have time includes voice recognition ordering, split bills, table layout UI, business analytics

We would have also liked the admin web page to track order history, determine popular items and calculate daily revenue and sales.

Share this project: