← Back to Portfolio
Real-Time Chat App

Project Overview
A Socket.IO-powered chat application supporting multiple rooms with real-time message delivery, secure authentication, and a persistent MongoDB-backed history so conversations survive reloads and reconnects.
Key Features
- Real-time messaging across multiple chat rooms via Socket.IO
- User registration and login with bcrypt-hashed passwords
- Persistent chat history stored in MongoDB via Mongoose
- Edit and delete controls for your own past messages
- Responsive dark-mode UI built with React and Material UI
Technical Challenges & Solutions
Keeping message edits/deletes and live delivery consistent across every connected client in a room. Solved by treating Socket.IO as the single source of truth for room state - the server persists to MongoDB first, then broadcasts the confirmed change, so clients never show an edit that failed to save.
Live Demo Visit Repository
Hosted on a free tier: the first load can take up to a minute while it wakes up.
Back to Projects