Lee Morgan vor 6 Jahren
Ursprung
Commit
cf7ff33cc5
5 geänderte Dateien mit 86 neuen und 3 gelöschten Zeilen
  1. 27 0
      README.md
  2. 7 0
      app.js
  3. 5 1
      controllers/home.js
  4. 45 0
      package-lock.json
  5. 2 2
      package.json

+ 27 - 0
README.md

@@ -0,0 +1,27 @@
+# Subline Inventory Management
+
+Subline Inventory Management is a system for companies to track, update and manage their
+inventory in real time.  It is also a tool for gathering and analyzing data on inventory
+in order to better manage future costs and reduce food waste for restaurants.
+
+# Getting Started
+
+1. Install MongoDB
+    https://docs.mongodb.com/manual/installation/
+
+2. Ensure node is installed.  Install if not.  Version 10 or higher.
+    $ node --version
+    https://nodejs.org/en/
+
+3. $ git clone https://github.com/The-Subline/Inventory-Management.git
+
+4. $ npm install
+
+5. $ npm install -g nodemon (only if you are developing or adding code)
+
+6. $ sudo service mongod start
+
+7. $ nodemon app.js (if developing)
+   $ node app.js (to view)
+
+8. Open a browser and go to 'localhost:8000'

+ 7 - 0
app.js

@@ -1,4 +1,5 @@
 const express = require("express");
+const session = require("express-session");
 const mongoose = require("mongoose");
 
 const app = express();
@@ -7,6 +8,12 @@ mongoose.connect("mongodb://localhost/InventoryManagement", {useNewUrlParser: tr
 
 app.set("view engine", "ejs");
 
+app.use(session({
+    secret: "Super Secret Subline",
+    cookie: {secure: false},
+    saveUninitialized: true,
+    resave: false
+}));
 app.use(express.static(__dirname + "/views"));
 app.use(express.urlencoded({extended: true}));
 app.use(express.json());

+ 5 - 1
controllers/home.js

@@ -1,4 +1,5 @@
 const axios = require("axios");
+// const session = require("express-session");
 
 const Merchant = require("../models/merchant");
 const Ingredient = require("../models/ingredient");
@@ -173,7 +174,6 @@ module.exports = {
         Merchant.findOne({posId: merchantId})
             .populate("recipes.ingredients.ingredient")
             .then((merchant)=>{
-                console.log(merchant.recipes[0].ingredients);
                 return res.render("recipesPage/recipes", {merchant: merchant});
             })
             .catch((err)=>{
@@ -267,5 +267,9 @@ module.exports = {
                 console.log(err);
                 return res.render("error");
             });
+    },
+
+    demoLogin: function(req, res){
+        return res.render("loginPage/login");
     }
 }

+ 45 - 0
package-lock.json

@@ -627,6 +627,33 @@
         "vary": "~1.1.2"
       }
     },
+    "express-session": {
+      "version": "1.17.0",
+      "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.0.tgz",
+      "integrity": "sha512-t4oX2z7uoSqATbMfsxWMbNjAL0T5zpvcJCk3Z9wnPPN7ibddhnmDZXHfEcoBMG2ojKXZoCyPMc5FbtK+G7SoDg==",
+      "requires": {
+        "cookie": "0.4.0",
+        "cookie-signature": "1.0.6",
+        "debug": "2.6.9",
+        "depd": "~2.0.0",
+        "on-headers": "~1.0.2",
+        "parseurl": "~1.3.3",
+        "safe-buffer": "5.2.0",
+        "uid-safe": "~2.1.5"
+      },
+      "dependencies": {
+        "depd": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+          "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
+        },
+        "safe-buffer": {
+          "version": "5.2.0",
+          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
+          "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
+        }
+      }
+    },
     "extend-shallow": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
@@ -1960,6 +1987,11 @@
         "ee-first": "1.1.1"
       }
     },
+    "on-headers": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
+      "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="
+    },
     "p-finally": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
@@ -2055,6 +2087,11 @@
       "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
       "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
     },
+    "random-bytes": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz",
+      "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs="
+    },
     "range-parser": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
@@ -2576,6 +2613,14 @@
         "mime-types": "~2.1.24"
       }
     },
+    "uid-safe": {
+      "version": "2.1.5",
+      "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz",
+      "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==",
+      "requires": {
+        "random-bytes": "~1.0.0"
+      }
+    },
     "undefsafe": {
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.2.tgz",

+ 2 - 2
package.json

@@ -20,7 +20,7 @@
     "axios": "^0.19.0",
     "ejs": "^2.7.1",
     "express": "^4.17.1",
-    "mongoose": "^5.7.4",
-    "nodemon": "^1.19.3"
+    "express-session": "^1.17.0",
+    "mongoose": "^5.7.4"
   }
 }