Like in any online multiplayer game, there is both a server and a client.
The Server is the game world itself. The server holds all information and interactions. In this case, it is also backed up by a database (MongoDB) that saves information, while the server is offline, and reduces the memory load from the server.
On the user's side, the Client organizes and displays the information from the server. The client lets the user send commands and messages to the server, which are interpreted by the server, to send back the required information. The client works only by requests, and cannot demand any action or information from the server.
The server code requires a careful faultless step-by-step logic for development and changes. However, working on a client is at the level of simple scripting, and allows much flexibility for the developer.