Michael-Xie / krusty-krab

Food pick-up ordering service that emulates the Krusty Krab. Front-end built with HTML, CSS, Javascript, jQuery, and Bootstrap. Back-end built with NodeJS and Express.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Krusty Krab - Order Pick-up

Krusty Krab is a Sponge Bob themed full stack web application built with HTML/CSS, Sass, Bootstrap, jQuery, AJAX for front-end, and Node, Express,  Twillio, and PostgreSQL for the back-end. It allows user to order food items, and get notification through web application and SMS when the food is ready for pick-up.

Final Product

"Screenshot of register page" "Screenshot of login page" "Screenshot of order page"

Dependencies

  • Node 10.x or above
  • NPM 5.x or above
  • PG 6.x
  • Twillio 3.39.2 or above
  • bcrypt 2.0.0 or above
  • bootstrap 4.4.1 or above
  • chalk 2.4.2 or above
  • cookie-session 1.4.0 or above
  • dotenv 2.2.0 or above
  • ejs 2.6.2 or above
  • express 4.17.1 or above
  • morgan 1.9.1 or above
  • node-sass-middleware 0.11.0 or above
  • pg-native 3.0.0 or above

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
  • username: labber
  • password: labber
  • database: midterm
  1. Install dependencies: npm i
  2. Fix to binaries for sass: npm rebuild node-sass
  3. Reset database: npm run db:reset
  • Check the db folder to see what gets created and seeded in the SDB
  1. Run the server: npm run local
  • Note: nodemon is used, so you should not have to restart your server
  1. Visit http://localhost:8080/

Warnings & Tips

  • Do not edit the layout.css file directly, it is auto-generated by layout.scss
  • Split routes into their own resource-based file names, as demonstrated with users.js and widgets.js
  • Split database schema (table definitions) and seeds (inserts) into separate files, one per table. See db folder for pre-populated examples.
  • Use the npm run db:reset command each time there is a change to the database schema or seeds.
    • It runs through each of the files, in order, and executes them against the database.
    • Note: you will lose all newly created (test) data each time this is run, since the schema files will tend to DROP the tables and recreate them.

About

Food pick-up ordering service that emulates the Krusty Krab. Front-end built with HTML, CSS, Javascript, jQuery, and Bootstrap. Back-end built with NodeJS and Express.


Languages

Language:SCSS 78.8%Language:JavaScript 13.3%Language:HTML 7.8%Language:Shell 0.1%