summaryrefslogtreecommitdiff
path: root/app.js
diff options
context:
space:
mode:
Diffstat (limited to 'app.js')
-rw-r--r--app.js79
1 files changed, 79 insertions, 0 deletions
diff --git a/app.js b/app.js
new file mode 100644
index 0000000..9dd7aae
--- /dev/null
+++ b/app.js
@@ -0,0 +1,79 @@
+const bodyParser = require("body-parser"),
+ methodOverride = require("method-override"),
+ mongoose = require("mongoose"),
+ express = require("express"),
+ busboy = require("connect-busboy"),
+ passport = require("passport"),
+ LocalStrategy = require("passport-local"),
+ flash = require("connect-flash"),
+ User = require("./models/user"),
+ app = express();
+
+// IMPORT ROUTES
+const indexRoutes = require('./routes/index'),
+ recipeRoutes = require('./routes/recipe'),
+ accountRoutes = require('./routes/account'),
+ catRoutes = require('./routes/cats'),
+ searchRoutes = require('./routes/search');
+
+// MongoDB
+mongoose.connect('mongodb://USER:PASSWORD@SERVER/DATABASE', {
+ useNewUrlParser: true,
+ useUnifiedTopology: true,
+ useFindAndModify: false,
+ useCreateIndex: true
+}).then(() => console.log(`Database connected`))
+.catch((err) => console.log(Error, err));
+
+// SETUP
+app.set("view engine", "ejs");
+app.use(express.static(__dirname + "/public"));
+app.use(bodyParser.urlencoded({ extended: true }));
+app.use(methodOverride("_method"));
+app.use(busboy());
+app.use(flash());
+
+//==========================================================
+// PASSPORT CONFIG
+//==========================================================
+app.use(
+ require("express-session")({
+ secret: "I am gonna be the pirate king",
+ resave: false,
+ saveUninitialized: false,
+ })
+);
+app.use(passport.initialize());
+app.use(passport.session());
+passport.use(new LocalStrategy(User.authenticate()));
+passport.serializeUser(User.serializeUser());
+passport.deserializeUser(User.deserializeUser());
+//----------------------------------------------------------
+
+// Current User and Flash Messages
+app.use((req, res, next) => {
+ res.locals.currentUser = req.user;
+ res.locals.error = req.flash('error');
+ res.locals.success = req.flash('success');
+ next();
+});
+
+// Routes
+app.use('/', indexRoutes);
+app.use('/recipe', recipeRoutes);
+app.use('/account', accountRoutes);
+app.use('/categories', catRoutes);
+app.use('/search', searchRoutes);
+
+// Listen
+app.listen(3000, () => {
+ console.log('Server started...');
+})
+
+//http.createServer(function (req, res) {
+// console.log('received request for url: ' + req.url);
+// res.writeHead(200, {'Content-Type': 'text/html'});
+// res.end();
+//}).listen(3000, () => {
+// console.log("Server started...");
+//})