-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
73 lines (55 loc) · 2.22 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
//Import Express
const express = require('express');
const cors = require("cors");
const mongoose = require("mongoose");
const passport = require('passport');
const path = require('path');
const config = require("./config");
try{
// define directory
global.__base = __dirname + '/';
// All code in your mongoose schema js files should have run before it is used in other files.
// For example, the following code snippet makes sure the mongoose schema files/modules are executed. https://stackoverflow.com/a/38970017/5385845
require("fs").readdirSync(__dirname + '/app/models').forEach( (file)=> {
if (~file.indexOf('.js')) require(__dirname + '/app/models/' + file);
});
// Initialize App
const app = express();
// View Engine
const handlebars = require('express-handlebars')
app.engine('.hbs', handlebars({
// layoutsDir: __dirname+'/views',
defaultLayout: 'main',
extname: '.hbs'
}))
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', '.hbs')
// app.use(express.static('./views'))
//cors
app.use(cors());
// Database configuration
mongoose.Promise = global.Promise;
mongoose.connect(config.mongoURI, {
useCreateIndex: true,
useNewUrlParser: true,
useUnifiedTopology: true
});
mongoose.connection.once('open', () => {
console.log('MongoDB Ready...')
}).on('error', (error) => console.log('Error connecting to MongoDB:', error));
app.use(express.json({limit:'50mb'}));
app.use(express.urlencoded({limit:'50mb', extended: false}));
// passport configuration
require('./app/config/passport');
app.use(passport.initialize());
// Send message for default route URL
const apiRoutes = require("./app/routes/index");
app.use('/api', apiRoutes);
app.use('/docs', express.static(__dirname + '/apidoc'));
// Launch app to listen to specified port
const port = config.port;
app.listen(port, () => { console.log("Running App on port " + port); });
//listener = app.listen(null, () => { console.log("Running App on port " + listener.address().port); });
}catch (err){
console.error("Error Starting Application...", err.message());
}