From 42d0e547bf4b3c691990a6130ff6de8f90987cb7 Mon Sep 17 00:00:00 2001 From: Liz79 Date: Fri, 17 Apr 2020 20:02:13 +0800 Subject: [PATCH] Liz Liz --- data/index.js | 28 +-- data/test.js | 41 ---- data/users.js | 11 +- package-lock.json | 349 +------------------------------ package.json | 2 +- public/backup.css | 125 +++++++++++ public/{style.css => header.css} | 89 +++++--- public/js/signupChecker.js | 35 ---- public/login.css | 0 routes/users.js | 5 +- views/layouts/main.hbs | 10 +- views/pages/login.hbs | 5 +- views/pages/mainpage.hbs | 4 +- views/pages/signup.hbs | 22 +- views/partials/backupHeader.hbs | 21 ++ views/partials/header.hbs | 38 +++- 16 files changed, 268 insertions(+), 517 deletions(-) delete mode 100644 data/test.js create mode 100644 public/backup.css rename public/{style.css => header.css} (56%) delete mode 100644 public/js/signupChecker.js create mode 100644 public/login.css create mode 100644 views/partials/backupHeader.hbs diff --git a/data/index.js b/data/index.js index d50c1e4..a7c28e4 100644 --- a/data/index.js +++ b/data/index.js @@ -3,11 +3,7 @@ const productsData = require("./products"); const commentsData = require("./comments"); const categoryData = require("./category"); const ordersData = require("./orders"); -// test -const mongoCollections = require('../config/mongoCollections'); -const users = mongoCollections.users; -// test const dbConnection = require('../config/mongoConnection'); // const data = require('./data/'); // const bandsData = data.bands; @@ -16,28 +12,18 @@ const dbConnection = require('../config/mongoConnection'); const main = async () => { const db = await dbConnection(); await db.dropDatabase(); - const usersCollection = await users(); - let basicInfo = { lastName: "ma", firstName: "dongming", birthdate: "101010101" } - let email = "123@123.com" - let email2 = "321@123.com" - // let address = { - // state: "NJ", - // city: "Hoboken", - // street: "9999999", - // zipCode: "114514" - // } - let test = await usersData.addUser(basicInfo,email,"weyywy") - // console.log(test) - // let test2 = await usersData.addUser(basicInfo,email2,"weyywy") - // console.log(test2) - - // let user = await usersCollection.findOne({email:email}) - // console.log(user) + let address = { + state: "NJ", + city: "Hoboken", + street: "9999999", + zipCode: "114514" + } + let test = await usersData.addUser(basicInfo,"123@123.com","weyywy") // basicInfo.lastName = "JOJO" // let test1 = await usersData.patchUser(test._id,{basicInfo}) // console.log(test.shoppingCart) diff --git a/data/test.js b/data/test.js deleted file mode 100644 index 4f3e1c3..0000000 --- a/data/test.js +++ /dev/null @@ -1,41 +0,0 @@ -const bcrypt = require("bcrypt"); -const saltRounds = 16; - -async function main() { - const plainTextPassword = "mySuperAwesomePassword"; - // This hash will change each time it's generated! - // That's one of the wonderful things about bcrypt -- even - // though the has changes, you can still compare the unhashed version - // successfully - const hash = await bcrypt.hash(plainTextPassword, saltRounds); - - console.log(hash); - let compareToMerlin = false; - - try { - compareToMerlin = await bcrypt.compare("merlinsbeard", hash); - } catch (e) { - // no op - } - - if (compareToMerlin === true) { - console.log("merlinsbeard matches the hash"); - } else { - console.log("merlinsbeard does not match the hash"); - } - - let compareToMatch = false; - - try { - compareToMatch = await bcrypt.compare("mySuperAwesomePassword", hash); - } catch (e) { - // no op - } - if (compareToMatch === true) { - console.log("mySuperAwesomePassword matches the hash"); - } else { - console.log("mySuperAwesomePassword does not match the hash"); - } -} - -main(); diff --git a/data/users.js b/data/users.js index 1074c83..d70e8d0 100644 --- a/data/users.js +++ b/data/users.js @@ -1,8 +1,6 @@ const mongoCollections = require('../config/mongoCollections'); const users = mongoCollections.users; const ObjectId = require('mongodb').ObjectID; -const bcrypt = require("bcrypt"); -const saltRounds = 16; // untilities function checkStringInput(value, inputName, functionName) { @@ -46,11 +44,7 @@ module.exports = { checkStringInput(inputs[i], inputsname[i], 'addUser') } const usersCollection = await users(); - const checkExist = await usersCollection.findOne({ email: email }) - if (checkExist) { - throw `User already exists with that email ${email}` - } - let hashedPassword = await bcrypt.hash(password, saltRounds); + let newUser = { basicInfo: { lastName: basicInfo.lastName, @@ -70,7 +64,7 @@ module.exports = { street: "", zipCode: "" }, - password: hashedPassword, + password: password, shoppingCart: [], wishList: [], reviews: [], @@ -81,7 +75,6 @@ module.exports = { if (insertInfo.insertedCount === 0) throw 'Could not add user.'; const newId = insertInfo.insertedId; const user = await this.getUserById(newId); - console.log("User has been added:",user) return user; }, async removeUser(id) { diff --git a/package-lock.json b/package-lock.json index 19177e9..68a7001 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,11 +4,6 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -18,25 +13,6 @@ "negotiator": "0.6.2" } }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -52,15 +28,6 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, - "bcrypt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-4.0.1.tgz", - "integrity": "sha512-hSIZHkUxIDS5zA2o00Kf2O5RfVbQ888n54xQoF/eIaquU4uaLxK8vhhBdktd0B3n2MjkcAWzv4mnhogykBKOUQ==", - "requires": { - "node-addon-api": "^2.0.0", - "node-pre-gyp": "0.14.0" - } - }, "bl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.0.tgz", @@ -106,16 +73,6 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -127,11 +84,6 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, "content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", @@ -175,11 +127,6 @@ "ms": "2.0.0" } }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", @@ -188,11 +135,6 @@ "object-keys": "^1.0.12" } }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, "denque": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/denque/-/denque-1.4.1.tgz", @@ -208,11 +150,6 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -313,14 +250,6 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "requires": { - "minipass": "^2.6.0" - } - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -331,21 +260,6 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, "glob": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", @@ -381,11 +295,6 @@ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, "http-errors": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", @@ -413,14 +322,6 @@ "safer-buffer": ">= 2.1.2 < 3" } }, - "ignore-walk": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "requires": { - "minimatch": "^3.0.4" - } - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -435,24 +336,11 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" - }, "ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -510,31 +398,6 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, "mongodb": { "version": "3.5.5", "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.5.5.tgz", @@ -553,31 +416,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, - "needle": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.4.1.tgz", - "integrity": "sha512-x/gi6ijr4B7fwl6WYL9FwlCvRQKGlUNvnceho8wxkwXqN8jvVmmmATTmZPRRG7b/yC1eode26C2HO9jl78Du9g==", - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", @@ -588,81 +426,6 @@ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" }, - "node-addon-api": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.0.tgz", - "integrity": "sha512-ASCL5U13as7HhOExbT6OlWJJUV/lLzL2voOSP1UVehpRD8FbSrSDjfScK/KwAvVTI5AS6r4VwbOMlIqtvRidnA==" - }, - "node-pre-gyp": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz", - "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - } - }, - "nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", - "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" - }, - "npm-packlist": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -695,25 +458,6 @@ "wrappy": "1" } }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -772,17 +516,6 @@ "unpipe": "1.0.0" } }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -818,14 +551,6 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, "safe-buffer": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", @@ -845,11 +570,6 @@ "sparse-bitfield": "^3.0.3" } }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -893,21 +613,11 @@ "send": "0.17.1" } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, "setprototypeof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -927,16 +637,6 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -952,33 +652,6 @@ } } }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - }, - "tar": { - "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, "toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", @@ -994,13 +667,12 @@ } }, "uglify-js": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.8.1.tgz", - "integrity": "sha512-W7KxyzeaQmZvUFbGj4+YFshhVrMBGSg2IbcYAjGWGvx8DHvJMclbTDMpffdxFUGPBHjIytk7KJUR/KUXstUGDw==", + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.1.tgz", + "integrity": "sha512-JUPoL1jHsc9fOjVFHdQIhqEEJsQvfKDjlubcCilu8U26uZ73qOg8VsN8O1jbuei44ZPlwL7kmbAdM4tzaUvqnA==", "optional": true, "requires": { - "commander": "~2.20.3", - "source-map": "~0.6.1" + "commander": "~2.20.3" } }, "unpipe": { @@ -1023,14 +695,6 @@ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "requires": { - "string-width": "^1.0.2 || 2" - } - }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", @@ -1040,11 +704,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } } diff --git a/package.json b/package.json index 97784e7..0ff4246 100644 --- a/package.json +++ b/package.json @@ -21,9 +21,9 @@ }, "homepage": "https://github.com/Liz79/CS546_FinalProject#readme", "dependencies": { - "bcrypt": "^4.0.1", "express": "^4.17.1", "express-handlebars": "^4.0.3", + "handlebars": "^4.7.6", "mongodb": "^3.5.5" } } diff --git a/public/backup.css b/public/backup.css new file mode 100644 index 0000000..7f01204 --- /dev/null +++ b/public/backup.css @@ -0,0 +1,125 @@ +.top-menu> { + height: 100px; + display: inline-block; + text-align: center; + padding: 0 0.3rem; + text-align:center; + float: right; + } + + /*form of the login page */ + form { + border: 3px solid #f1f1f1; + } + + /* Full-width inputs */ + input[type=text], input[type=password], [type=date] { + width: 100%; + padding: 12px 20px; + margin: 8px 8px; + display: inline-block; + border: 1px solid #ccc; + /* box-sizing: border-box; */ + } + + #name-box { + display: flex; + width: 100%; + text-align:center; + /* margin: 0 auto; */ + /* position: relative; */ + /* flex-flow: column wrap; */ + } + + /* login button */ + button { + background-color: rgb(162, 189, 120); + color: white; + padding: 14px 20px; + margin: 8px 8px; + border: none; + cursor: pointer; + width: 100%; + display: inline-block; + } + + .button-group { + display: flex; + } + + /* Add a hover effect for buttons */ + + button:hover { + opacity: 0.8; + } + + /* Extra style for the cancel button (red) */ + + .cancelbtn { + background-color: rgb(224, 79, 79); + } + + /* Add padding to containers */ + + .container { + width: 30%; + margin-left: 35%; + margin-right: 35%; + padding: 16px; + } + + /* .button-group { + display: block; + padding: 10px 18px; + width: 70%; + } */ + + /* The "Forgot password" text */ + + span.psw { + float: right; + padding-top: 16px; + } + .topbar{ + color:white; + text-align:center; + background-color: rgb(39, 38, 111); + margin: 0; + } + .navbar{ + /* background-color: #f1f1f1; */ + background-color: rgb(39, 38, 111); + color:rgb(153, 83, 83); + margin = 0; + justify-content:flexend; + margin: 0; + } + + + .nav-item{ + color: white; + background-color: rgb(39, 38, 111); + font-family: monospace; + font-weight:bold; + text-align:center; + border-style: solid; + float:right; + /* display:block; */ + font-size:20px; + } + .p{ + color:white; + } + .a{ + color:white; + } + a:hover{ + color:black; + } + + #grocery{ + text-decoration-color: white; + } + + + \ No newline at end of file diff --git a/public/style.css b/public/header.css similarity index 56% rename from public/style.css rename to public/header.css index f88140e..129444c 100644 --- a/public/style.css +++ b/public/header.css @@ -1,38 +1,69 @@ -.top-menu> { - /* height: 100px; */ - /* display: inline-block; */ - /* font-size: 2rem; */ - overflow: hidden; +*{ + padding:0; + margin:0; + text-decoration: none; + list-style:none; + box-sizing:border-box; + +} +body{ + font-family:montserrat; } -header { - border-bottom: 10px solid black; +nav{ + background:rgb(39, 38, 111); + height:35px; + width:100%; } -.top-menu a { - font-size: 150%; - float: right; - text-align: center; - padding: 14px 16px; - text-decoration: none; - font-size: 17px; +label.logo{ + color:white; + font-size:35px; + line-height:80px; + padding: 0 100px; + font-weight:bold; } -#errormessage{ - font-size: 200%; - color: red; - text-align: center; + +nav ul{ + float:right; + margin-right:20px; +} + +nav ul li{ + display:inline-block; + line-height:80px; + margin: 0 5px; +} + +nav ul li a{ + color:white; + font-size:17px; + padding:7px 13px; + border-radius:3px ; + text-transform:uppercase; } -.logo { - font-size: 200%; +a.active,a:hover{ + background-color:rgb(50, 48, 141); + transition: .5s; } +/* login.css */ + +.top-menu> { + height: 100px; + display: inline-block; + text-align: center; + padding: 0 0.3rem; + text-align:center; +} + +/*form of the login page */ form { border: 3px solid #f1f1f1; } /* Full-width inputs */ - input[type=text], input[type=password], [type=date] { width: 100%; padding: 12px 20px; @@ -42,23 +73,18 @@ input[type=text], input[type=password], [type=date] { /* box-sizing: border-box; */ } -hr { - border: 2px solid gray; - border-radius: 2px; -} - #name-box { display: flex; width: 100%; + text-align:center; /* margin: 0 auto; */ /* position: relative; */ /* flex-flow: column wrap; */ } -/* Set a style for all buttons */ - +/* login button */ button { - background-color: rgb(162, 189, 120); + background-color: rgb(50, 48, 141); color: white; padding: 14px 20px; margin: 8px 8px; @@ -101,7 +127,4 @@ button:hover { /* The "Forgot password" text */ -span.psw { - float: right; - padding-top: 16px; -} \ No newline at end of file + diff --git a/public/js/signupChecker.js b/public/js/signupChecker.js deleted file mode 100644 index 676cc11..0000000 --- a/public/js/signupChecker.js +++ /dev/null @@ -1,35 +0,0 @@ -$('#signupForm').submit((event) => { - event.preventDefault(); - $('#errormessage').hide(); - console.log($('#psw-repeat').val(), $('#psw').val()) - // console.log($('#signupForm').serialize()) - if ($('#psw-repeat').val() != $('#psw').val()) { - $('#errormessage').text("Password doesn't match!") - $('#errormessage').show(); - } else { - $.post($('#signupForm').attr('action'), $('#signupForm').serialize()) - .done(function (response) { - window.location.href = '/mainpage'; - // $.redirect('/mainpage', {}); - }) - .fail(function (jqXHR, textStatus, errorThrown) { - $('#errormessage').text(JSON.parse(jqXHR.responseText).errormessage); - // alert(jqXHR.responseText) - $('#errormessage').show(); - }); - // $.ajax({ - // url: $('#signupForm').attr('action'), - // type: 'POST', - // data: $('#signupForm').serialize(), - - // success: function (result) { - // window.location.href = '/mainpage' - // }, - // error: function (jqXHR, textStatus, errorThrown) { - // $('#errormessage').text(JSON.parse(jqXHR.responseText).errormessage); - // // alert(jqXHR.responseText) - // $('#errormessage').show(); - // } - // }); - } -}); diff --git a/public/login.css b/public/login.css new file mode 100644 index 0000000..e69de29 diff --git a/routes/users.js b/routes/users.js index ff5b5ac..bed1f0b 100644 --- a/routes/users.js +++ b/routes/users.js @@ -110,12 +110,11 @@ router.post("/signup", async (req, res) => { new_user = await usersData.addUser(basicInfo, email, psw) } catch (e) { console.log(e) - // res.status(400).render("pages/signup", { errormessage: e }) - res.status(400).send({ errormessage: e })//"pages/signup", + res.status(400).render("pages/signup", { errormessage: "What happened." }) return } console.log(`Registration successed.`) - // res.status(200).render("pages/mainpage") + res.status(200).render("pages/mainpage", {}) }); router.put("/:id", async (req, res) => { diff --git a/views/layouts/main.hbs b/views/layouts/main.hbs index b9d42f9..a17f79c 100644 --- a/views/layouts/main.hbs +++ b/views/layouts/main.hbs @@ -5,11 +5,14 @@ {{metaTags.title}} - + + - {{> header}} +
{{{body}}}
@@ -18,6 +21,5 @@ -{{!-- - - + + + + + \ No newline at end of file