import mongoose from 'mongoose'; import Promise from 'bluebird'; import './src/types'; import app from './src/app'; mongoose.Promise = Promise; const PORT = process.env.PORT || 3030; const MONGODB_URL = process.env.MONGODB_URI || 'mongodb://localhost:27017/commercel'; const { MONGODB_USER, MONGODB_PASSWORD } = process.env; mongoose.connect(MONGODB_URL, { user: MONGODB_USER, pass: MONGODB_PASSWORD, useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false, family: 4 // Use IPv4, skip trying IPv6 }); const db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', () => { console.log('Connection to MongoDB successful'); }); // Add any new real-time connection to the `everybody` channel app.on('connection', connection => app.channel('everybody').join(connection)); // Publish all events to the `everybody` channel app.publish(() => app.channel('everybody')); app.listen(PORT).on('listening', () => console.log(`Feathers server listening on localhost:${PORT}`));