A WebSocket-based chat application demonstrating multiplexing, user identification, and message persistence.
- ✅ Real-time messaging with WebSocket multiplexing
- ✅ User identification with persistent usernames
- ✅ Online user tracking and presence notifications
- ✅ Message persistence across server restarts
- ✅ Modern UI with responsive design
- ✅ Comprehensive testing suite
npm install
npm startOpen http://localhost:3000 in multiple browser tabs to test real-time chat.
Experience WebSocket multiplexing in action:
node multiplexing-demo.jsSee MULTIPLEXING_GUIDE.md for technical details.
npm test6 comprehensive tests covering message broadcasting, user presence, persistence, and validation.
src/
├── server.js # WebSocket server with multiplexing
├── public/index.html # Chat client interface
└── test/chat.test.js # Test suite
multiplexing-demo.js # Live multiplexing demonstration
MULTIPLEXING_GUIDE.md # Technical multiplexing guide
- Backend: Node.js, Express, Socket.IO
- Frontend: HTML5, CSS3, Vanilla JavaScript
- Persistence: File-based JSON storage
- Testing: Node.js built-in assert module