This project is a multi-room chat application built using Node.js and Socket.IO. It features password-protected rooms, private messaging, and user moderation capabilities. It was developed as part of Washington University in St. Louis's CSE 503: Rapid Prototyping and Creative Programming course.
- Multi-room chat support with a default "Lobby"
- Password protection for private rooms
- Room creator privileges (kick/ban users)
- Private messaging between users
- Persistent nickname storage using localStorage
- Message reply functionality
- User room history tracking
- Style customization via CSS
- socketio-chat-app/chat-server.js - Server implementation
- socketio-chat-app/client.html - Web client interface
- socketio-chat-app/client.js - Client-side logic
- socketio-chat-app/style.css - Application styling
- socketio-chat-app/package.json - Project dependencies
-
Clone the repository or download the files to your local machine.
-
Navigate to the project directory:
cd socketio-chat-app
-
Install the dependencies:
npm install
-
Start the server:
npm start
-
Open your browser and importantly, navigate to http://localhost:3456/client.html manually. You can open this URL in multiple tabs or windows to simulate multiple users.
- Set your nickname to join the chat (automatically remembered)
- You're already in the Lobby. You can create your own room with optional password protection
- Send messages in rooms or privately to other users
- Reply to specific messages
- Room creators can:
- Kick or ban users
- Manage room access
- Delete the room
- Node.js
- Socket.IO
- HTML5/CSS3
- JavaScript
Developed for CSE 503S at Washington University in St. Louis.