Skip to content

egomatsushita/LHL-Project-Midterm-FoodPickUpOrdering

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FoodFast

About the Project

Full stack web application built with Node, Express, AJAX, Twilio API, jQuery, HTML5, CSS3 and PosgreSQL.

Problem Statement

An application built to simplify online food ordering for pickup.

Expected Usage

Desired users are restaurant owners and customers:

  • Restaurant owners can register and login to see their orders. They will recieve a phone call every time an order is made online.

    • They can then either accept or decline the order.
    • Over the phone, they specify how long the order will take to prepare.
    • This triggers a notification to the customer with estimated preparation time via SMS.
    • The restaurant owner can then see the orders online, with a countdown timer based on the estimated preparation time.
    • They can mark an order as complete when the food has been prepared, which sends a notification to the customer.
  • Customers can order from the restaurant menu online.

    • They are notified when the order has been accepted and how long it will take.
    • They are notified again when the food is ready.

Getting Started

Install all dependencies (using the npm install command).

Setup the database:

  • Run knex migrate:latest in your terminal.
  • Optional: Set up dummy-data by running knex seed:run in your terminal.

To use the voice/sms features:

  1. Install the google chrome extension, Forward : https://chrome.google.com/webstore/detail/forward-link-to-localhost/ghnicdmecgkdbledgnmbbnddfnjjgegp?hl=en
  2. Create a tunnel to your localhost and open it.
  3. Go to Twilio and sign up for a new account.
  4. Get a Twilio phone number.
  5. Create a new Twiml App in the console, and set the request URL to your tunneled address.
  6. Create a .env file and set the variables with your Twiml info. TWILIO_ACCOUNT_SID=XXXXXXXXX TWILIO_AUTH_TOKEN=XXXXXXXX TWILIO_NUMBER=+1XXXXXXXXXX TEST_NUMBER=+1XXXXXXXXXX

Run the development web server using the 'npm start' command.

As a restaurant owner: Visit the page: http://localhost:3000/ in your browser.

As a user: Visit the page: http://YOUR_APP_NAME.fw.wf in your browser.

Dependencies

  • bcrypt 1.0.2 or above
  • body-parser 1.17.2 or above
  • cookie-session 2.0.0-beta.2
  • cookie-parser 1.4.3 or above
  • dovenv 4.0.0 or above
  • ejs 2.5.6 or above
  • express 4.15.3 or above
  • express-basic-auth 1.1.1 orabove
  • morgan 1.8.2 or above
  • node 5.10.x or above
  • pg 7.0.2 or above
  • request 2.81.0 or above
  • twilio 3.5.0 or above

In Action

Welcome Page: "Welcome Page"

Customer view: Menu page "Customer view: Menu page"

Customer view: Adding Items to the cart "Customer view: Adding Items to the cart"

Customer view: Waiting for SMS "Customer view: Waiting for SMS"

Customer view: Receiving SMS "Customer view: Receiving SMS"

Restaurant owner view: Register "Restaurant owner view: Register"

Restaurant owner view: Login "Restaurant owner view: Login"

Restaurant owner view: Adding menu items "Restaurant owner view: Adding menu items"

Restaurant owner view: Managing orders "Restaurant owner view: Managing orders"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 76.0%
  • JavaScript 18.0%
  • HTML 6.0%