Socket.IO Multi-Room Chat Application

Washington University in St. Louis, Fall 2024

Developed a comprehensive real-time chat application using Node.js and Socket.IO as part of Washington University in St. Louis’s CSE 503S: Rapid Prototyping and Creative Programming course. The application features advanced functionality including password-protected rooms, private messaging, and user moderation capabilities.

Key Features

  • Multi-room chat system with default “Lobby”
  • Password-protected private rooms
  • Room creator privileges (kick/ban functionality)
  • Private messaging between users
  • Message reply functionality
  • Persistent nickname storage using localStorage
  • User room history tracking
  • Customizable interface styling

Technical Architecture

Core components include:

  • Server implementation using Node.js and Socket.IO
  • HTML5/CSS3 web client interface
  • Client-side JavaScript logic
  • Real-time bidirectional event-based communication
  • Local storage integration for user preferences

Implementation Details

The system implements several key features:

  • Real-time message broadcasting within rooms
  • User authentication and authorization
  • Room management system
  • Private messaging protocol
  • User moderation controls
  • Responsive web design

Skills/Technologies

  • Node.js
  • Socket.IO
  • JavaScript (ES6+)
  • HTML5
  • CSS3
  • Real-time Communication
  • Web Development
  • User Authentication
  • Session Management
  • Version Control (Git)