The solution was inspired by the take a number system that you see at delis and at the butchers, where you take a slip of paper with a number on it and you wait for your number to be called to be serviced.
What it does
Allows a customer to line up by leaving their phone number. The store can text the next person in line to let the customer know the store is ready for them.
How I built it
I used django for managing stores and postgres for simulating a line. I used the twilio API to send customers texts. I used the pubnub API to display the phone numbers on the line manager portal. I used rq-scheduler (redis) to count down the five minutes the customer has to show up. I used the Google maps distance matrix API to see if the customer is within 100 meters of the store. If they're not, they can't line up.
Challenges I ran into
Learning new technologies (task queues, scheduler, publish subscribe) in 2 days. I couldn't think of a solution to prevent geolocation spoofing.
Accomplishments that I'm proud of
Learning new technologies (task queues, scheduler, publish subscribe) in 2 days.
What I learned
task queues, scheduler, publish subscribe
What's next for take a number
Generate random image as a "key" for the customer to flash to the line manager. This would allow the line manager to keep a safe distance from customers. Unique registration link for stores for access to this app. Allow stores to open and close access to their line based on business hours.