Open RIAEvangelist opened 9 years ago
Both great ideas, I want to make it as seamless as possible for someone, at least we have it down to the "npm install" so far, next up should be a small web server or a small script to customize it for them
I have built a web server that could easily be incorporated.
npm install --save node-http-server
but we'll also need a small site to input the info and display basic info on buttons being pressed.
I wouldn't mind handling the front end of that.
We will need to encrypt the cc info of course. Probably use a heavy duty rolling random encryption every x number of min.
I was chatting with another buddy about have a small site you run locally that will create the app.js
file for you or I have a default app.js
file and the small site will create you a .env
file on your machine that the app will use for all personal information, credit card information, and order. (It would be cool if we could have the small site take in the address and present the closest Domino's stores and their menu/coupons? While this wouldn't encrypt the cc info, this app currently doesn't anyways since it is all running locally anyways, so your information is only as secure as your home network.
I'd be very careful with how you store cc info.
Especially since it will be stored in a 2 way encryption method with the decryption algorithm available on the same box.
I was definitely thinking of just storing CC info in a .env
file where it wouldn't ever be checked in and just stored locally on ones network..
Possibly implement something the way this guy did for his Uber Dash Button: https://github.com/geoffrey/uber-dash-configurator
Using a domino's account would probably be better. Then the card is stored by dominos not you. User goes to set up account on dominos website then uses their credentials in their dash.
This wayt the only theft that can be done is ordering pizza, not buying a yaht and clothes and trip to tahiti.
@RIAEvangelist Do you know how it would be possible to use a domino's account with this? I'm working with a group to develop a web server using flask to input user info and order right now and it would be great if users could set their order using their account for rewards points and added security. Is available in the dominos api?
@RIAEvangelist @JoeIaquinto did either of you guys work out how to get a Domino's Account working on this project?
What I ended up doing was capturing the http request made from placing an order on the actual Domino's website and saving that to be resent when the button is pressed. This did allow me to use my account because it was included in the request as I was logged in on the website.
@JoeIaquinto Ah cool! How would I go about doing that exactly? I'm trying to get this running for my roommate's birthday present and I know making sure his Dominos account would work with this is essential for the constant free pizzas he boasts about..
Alternatively if you have it checked in somewhere that I could look at....?
Thanks!
I'll have to take a look, I got it working the night before my presentation last spring so I think I neglected to push it onto my fork. Also, the new AWS IoT button came out so you actually may be able to get this running on AWS lambda with a few modifications.
On Wed, Oct 12, 2016, 12:51 PM Nasser Eledroos notifications@github.com wrote:
@JoeIaquinto https://github.com/JoeIaquinto Ah cool! How would I go about doing that exactly? I'm trying to get this running for my roommate's birthday present and I know making sure his Dominos account would work with this is essential for the constant free pizzas he boasts about..
Alternatively if you have it checked in somewhere that I could look at....?
Thanks!
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/bhberson/pizzadash/issues/3#issuecomment-253270964, or mute the thread https://github.com/notifications/unsubscribe-auth/AGQr87GnDVBd1GgNDuc000yfzjAdRgKWks5qzRACgaJpZM4GC44J .
@JoeIaquinto Okay thanks!
Yeah I saw with the AWS IoT button - I have a webserver I'd prefer to use this with to be honest - I also already have like 4 Dash buttons.
@eledroos Honestly giving this another look it would be a lot easier to use https://github.com/maddox/dasher to use Twitter's API and create a tweet with "@dominos :pizza: #easyorder" than going through Domino's unsupported web API. It's a matter of time before they team up with the Amazon dash team and connect the AWS IoT button officially or make a Dominos dash available.
Is there any way to get an order to go through without providing credit card information? Something that allows you to pay upon delivery? I've looked through the Dominos API documentation and haven't found this option, but was hoping for a second opinion. Thanks! This is really cool.
Try using chrome developer tools to capture the POST message sent when ordering with pay on delivery selected. The dominos node.js api is a little outdated and we found it was easier to just spoof the HTTP requests from the pi as if you were doing it by hand on the site, then the dash button just triggers that routine.
The user shouldn't have to run multiple scripts to get stuff working. Should be seamless. Perhaps a web server could be integrated to spin up a little page for choosing store etc.
Or perhaps the app could just order from the closest open store which delivers.