Socket.IO Multi-Room Chat Application

Washington University in St. Louis — Fall 2024

ChatSphere is a real-time, multi-room chat application built for Washington University's CSE 503S course to demonstrate bidirectional, event-driven communication. Users can join multiple lobbies — some password-protected — send group and private messages with persistent history, and reply in threads for contextual discussion.

The app pairs a Node.js/Express backend with Socket.IO 4.x for real-time messaging, and a vanilla HTML5/ES6 JavaScript frontend. It also includes typing indicators, online presence, toast and audio notifications, emoji shortcodes, auto-linked URLs, message deletion, and admin moderation tools (kick/ban), all backed by in-memory storage.

Highlights

  • Multi-room chat with optional password-protected lobbies
  • Private messaging with persistent conversation history and threaded replies
  • Typing indicators, presence, and toast/audio notifications
  • Admin moderation tools (kick/ban) and message deletion

Technologies Applied

Node.jsSocket.IOJavaScriptHTMLCSSReal-time CommunicationWeb DevelopmentAuthenticationGit