This project is a full-stack real-time chat server built using Node.js and Socket.IO, enabling both private and group communication between users. The system supports live messaging with instant updates, allowing users to join chat rooms, create private groups, and engage in secure one-on-one conversations.
Every user has a unique name and session, and the system dynamically manages connected clients while handling edge cases like duplicate usernames or sudden disconnections. The backend includes validation for messages, group creation logic, and efficient real-time data broadcasting through WebSocket channels.
Users can interact in global rooms or initiate private chats, with messages color-coded and styled based on message type and destination. Group chats are customizable and can be created or deleted on demand. Special alerts notify users when someone joins or exits a session, and a built-in chat-clearing feature gives control over personal message history for privacy.
The project’s infrastructure allows scalability and fast client-server communication using a custom Express-based HTTP API, lightweight database support using SQLite, and Socket.IO’s event-based architecture. The interface was designed to provide real-time feedback, minimal delay, and intuitive UI for maximum usability in small group or classroom-based setups.