Giter Club home page Giter Club logo

q's Introduction

Q - You'll never have to stand in line again!

Q is an online queue management system. Organizers can create queues for their events. Instead of waiting in line, people can register themselves in a virtual queue. This delocalizes the waiting process and allows people to be productive in the time that they would otherwise spend waiting. This gives organizers great flexibility in using Q. One can set up queues for anything from doctor's appointments to food distribution.

One particular use cases that inspired us: food distribution at hackathons. Standing in line for food at hackathons is painfully annoying, and takes away from time that would be better spent hacking. Q would allow people to queue up for food, all from the comfort of their chairs.

The backend for the project is a Flask server which processes incoming HTTP requests from Twilio (to respond to incoming user messages), and sends messages out to users. The Flask server also does the job of maintaining the queue as a simple Python data structure. The organizer interface is written with simple HTML/CSS/JavaScript, and has access to the "next person" option, which pops the first user, notifies them by SMS, and updates the queue. Skeleton.css is used to give the UI a sleek, polished feel.

Users interact with the queue through text messages on their mobile phones. They can interact with the queue with three commands: "", "DEL", and "POS". Sending their name will add them to the queue. Sending "DEL" will delete the person from the queue, and "POS" will return the person's position in the queue.

Whenever "next person" is clicked by an organizer, AJAX is used to send a "GET" request to a Python script on the Flask server, which then performs the task of messaging. The server is exposed to Twilio using ngrok.

Future plans:

  1. Give users the capacity to change their position in the queue by reporting delays.
  2. Use a dedicated database to store the queue, rather than using the RAM of the Python script. This will help support scale-up
  3. More freedom for organizers to control the queue: adding events, manually interacting with the queue, etc.

All of the code for this project was written during the HackTech 2016. The web app is currently fully functional.

  • A project by Aditya Baradwaj and Jordan Hart

q's People

Contributors

adityabaradwaj avatar jordanhart 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.