|
|
|
const app = require('express')()
|
|
|
|
const server = require('http').createServer(app);
|
|
|
|
const bodyParser = require('body-parser');
|
|
|
|
const chalk = require('chalk')
|
|
|
|
const cors = require('cors')
|
|
|
|
const history = require('connect-history-api-fallback');
|
|
|
|
const rateLimit = require('express-rate-limit');
|
|
|
|
|
|
|
|
require('./services/socket')(server);
|
|
|
|
require('./connections/mongo_conn');
|
|
|
|
|
|
|
|
const dataRoute = require('./routes/data')
|
|
|
|
const authRoute = require('./routes/auth')
|
|
|
|
|
|
|
|
const passport = require('./services/passport');
|
|
|
|
const {session_secret} = require('./config/keys');
|
|
|
|
|
|
|
|
app.use(cors(
|
|
|
|
{
|
|
|
|
origin: ['http://localhost:8080'],
|
|
|
|
credentials: true
|
|
|
|
}
|
|
|
|
));
|
|
|
|
|
|
|
|
app.use(rateLimit({
|
|
|
|
windowMs: 15 * 60 * 1000,
|
|
|
|
max: 100
|
|
|
|
}));
|
|
|
|
|
|
|
|
app.use(bodyParser.urlencoded({
|
|
|
|
extended: true
|
|
|
|
}));
|
|
|
|
|
|
|
|
app.use(
|
|
|
|
require('cookie-session')({
|
|
|
|
keys: [session_secret],
|
|
|
|
maxAge: 30 * 24 * 60 * 60 * 1000
|
|
|
|
})
|
|
|
|
);
|
|
|
|
|
|
|
|
app.use(passport.initialize(undefined));
|
|
|
|
app.use(passport.session(undefined));
|
|
|
|
|
|
|
|
app.use(dataRoute)
|
|
|
|
app.use(authRoute)
|
|
|
|
|
|
|
|
app.use(history({
|
|
|
|
verbose: true
|
|
|
|
}));
|
|
|
|
|
|
|
|
const PORT = process.env.PORT || 8000;
|
|
|
|
server.listen(PORT, () => console.log(chalk.green.bold(`Server listening on port ${PORT}!`)));
|