Added Passport.js authentication and improved chat