by Ben Turner @Xeus
Final project for Chris Kairalla's Redial class at NYU-ITP, spring 2012.
Menu system using Node.js, MongoDB, jQuery. Customers at bars, restaurants, whatever dial in to the phone number on a screen or on a table to make their orders, play trivia, read the news, or be social with other tables/stations nearby.
The phone as a remote instead of relying on touchscreens.
Best part? Everyone's orders are broken up for everyone to pay separately.
Thanks to the following for their code:
- Chris Kairalla, tinyphone
- John Schimmel, node.js + express example code
- Dustin McQuay, Twilio SMS code for node.js
{ "name" : "Hermes",
"version" : "0.0.5",
"dependencies" : {
"express" : "2.x",
"ejs": "",
"mongoose" : "",
"request" : "",
"mongodb" : "",
"connect-mongodb": "",
"bcrypt" : "",
"passport" : "",
"passport-local" : "",
"underscore" : "",
"socket.io" : "",
"emailjs" : "",
"restler" : ""
} }
Open your terminal/shell/command prompt. Make sure you have Node.js (http://nodejs.org/) installed.
Clone the repository. Type git clone [email protected]:Xeus/Hermes-Ordering-System.git
in
the parent directory you wish to install "./Hermes-Ordering-System" to.
See package.json
for dependencies. Type npm install
to install them. Uses
MongoDB and the Heroku toolbelt.
Set up your .env
file to include your MONGOLAB_URI
variable, which has your
user/pass to connect to MongoDB. You'll also need to include your gmail user/pass in
the .env
file as well if you want order confirmation emails sent. The .env
should also contain variables for the to, from, and cc email addresses. Finally, it will include a SALT
phrase for encryption. It should look like this:
MONGOLAB_URI=mongodb://username:[email protected]:27017/hermes
GMAIL_USER=yourgmailusername
GMAIL_PASS=yourgmailpassword
[email protected]
[email protected]
[email protected]
SALT=secretphrase
Type foreman start
in the ./Hermes-Ordering-System
directory to start up the
node.js process.
Connect to http://localhost:5000
to get your order started!
Last update 02 May 12: Demo'd in class and upped to Github.
Search for "TODO:" to find things requiring more work/fixes.