Giter Club home page Giter Club logo

sprout's Introduction

Inspiration

With the COVID-19 pandemic, getting your vaccine passport scanned is the new norm when dining in at a restaurant. This is what inspired the Accessibility Passport, which uses a QR code to open a communication port between customers with various accessibility needs and the restaurant staff without having to pre-download a mobile application. With a quick scan of a QR code, the waiters are notified in real-time whenever a customer wants to make an order, pay their bill or call over for help at a restaurant.

What it does

Our application, Accessibility Passport, tries to bridge the communication gap between people affected by Speech, Hearing or Motor impairments that want to enjoy a delicious meal at their favourite restaurant and the waiters there by providing a common platform that gets rid of uncertainty about the order or any sort of service provided. We are trying to ensure that the user has a very smooth experience and leaves the restaurant more than satisfied. The user can sign up on our web application that generates a unique QR code which is then scanned by their waiter at the restaurant. After the waiter scans it, the user is able to make an order, send a message to the waiter about something and when they are done with their meal, they can let the waiter know their choice of payment method as well.

How we built it

We decided to approach the problem with a web application since the time was limited. We used React.js with Chakra UI for the frontend with an Express backend server. For real-time communication, we used the Socket.io library to efficiently relay information back and forth between server and browser. Finally, the frontend part of the application is hosted on Netlify and our backend on Heroku.

Challenges we ran into

As the nature of the project was to provide a method of communication between two entirely separate users, sharing user inputted data between the two browsers was a big challenge for us. To keep our project fairly simple, we also wanted to avoid the need to create a shared database. After brainstorming, we devised a solution around this issue by passing in this data as a prop to web socket events we were already using to automatically redirect each flow (the customer and the waiter) to corresponding pages of our application. For example, the customer’s browser emits a socket event to notify the waiter once they successfully input their information. The waiter’s browser listens to this event and parses the data to store in their local storage once the event is fired so the user’s information can be accessed in subsequent steps of the flow.

Accomplishments that we're proud of

The foremost thing we are proud of is that we were able to complete building a proof of concept of what we had envisioned on the first day of this hackathon. We are also glad that we were able to figure out how to make the server-side system stateless. We were successfully able to incorporate the usage of generating and scanning QR Codes like the currently prevalent vaccine passport to navigate through our application. We managed to implement real-time communication between the user and the waiter by using Socket.io library which enabled us to send instant notifications from the user to the server if they required anything.

What we learned

Through this project, we learned about various techniques to keep development fairly lightweight and scalable. One of the ways we achieved this was through web sockets that can fire notifications and share data between two web servers without the need for complex API calls and an external database. We also tried using the Chakra UI library for the first time, which we learned was a lot more flexible in terms of its styling compared to Material UI components that we were more familiar with.

What's next for Accessibility Passport

Our immediate next steps would be to implement exciting features such as multiple users support and integrating restaurant menus. Restaurants will be able to sign up, upload their menu and generate QR codes. The customers scan it and join the restaurant room where they can interact with waiters in real-time. We also have plans to convert the entire project into a mobile-first app which we think will be more convenient for the users. Furthermore, we envision our product to be useful for different types of businesses other than restaurants.

Screenshots

Screen Shot 2022-02-20 at 8 19 25 AM Screen Shot 2022-02-20 at 8 19 13 AM Screen Shot 2022-02-20 at 8 17 28 AM Screen Shot 2022-02-20 at 8 17 11 AM Screen Shot 2022-02-20 at 8 16 58 AM Screen Shot 2022-02-20 at 8 14 51 AM Screen Shot 2022-02-20 at 8 14 24 AM Screen Shot 2022-02-20 at 8 13 30 AM Screen Shot 2022-02-20 at 8 13 17 AM Screen Shot 2022-02-20 at 8 12 57 AM

sprout's People

Contributors

zwemsoe avatar alicekanng avatar keshavg45 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.