- Clone the project.
.env.exampleas a reference:
cp .env.example .env
- Update the .env file with your correct local information
- Install dependencies:
- Fix to binaries for sass:
npm rebuild node-sass
- Run migrations:
npm run knex migrate:latest
- Check the migrations folder to see what gets created in the DB
- Run the seed:
npm run knex seed:run
- Check the seeds file to see what gets seeded in the DB
- Run the server:
npm run local
Keep scrolling after the demo pictures
Demos of the app
- Database holds every item which The Restaurant wishes to sell/present to the user
- This includes the item's name, price, a picture, and a "category" - to allow for better organization in the menu section
- The Restaurant's items are displayed on the root page; item name, price, and a picture, all sorted by category which are collapsable for user's convenience
- The Restaurant's menu index is available on mobile as well - with altered graphics to best fit size
- No login required
- After making their choices, the user enters a phone number for contact and is directed to the order page
- The order page displays the user's selected choices and awaits for confirmation
- Once confirmed, the user order is sent - via text message - to The Restaurant (staff member)
- The Restaurant replies to the order with an approximate wait time, which is directly sent to the user; the Restaurant receives confirmation text that
- Text messages sent using API: twilio
As a user I want to know when I can pick up my order, because I am busy, because I don't want to waste my time ordering my food in person and waiting for my order, I would like to walk in and out with my order right away, I would also like to get a reminder when I should pick up my order.
Given that I made an order to pick up, I receive a text confirming the local time to pick up, Using an Iphone allows me to setup a quick reminder just from the text I have recived, and with that I can best decide when to leave the house.
As a user I want to make sure I made the proper order, sometimes I forget some items that I would like,
Given that I made an order and submitted it, When I get to the orders page I can double check my cart before confirming it, Then I know I have not missed anything.
As a Restaurant owner, I want to check the orders that have been ordered,
Given that I can check all orders made to me via the admins page, When an order has been picked up, I can confirm it with a click of a button and remove it from the page.
Note to users
The twilio API necessitates the use of a server, Ngrok was used for the purpose of our presentation: https://ngrok.com