// Import required libraries const express = require('express'); const expressLayouts = require('express-ejs-layouts'); const mongoose = require('mongoose'); const passport = require('passport'); const flash = require('connect-flash'); const session = require('express-session'); const fs = require('fs'); const bodyParser = require('body-parser'); const path = require('path'); require('dotenv/config'); const app = express(); // Passport Config require('./config/passport')(passport); // DB Config const db = require('./config/keys').mongoURI; // Connect to MongoDB mongoose.connect( db, { useNewUrlParser: true ,useUnifiedTopology: true} ) .then(() => console.log('MongoDB Connected')) .catch(err => console.log(err)); // EJS app.use(expressLayouts); app.set('view engine', 'ejs'); // Body parser app.use(bodyParser.urlencoded({ extended: false })) app.use(bodyParser.json()) // Express session app.use( session({ secret: 'secret', resave: true, saveUninitialized: true }) ); // Passport middleware app.use(passport.initialize()); app.use(passport.session()); // Connect flash app.use(flash()); // Global variables app.use(function(req, res, next) { res.locals.success_msg = req.flash('success_msg'); res.locals.error_msg = req.flash('error_msg'); res.locals.error = req.flash('error'); next(); }); // Routes app.use('/', require('./routes/index.js')); app.use('/users', require('./routes/users.js')); const PORT = process.env.PORT || 5000; // Start Server app.listen(PORT, console.log(`Server started on port ${PORT}`));