Organizing Socket.IO applications

Now that we have a chat lobby on the index page of our application, it's a bit odd that users have to reload the page (and lose the chat history) to find out about new games. We can use Socket.IO to update these as well.

Exposing real-time updates to the model

First, we'll need our games service itself to expose events for when games are added or removed. Here we use the Mongoose-provided post method to hook into persistence operations on games as given here src/services/games.js:

'use strict';

const EventEmitter = require('events');
const emitter = new EventEmitter(); module.exports = (mongoose) => { let Game = mongoose.models['Game']; if (!Game) { let Schema = mongoose.Schema; let gameSchema = new Schema({ word: ...

Get Learning Node.js for .NET Developers now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.