Skip to content

jfcon/food-pickup-app

Repository files navigation

Midterm Project - Restaurant Pickup App

This project was built by Bindu Prakash, Tyler Tomczyk, and John Connolly with the assistance of the Lighthouse Labs' mentors and the other students in our cohort.

Naan Stop! is a fictional restaurant with an Pickup Order Management system that will text customers with order updates.

Getting Started

  1. Create the .env by using .env.example as a reference: cp .env.example .env
  2. Update the .env file with your correct local information:
  • DB_HOST=localhost
  • DB_USER=labber
  • DB_PASS=labber
  • DB_NAME=midterm
  • DB_SSL=false
  • DB_PORT=5432
  1. Install dependencies: npm i
  2. Fix to binaries for sass: npm rebuild node-sass
  3. Register a trial account with Twilio and add all phone numbers you wish to use on this application. With Trial accounts only the numbers registered will receive texts, regardless if they are Restaurant Admin or Customer.
  4. Run migrations: npm run knex migrate:latest
  • Check the migrations folder to see what gets created in the DB
  1. Run the seed: npm run knex seed:run
  • Check the seeds file to see what gets seeded in the DB
  1. Run the server: npm run local
  2. Visit http://localhost:8080/

Dependencies

  • Node 5.10.x or above
  • NPM 3.8.x or above
  • body-parser 1.15.2 or above
  • bootstrap 4.3.1 or above
  • dotenv 2.x or above
  • ejs 2.4.1 or above
  • express 4.13.4 or above
  • knex 0.11.10 or above
  • knex-logger 0.1 or above
  • morgan 1.7 or above
  • node-sass-middleware 0.9.8 or above
  • pg 6.0.2 or above
  • sass 1.17.2 or above
  • twilio 3.28.1 or above

Take us through it!

The Main Page: Here you see the menu of a fictional restaurant. Clicking any of the Menu Types on the left will redirect you to its spot in the Menu Container. Here you see the menu of a fictional restaurant. Clicking any of the Menu Types on the left will redirect you to its spot in the Menu Container.

Menu Form Validation: Only numerical values are allowed in the form. If a negative number were entered, a popup will let the customer know that their entry is invalid. Our customer is trying to be sneaky! Since numerical values are allowed in the form a negative number were could be entered, but a popup will let the customer know that their entry is invalid, and has to be a postive integer.

Order Confirmation Page: Here the customer can review their order. If they are satisfied with the order, they can submit it to the restaurant. They will provide their first and last name as well as their phone number so that they can be texted with updates. Here the customer can review their order. If they are satisfied with the order, they can submit it to the restaurant. They will provide their first and last name as well as their phone number so that they can be texted with updates.

Order Confirmed! Upon submission of the order, the customer will be sent to this page. Order Confirmed! Upon submission of the order, the customer will be sent to this page confirming the order.

New Order! The Restaurant Admin receives a text informing them that they have a new and unconfirmed order. They will go to the Admin Page on their computer to see the latest order they have to handle. New Order! The Restaurant Admin receives a text informing them that they have a new and unconfirmed order. They will go to the Admin Page on their computer to see the latest order they have to handle.

The Orders List: The admininstrative side of the restaurant will see a few tables with all their orders, past and present. Orders are sorted by the date created, and are grouped by their Order Status. Clicking on an order will take you to a more detailed page. The admininstrative side of the restaurant will see a few tables with all their orders, past and present. Orders are sorted by the date created, and are grouped by their Order Status. Clicking on an order will take you to a more detailed page.

Order Details: The restaurant can look at individual orders. All their relevant contact info is displayed, as well as a detailed list of their order. They restaurant can choose how long the order will take to be prepared, and alter its current status (Unconfirmed, In Progress, Completed, and Cancel). Giving the order a new status will send a text to the customer telling them how long it will take, or if it has been cancelled. The restaurant can look at individual orders. All their relevant contact info is displayed, as well as a detailed list of their order. They restaurant can choose how long the order will take to be prepared, and alter its current status (Unconfirmed, In Progress, Completed, and Cancel). Giving the order a new status will send a text to the customer telling them how long it will take, or if it has been cancelled.

Order Confirmation Text Order Confirmation Text

Order Status Changed: When an order's status is altered, it moves into its associated table. (Bob's Order was just confirmed by the restaurant, so now it's In Progress). When an order's status is altered, it moves into its associated table. (Bob's Order was just confirmed by the restaurant, so now it's In Progress).

Order Cancellation: If for whatever reason the order needs to be cancelled, the restaurant can set the order's Status to 'Cancel' and it will send the customer an appropriate text message. The order will then disappear from the Orders List. Order Cancellation: If for whatever reason the order needs to be cancelled, the restaurant can set the order's Status to 'Cancel' and it will send the customer an appropriate text message. The order will then disappear from the Orders List.

About

Naan Stop! is a fictional restaurant with a Pickup Order Management system that will text customers with order updates.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published