Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const express = require('express'),
- app = express(),
- path = require('path'),
- exphbs = require('express-handlebars'),
- methodOverride = require('method-override'),
- flash = require('connect-flash'),
- session = require('express-session'),
- bodyParser = require('body-parser'),
- mongoose = require('mongoose'),
- LocalStrategy = require("passport-local"),
- passport = require("passport"),
- mongodb = require("mongodb"),
- User = require("./models/User");
- // Load routes
- const ideas = require('./routes/ideas');
- const users = require('./routes/users');
- // Connect to mongoose
- mongoose.connect('mongodb://localhost/diaries');
- mongoose.Promise = Promise;
- // Handlebars Middleware
- app.engine('handlebars', exphbs({
- defaultLayout: 'main'
- }));
- app.set('view engine', 'handlebars');
- // Body parser middleware
- app.use(bodyParser.urlencoded({ extended: false }));
- app.use(bodyParser.json());
- // Static folder
- app.use(express.static(path.join(__dirname, 'public')));
- // Method override middleware
- app.use(methodOverride('_method'));
- // Express session midleware
- //PASSPORT CONFIGURATION
- app.use(require("express-session")({
- secret: "secret",
- 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());
- 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();
- });
- // Index Route
- app.get('/', (req, res) => {
- const title = 'Welcome';
- res.render('index', {
- title: title
- });
- });
- // About Route
- app.get('/about', (req, res) => {
- res.render('about');
- });
- // Use routes
- app.use('/ideas', ideas);
- app.use('/users', users);
- const port = process.env.PORT;
- app.listen(port, () => {
- console.log(`Server started on port ${port}`);
- });
- const mongoose = require('mongoose');
- const Schema = mongoose.Schema;
- const passportLocalMongoose = require("passport-local-mongoose");
- // Create Schema
- const UserSchema = new Schema({
- name:{
- type: String,
- required: true
- },
- email:{
- type: String,
- required: true
- },
- password:{
- type: String,
- required: true
- },
- date: {
- type: Date,
- default: Date.now
- }
- });
- UserSchema.plugin(passportLocalMongoose, {usernameField: "email"});
- mongoose.model('users', UserSchema);
Add Comment
Please, Sign In to add comment