The purpose of this application is for you to learn to implement pubsub practically. As when I started with XMPP there were really not much resources to learn. I somehow learnt it the hard way. This is the application I wanted to see when I wanted to learn about xmpp in general.
Prerequisites You will need to have an xmpp server running see ejabbers.server.setup to learn how.
After you followed steps ejabbers.server.setup.README.md you can run yarn start to run the application
Additional Notes It is more prudent and time saving to use the services of other providers such as firebase to implement pubsub then to do it by yourself as a professional level pubsub implementation takes a lot of time and effort to build it.
Messsaging MongooseIM is also an XMPP based MUC project that might be helpful to look into.