A Lighthouse Labs project by Etty Barone, Matt Parisien, and Brett Bilyk
Beware: This code was created while studying Web Development at Lighthouse Labs and is not intended for use outside of a learning scenario. Use at your own risk.
Keyhole is a full stack, multi-page password keeper which utilizes hashing and two way AES 256bit encryption to ensure the secure storage of passwords for each user.
This repository contains all the HTML, SASS, jQuery and javascript code created over the course of the Keyhole project while studying at Lighthouse Labs.
- 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/
- Do not edit the
layout.css
file directly, it is auto-generated bylayout.scss
- Split routes into their own resource-based file names, as demonstrated with
users.js
andwidgets.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.
Libraries | |
---|---|
Node 10.x or above | cookie-session ^1.4.0 |
NPM 5.x or above | pg ^8.5.0 |
pg-native ^3.0.0 | bcryptjs 2.4.3 |
chalk ^2.4.2 | crypto ^1.0.1 |
dotenv ^2.0.0 | ejs ^2.6.2 |
express ^4.17.1 | morgan ^1.9.1 |
sass ^1.35.1 |
- nodemon ^2.0.10