This is a lightweight real-time chat application built using raw WebSockets with Node.js and TypeScript. The system is designed to manage dynamic chat rooms and provides a voting mechanism for messages.
-
🔧 Admin Features:
- Create chat rooms with:
- Custom name
- Start time
- Cool down time
- Open/Close control
- Create chat rooms with:
-
👥 User Features:
- Join rooms and participate in real-time chat
- Send and receive messages live
- Upvote messages to mark importance
-
📈 Message Promotion:
- Messages with >3 upvotes → moved to a "highlighted" section
- Messages with >10 upvotes → admin gets notified
- Node.js for server-side logic
- WebSocket for real-time communication
- TypeScript for type-safe development
- Webpack for bundling
- Karma + Jasmine for testing
- Zod for runtime schema validation
- Docker for containerization