app.js 1.59 KB
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var session = require('express-session');
var mongoose = require('mongoose');
var passport = require('passport');

//DB연결
//mongoose.connect('mongodb://00:00@0.0.0.0/0');
mongoose.connect('mongodb://00:00@0.0.0.0/0');
mongoose.Promise = global.Promise;
var db = mongoose.connection;

//연결실패
db.on('error', function()
{
    console.log('Connection Failed!');
});

//연결 성공
db.once('open', function()
{
    console.log('Connected!');
});

// DB모델정의
var Users = require('./models/users');
var Timetables = require('./models/timetables');

// Client-Browser와의 공유
app.use("/static", express.static("public"));

// session
app.use(session({
    secret: 'keyboard cat',
    resave: false,
    saveUninitialized: true
}));

// passport setting
require('./passport')(passport);
app.use(passport.initialize());
app.use(passport.session()); //로그인 세션 유지
// 주의! passport.session을 사용하기 전에 app.use(session(~))설정을 해줘야 한다.
// 그렇지 않으면 passport가 session을 사용하지 못한다.
// app.use는 동기식으로 작동하기 때문에 순서에 유의해야한다.


// ejs사용
// json사용설정
app.set('view engine','ejs');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));

// router import
var router = require('./routing')(app, Users, Timetables);

var server = app.listen(23023, function()
{
    var host = server.address().address;
    var port = server.address().port;
    console.log("http://%s:%s",host, port);
});