Inspiration

Data-driven decisions help not only the business, but the consumer. Our application provides a way for the customers to provide restaurants feedback and offers a way for business to use the data to increase customer satisfaction. Our inspiration was the frustration of having a poor or great experience at a restaurant and not having the opportunity to tell the business owners. Offering a way for restaurants to see the most liked items or the number of times the vegetarian filter was selected enhances the way restaurants can serve their customers. Our application is designed to be displayed on a small tablet mounted to tables within restaurants, seamlessly integrating into the customers' dining experience.

What it does

Our app allows restaurants or any other food-serving business to learn from their clientele and improve the restaurant experience. It does this by providing a front-end platform for customers to use for both ordering and paying. The customers can filter by food restriction, and rate the food at the end of their meal.

This allows us to collect data on what the customers enjoy, and what sorts of dietary restrictions are common for customers. Using this, the restaurant can modify what sort of dishes they serve, as well as the quality of more unpopular dishes.

To help this process, we also provide a business view of the app. That way the business using our app can view statistics about the customers' orders and restrictions in the form of graphs, and act accordingly.

How we built it

We started by meeting and coming up with ideas for an app that we would both want to make and want to use. We decided on this restaurant-pos idea as it seemed like an intelligent and simple way for a restaurant to learn from its customers and increase business; simply gather data on what the customers order and enjoy through an app. Though we knew Javascript wasn't our most comfortable language, we knew we could rely on our team to help us out if we got lost, and Javascript seemed like the best idea to implement our app in 36 hours.

We built this web app starting with an empty React application. We learned from our teammates how to get started with React and Bootstrap to start on a basic frontend. As we progressed, we began to incorporate backend elements, so that we could simulate the real-world usage of this app.

Challenges we ran into

We had many challenges during this process. One problem was learning how to use Node.js to implement NCR's Catalog API. None of our group members had experience using an API of this caliber and we struggled to access and update the information we put into the database.

Many of us also had little to no JavaScript and React experience, so we had to consult each other and work together to learn the language along the way.

Accomplishments that we're proud of

There were many ups and downs during these past 36 hours when we questioned if we would have a working product. We managed to accomplish a business data visualization screen and a working customer ordering system. Watching as we click buttons and see changes in the database was a relieving and prideful moment.

Overall, we're proud that we met all the goals that we set for ourselves, in spite of struggling with new languages and unfamiliar APIs.

What we learned

Only one of our members had previous experience with React, so this Hackathon was an enlightening opportunity for us to grow our skillset. It was the first time we had ever created a web application and did so while implementing a professional API. We also learned how to better work in an active developer team using git version control, and what the best work strategies are to avoid any conflicting code.

These are skills that can carry us through our technological careers.

What's next for HackGT6

We want to take this application above and beyond. We plan to learn more about how to better implement firebase databases and the NCR Catalog API to store more user data. We hope to provide even more data visualizations to help both ends of the transaction.

Share this project:

Updates