Labber Eats offers a single page experience to both consumers and restaurant owners. This project was made using HTML, JS, JQuery, AJAX on the client-side and Node, Express, Sass and PG on the server-side.
This project was made during Lighthouse Labs Bootcamp as a group project to practice full-stack development skills.
-
As a hungry labber, I want to be able to browse and select menu items from the restaurant's site because I want to pre-order and save time.
-
As a hungry labber, I want to be able to see the full details of my order (e.g. cost, items, quantities) before checking out so that I can confirm my order and know how much money to bring.
-
As a hungry labber, I want to know that the restaurant received and confirmed my order because I want to ensure that the restaurant will prepare my order.
-
As a hungry labber, I want to know how much time it will take so that I can show up at the right time.
-
As a hungry labber, I want to be able to leave comments to the restaurant (e.g. allergies, omissions/extras).
-
As a restaurant owner, I want to know when an order is placed and the details of the order so I can start preparing the order.
-
As a restaurant owner, I want to be able to notify the client whether the order is accepted or declined (e.g. missing ingredients).
-
As a restaurant owner, I want to be able to give an approx. time for when to pick up the order AND when the order is ready so that the client does not have to wait too long once he arrives at the restaurant.
- Create the
.env
by using.env.example
as a reference:cp .env.example .env
- Update the .env file with your correct local information
- username:
labber
- password:
labber
- database:
midterm
- Install dependencies:
npm i
- Fix to binaries for sass:
npm rebuild node-sass
- Reset database:
npm run db:reset
- Check the db folder to see what gets created and seeded in the SDB
- Run the server:
npm run local
- Note: nodemon is used, so you should not have to restart your server
- Visit
http://localhost:8080/
to access the menu - Visit
http://localhost:8080/control
to access the restaurant's control panel - As an alternative to
npm run db:reset
, you can visithttp://localhost:8080/debug/reset
- Node 10.x or above
- NPM 5.x or above
- PG 6.x
- jQuery
- Sass
- Express
- EJS
- Twilio
- git
To populate the menu, we used photos taken from unsplash.