Skip to content

Instantly share code, notes, and snippets.

@clouddueling
Created June 19, 2014 23:53
Show Gist options
  • Save clouddueling/223dd39daf08b993c765 to your computer and use it in GitHub Desktop.
Save clouddueling/223dd39daf08b993c765 to your computer and use it in GitHub Desktop.

Revisions

  1. clouddueling created this gist Jun 19, 2014.
    42 changes: 42 additions & 0 deletions server.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,42 @@

    // set up ======================================================================
    // get all the tools we need
    var express = require('express');
    var app = express();
    var port = process.env.PORT || 3001;
    var mongoose = require('mongoose');
    var passport = require('passport');
    var flash = require('connect-flash');
    var logger = require('morgan');
    var cookieParser = require('cookie-parser');
    var bodyParser = require('body-parser');
    var exphbs = require('express3-handlebars');
    var session = require('express-session');

    var configDB = require('./config/database.js');

    // configuration ===============================================================
    mongoose.connect(configDB.url); // connect to our database

    // require('./config/passport')(passport); // pass passport for configuration

    // set up our express application
    app.use(logger('dev')); // log every request to the console
    app.use(cookieParser()); // read cookies (needed for auth)
    app.use(bodyParser()); // get information from html forms

    app.engine('handlebars', exphbs({defaultLayout: 'main'}));
    app.set('view engine', 'handlebars');

    // required for passport
    app.use(session({ secret: 'ilovescotchscotchyscotchscotch' })); // session secret
    app.use(passport.initialize());
    app.use(passport.session()); // persistent login sessions
    app.use(flash()); // use connect-flash for flash messages stored in session

    // routes ======================================================================
    require('./app/routes.js')(app, passport); // load our routes and pass in our app and fully configured passport

    // launch ======================================================================
    app.listen(port);
    console.log('The magic happens on port ' + port);