-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
51 lines (45 loc) · 1.26 KB
/
server.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
import mongoose from 'mongoose';
import http from 'http';
import { Server } from 'socket.io';
import app from './src/app';
import logger from './src/helpers/logger';
import timerService from './src/services/timerService';
const {
MONGO_CONNECTION_TYPE,
MONGO_REMOTE_URI,
MONGO_USERNAME,
MONGO_PASSWORD,
MONGO_HOSTNAME,
MONGO_INITDB_DATABASE,
} = process.env;
const { CLIENT_HOME_PAGE_URL } = process.env;
const port = process.env.API_PORT || 5050;
const MONGO_LOCAL_URI = `mongodb://${MONGO_USERNAME}:${MONGO_PASSWORD}@${MONGO_HOSTNAME}:27017/${MONGO_INITDB_DATABASE}`;
const server = http.Server(app);
const io = new Server(server, {
cors: {
// origin: 'http://localhost:3006',
origin: CLIENT_HOME_PAGE_URL,
},
});
// Initate timer server
timerService(io);
const getMongoURI = () => {
switch (MONGO_CONNECTION_TYPE) {
case 'remote':
return MONGO_REMOTE_URI;
case 'local':
return MONGO_LOCAL_URI;
default:
return MONGO_LOCAL_URI;
}
};
const MONGOURI = getMongoURI();
// Connect to db
mongoose.connect(MONGOURI).then(() => logger
.info('MongoDB successfully connected'))
.catch((err) => logger.error(`MongoDB connection failed: ${err}`));
// Start the server
server.listen(port, () => {
logger.info(`Server started on port ${server.address().port}`);
});