Disclaimer: I'm a huge DoorDash fan and this is purely an activity out of curiosity. This is a work in progress and I half-expect it to fail for certain input.
Build the Dash.py using your credentials and follow steps to add items to your cart.
$ python Dash.py frodo.baggins16@yandex.com frodobaggins
Ever since moving to the Bay Area, DoorDash has found a loyal customer in me. It's always fun reverse-engineering REST APIs; I also wanted to understand how DoorDash interacts with the Internet. Door Dash encrypts its network traffic using SSL, but this is really easy to get around using a simple Man-in-the-middle attack.
Have been meaning to learn Python since quite some time, this gives me an opportunity to do that. Since this is a Python library, this is meant to be used in CLI environments. The API is really really rough around the edges, though I have tried to handle failing conditions gracefully.
You'll need an DoorDash account and DoorDash should be available at your location.
- Browse restaurants based on your location and suggestion
- Check out the menu of the favorite restaurant
- Add items to the current cart
- Authenticate to DoorDash using your credentials
- From the list of suggestions, select one (you can sort based on the rating, price, and the availability)
- A list of restaurants based on your suggestion will be displayed
- On selecting a restaurant, a menu will be displayed. Select the items you'll like to add to your cart, quantity, special instructions etc and you're set.