Last Friday (03/27/2020), I was picking up Thai food. I parked on the curb, texted my car color/model/make and order name. Despite my order being ready, I got my food 20 minutes late because my text message was overlooked, resulting in me walking up to their door and asking about my order, risking my own, and employees' health.
What it does
An all-in-one SMS management system for restaurants doing curbside pick-up. Uses a separate phone # for this system, instead of having to use the personal cellphone of, say, the owner.
How I built it
Flask for server side, Twilio for SMS receiving/sending. Socketio was used to update client-side display without reload. HTML & CSS are used for the web page UI.
Challenges I ran into
Learning Flask, Twilio API, and how to update the client-side web page without reload, all in one day. I was originally supposed to work in a team of four, but all had something come up. It was a lot to start learning and build within a weekend.
A working prototype for managing incoming SMS messages for a given restaurant.
What I learned
I learned about server-side programming with Python. I have only previously used PHP, and once I gained a little experience in Flask, I will continue using Python for server-side in future projects.
I learned how to use the Twilio SMS API.
What's next for CurbsidePickUp - SMS system for Restaurants during COVID-19
- Login page
- Auto-generate phone number for restaurant during sign-up
- Emit socketio messages to individual clients, currently just in broadcast mode for prototyping
- Saving text messages to database
- Drag-gable text messages
- Categorizing text messages, visual customization for groups & individual texts
Try It out
css, flask, html, python, socket.io, twilio