A multi-room chat server using Node.JS and Socket.IO
- Users can create chat rooms with an arbitrary room name
- Users can join an arbitrary chat room
- The chat room displays all users currently in the room
- A private room can be created that is password protected
- Creators of chat rooms can temporarily kick others out of the room
- Creators of chat rooms can permanently ban users from joining that particular room
- A user's message shows their username and is sent to everyone in the room
- Users can send private messages to another user in the same room
- Error handling for various parts of the app
- Bootstrap for the UI
- View Profile Page (profile, username, messages sent, banned rooms, rooms created)
- "Sent at" feature (when you hover over a message)
- "Is typing" feature that shows if another user is typing