09open source
Chat-Me
Real-time messaging app. React 18 + Express + MongoDB + Socket.IO + TypeScript. Channels, presence, typing indicators.
Open the repo
09open source
Real-time messaging app. React 18 + Express + MongoDB + Socket.IO + TypeScript. Channels, presence, typing indicators.
Open the repo
Chat-Me is a real-time messaging application built around Socket.IO. The frontend is React 18 with TypeScript; the backend is Express + MongoDB. The real-time layer is Socket.IO with rooms per channel and per direct-message thread, so a single socket connection serves multiple conversations.
The interesting parts are the boring ones: presence (who’s online, with an idle timeout and a heartbeat that survives reconnection), typing indicators (debounced server-side so a fast typist does not flood the channel), and read receipts (driven by the last-seen cursor on each thread, not by an “unread_count” counter that can drift).
Message history is paginated and indexed by channel